Ipoduino Code
Ipoduino Code
h"
#define SPEAKER 5
#define POWER 2
#define BUTTON1 A0
#define BUTTON2 A1
#define BUTTON3 A2
#define R 8
#define G 9
#define B 10
#define POT A3
int NOTE_DUR = 50; // Was 137
void setup() {
pinMode(POWER, OUTPUT);
pinMode(SPEAKER, OUTPUT);
pinMode(BUTTON1, INPUT);
pinMode(BUTTON2, INPUT);
pinMode(BUTTON3, INPUT);
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
pinMode(POT, INPUT);
Serial.begin(9600);
}
void giantsteps() {
int giantsteps[200][2] = { {NOTE_CS4, 2}, {NOTE_E4, 2}, {NOTE_GS4, 2},
{NOTE_B4, 2}, {NOTE_AS4, 6}, {NOTE_GS4, 2}, {NOTE_FS4, 2}, {NOTE_DS4, 2},
{NOTE_B3, 4}, // 9
{NOTE_D4, 2},{NOTE_E4, 2}, {NOTE_FS4, 2}, {NOTE_A4, 2}, {NOTE_G4, 2},
{NOTE_D4, 2}, {NOTE_B3, 2}, {NOTE_G3, 2}, {NOTE_C4, 2}, {NOTE_GS3, 2},
{NOTE_G3, 2},
{NOTE_F3, 2},{NOTE_DS3, 2},{NOTE_F3, 2}, {NOTE_G3, 2}, {NOTE_GS3, 2},
{NOTE_AS3, 2},{NOTE_C4, 2}, {NOTE_D4, 2}, {NOTE_F4, 2}, {NOTE_E4, 2},
{NOTE_C4, 2},
{NOTE_A3, 2},{NOTE_G3, 2}, {NOTE_FS3, 2}, {NOTE_DS4, 2},{NOTE_D4, 2},
{NOTE_C4, 2}, {NOTE_B3, 2}, {NOTE_D4, 2}, {NOTE_G4, 2}, {NOTE_B4, 2},
{NOTE_D4, 2},
{NOTE_F4, 2},{NOTE_GS4, 2},{NOTE_C5, 2}, {NOTE_DS4, 2},{NOTE_F4, 2},
{NOTE_G4, 2}, {NOTE_AS4, 2}, {NOTE_E4, 2}, {NOTE_GS4, 2}, {NOTE_AS4, 2},
{NOTE_CS4, 2},
{NOTE_AS4,4},{NOTE_GS4, 2},{NOTE_FS4, 6}, {0, 4}, {NOTE_AS4, 2},
{NOTE_A4, 2}, {NOTE_GS4, 2}, {NOTE_G4, 2}, {NOTE_F4, 2}, {NOTE_DS4, 2},
{NOTE_D4, 2},
{NOTE_C4, 2},{NOTE_AS3, 2},{NOTE_GS4, 2}, {NOTE_G4, 2}, {NOTE_D4, 2},
{NOTE_F4, 2}, {NOTE_DS4, 2}, {NOTE_D4, 2}, {NOTE_F4, 2}, {NOTE_E4, 2},
{NOTE_C4, 2},
{NOTE_A3, 2},{NOTE_E3, 2}, {NOTE_G3, 2}, {NOTE_E3, 2}, {NOTE_FS3, 2},
{NOTE_DS4, 2},{NOTE_D4, 2}, {NOTE_C4, 2}, {NOTE_B3, 2}, {NOTE_A3, 2},
{NOTE_G3, 2},
{NOTE_A3, 2},{NOTE_B3, 2}, {NOTE_D4, 2}, {NOTE_DS4, 2},{NOTE_CS4, 2},
{NOTE_B3, 2}, {NOTE_AS3, 2}, {0, 2}, {NOTE_FS3, 2}, {NOTE_GS3, 2},
{NOTE_AS3, 2},
{NOTE_B3, 2},{NOTE_CS4, 2},{NOTE_DS4, 2}, {NOTE_FS4, 2},{NOTE_AS4, 2},
{NOTE_A4, 2}, {NOTE_GS4, 2}, {NOTE_G4, 2}, {NOTE_F4, 4}, {0, 4},
{NOTE_G4, 2},
{NOTE_FS4,2},{NOTE_F4, 2}, {NOTE_D4, 2}, {NOTE_DS4, 2},{NOTE_F4, 2},
{NOTE_G4, 2}, {NOTE_AS4, 2}, {NOTE_DS5, 2}, {NOTE_AS4, 2}, {0, 8},
{NOTE_AS4, 2},
{NOTE_B4, 2},{NOTE_AS4, 6},{NOTE_FS4, 2}, {NOTE_D5, 14},{NOTE_C5, 2},
{NOTE_B4, 2}, {NOTE_D4, 2}, {NOTE_G4, 2}, {NOTE_B4, 2}, {NOTE_AS4, 2},
{NOTE_A4, 2},
{NOTE_GS4,2},{NOTE_C5, 2}, {NOTE_AS4, 2}, {NOTE_G4, 2}, {NOTE_F4, 2},
{NOTE_DS4, 2},{NOTE_G4, 2}, {NOTE_DS4, 2}, {0, 4}, {NOTE_D5, 6},
{NOTE_AS4, 4},
{NOTE_FS4,2},{NOTE_D4, 4}, {0, 2}, {NOTE_D4, 2}, {NOTE_G4, 2},
{NOTE_B4, 2}, {NOTE_D4, 2}, {NOTE_F4, 2}, {NOTE_GS4, 2}, {NOTE_C5, 2},
{NOTE_DS4, 2},
{NOTE_F4, 2},{NOTE_G4, 2}, {NOTE_AS4, 2}, {NOTE_E4, 2}, {NOTE_FS4, 2},
{NOTE_GS4, 2},{NOTE_AS4, 2}, {NOTE_FS4, 6}, {NOTE_DS4, 2}, {NOTE_CS4, 2},
{NOTE_C4, 2},
{NOTE_B3, 2},{NOTE_GS3, 2},{NOTE_C4, 2}, {NOTE_D4, 2}, {NOTE_DS4, 2},
{NOTE_C4, 2}, {NOTE_G4, 2}, {NOTE_F4, 2}, {NOTE_D4, 2}, {NOTE_C4, 2},
{NOTE_AS3, 4}, // 165 + 9 = 174
};
void thelicc() {
int licc[10][2] = { {NOTE_D4, 3}, {NOTE_E4, 2}, {NOTE_F4, 3}, {NOTE_G4, 2},
{NOTE_D4, 1}, {NOTE_E4, 5}, {NOTE_C4, 3}, {NOTE_D4, 8} };
void yee() {
int yee[20][2] = { {NOTE_C4, 3}, {NOTE_D4, 5}, {NOTE_C4, 3}, {NOTE_E4, 4},
{NOTE_E4, 4}, {NOTE_D4, 5}, {NOTE_C4, 4}, {NOTE_D4, 8}, {NOTE_G4, 5}, {NOTE_G4,
3},
{NOTE_D4, 3}, {NOTE_E4, 5}, {NOTE_D4, 3}, {NOTE_F4, 4}, {NOTE_F4, 4},
{NOTE_G4, 5}, {NOTE_A4, 3}, {NOTE_G4, 12}
};
void loop() {
digitalWrite(POWER, HIGH);
bool button1 = false;
bool pianoMode = false;
int current = 0;
bool record = true;
int previous = 0;
while (analogRead(BUTTON1) > 200)
{
current = millis();
if (record)
previous = current;
if (current - previous > 3000)
{
button1 = false;
pianoMode = true;
play(NOTE_C3, 8);
break;
}
else
{
button1 = true;
record = false;
}
}
while (pianoMode)
{
if (analogRead(BUTTON3) > 200)
{
longnote(NOTE_C4);
}
else if (analogRead(BUTTON2) > 200)
{
longnote(NOTE_D4);
}
else if (analogRead(BUTTON1) > 200)
{
longnote(NOTE_E4);
}
else // No sound when no buttons are being pressed
noTone(SPEAKER);
}
digitalWrite(R, 0);
digitalWrite(G, 0);
digitalWrite(B, 0);