top of page

How to Make Digital Celebration Gadget



Circuit:

Download Programming...


#include <Tone.h>


Tone solo;

Tone bass;

Tone rythm;


const int t = 600; // quater note duration

const int tt = t*2;

const int t14 = round(t*1/4);

const int t24 = round(t*2/4);

const int t34 = round(t*3/4);


const int bassLedPin = 15; // bass led signal pin (aka A1)

const int rythmLedPin = 17; // rythm led signal pin (aka A3)

const int soloLedPin = 19; // solo led signal pin (aka A5)


void wait(Tone t)

{

  while (t.isPlaying()) { }

}


int bassLedState = LOW;

void switchBassLed()

{

  if (bassLedState == LOW)

    bassLedState = HIGH;

  else

    bassLedState = LOW;

  digitalWrite(bassLedPin, bassLedState);

}


int rythmLedState = LOW;

void switchRythmLed()

{

  if (rythmLedState == LOW)

    rythmLedState = HIGH;

  else

    rythmLedState = LOW;

  digitalWrite(rythmLedPin, rythmLedState);

}


int soloLedState = LOW;

void switchSoloLed()

{

  if (soloLedState == LOW)

    soloLedState = HIGH;

  else

    soloLedState = LOW;

  digitalWrite(soloLedPin, soloLedState);

}




void setup(void)

{

  pinMode(14, OUTPUT); // led ground pin (aka A0)

  pinMode(16, OUTPUT); // led ground pin (aka A2)

  pinMode(18, OUTPUT); // led ground pin (aka A4)

  pinMode(bassLedPin, OUTPUT); // bass led signal pin

  pinMode(rythmLedPin, OUTPUT); // rythm led signal pin

  pinMode(soloLedPin, OUTPUT); // solo led signal pin


  pinMode(3, OUTPUT); // solo buzzer ground pin

  pinMode(9, OUTPUT); // rythm buzzer ground pin


  solo.begin(6); // solo buzzer signal pin

  bass.begin(12); // bass buzzer signal pin

  rythm.begin(0); // rythm buzzer signal pin


        solo.play(NOTE_D4, t34); switchSoloLed();

        wait(solo);

        solo.play(NOTE_D4, t14); switchSoloLed();

        wait(solo);

}




void loop(void)

{


bass.play(NOTE_G3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_E4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_B3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_D4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_D4, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_G4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);


bass.play(NOTE_D4, t); switchBassLed();

  rythm.play(NOTE_D5, t24); switchRythmLed();

        solo.play(NOTE_FS4, tt); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_FS5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_A5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_FS4, t); switchBassLed();

  rythm.play(NOTE_D5, t24); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_FS5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_A5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_A4, t); switchBassLed();

  rythm.play(NOTE_D5, t24); switchRythmLed();

        solo.play(NOTE_D4, t34); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_FS5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_A5, t14); switchRythmLed();

        solo.play(NOTE_D4, t14); switchSoloLed();

        wait(rythm);


bass.play(NOTE_D4, t); switchBassLed();

  rythm.play(NOTE_D5, t24); switchRythmLed();

        solo.play(NOTE_E4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_FS5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_A5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_FS4, t); switchBassLed();

  rythm.play(NOTE_D5, t24); switchRythmLed();

        solo.play(NOTE_D4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_FS5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_A5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_A4, t); switchBassLed();

  rythm.play(NOTE_D5, t24); switchRythmLed();

        solo.play(NOTE_A4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_FS5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_A5, t14); switchRythmLed();

        wait(rythm);



bass.play(NOTE_G3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_G4, tt); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_B3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_D4, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_D4, t34); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        solo.play(NOTE_D4, t14); switchSoloLed();

        wait(rythm);


bass.play(NOTE_G3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_D5, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_B3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_B4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_D4, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_G4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);


bass.play(NOTE_C4, t); switchBassLed();

  rythm.play(NOTE_C5, t24); switchRythmLed();

        solo.play(NOTE_FS4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_E5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_G5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_E4, t); switchBassLed();

  rythm.play(NOTE_C5, t24); switchRythmLed();

        solo.play(NOTE_E4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_E5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_G5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_G4, t); switchBassLed();

  rythm.play(NOTE_C5, t24); switchRythmLed();

        solo.play(NOTE_C5, t34); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_E5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_G5, t14); switchRythmLed();

        solo.play(NOTE_C5, t14); switchSoloLed();

        wait(rythm);


bass.play(NOTE_G3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_B4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_D3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_G4, t); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_FS3, t); switchBassLed();

  rythm.play(NOTE_D5, t24); switchRythmLed();

        solo.play(NOTE_A4, t); switchSoloLed();

        wait(rythm);

        wait(rythm);

  rythm.play(NOTE_FS5, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_A5, t14); switchRythmLed();

        wait(rythm);


bass.play(NOTE_G3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        solo.play(NOTE_G4, tt); switchSoloLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

bass.play(NOTE_B3, t); switchBassLed();

  rythm.play(NOTE_G4, t24); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_B4, t14); switchRythmLed();

        wait(rythm);

  rythm.play(NOTE_D5, t14); switchRythmLed();

        wait(rythm);

        solo.play(NOTE_D4, t34); switchSoloLed();

        wait(solo);

        solo.play(NOTE_D4, t14); switchSoloLed();

        wait(solo);


}




Demo Video:


13 views0 comments

Recent Posts

See All
bottom of page