Stap 8: programmeren
Ik moest om te programmeren van de eend dynastie theme song online piano koor muziek om de exacte de notities opzoeken. Vanaf daar ik had die notities maken en deze te vertalen in code ik deed dit op Arduino.cc/ed/tutorial/tone. Daarna moest ik schrijf de opmerking duur van (hoe snel elke noot moest worden gespeeld).
Hier is alle mijn geschreven code:
int whiteLeds = 10;
int redLed = 9;
int greenLed = 5;
int blueLed = 6;
int zipperswitch = A5;
int zipperswitch2 = A3;
int zipperswitch3 = A4;
int speakerPin = A2;
int r;
int g;
int b;
int fadeSpeed = 1;
#include "pitches.h"
noten in de melodie:
int melodie [] {} =
NOTE_DS4, NOTE_DS4, 0, NOTE_DS4, NOTE_DS4, 0, NOTE_DS4, NOTE_DS4, NOTE_DS4, NOTE_C4, NOTE_DS4,
NOTE_F4, NOTE_FS4, NOTE_FS4, NOTE_FS4, 0, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4,
NOTE_B4, NOTE_B4, NOTE_G3, NOTE_C4, 0, NOTE_C4, NOTE_FS4, NOTE_G4, NOTE_G4, NOTE_DS4, NOTE_C4, NOTE_C4,
NOTE_G3, NOTE_AS3, NOTE_C4, NOTE_C4, 0,
};
int noteDurations [] {} =
4, 4, 2, 4, 4, 2, 8, 2.7, 8, 8, 8, 8, 4, 4, 8, 8,
8, 4, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 8, 8, 4, 8, 8, 8, 8, 4, 4, 2, 1};
om te gaan sneller of langzamer
VOID Setup {}
pinMode (whiteLeds, OUTPUT);
pinMode (redLed, OUTPUT);
pinMode (greenLed, OUTPUT);
pinMode (blueLed, OUTPUT);
pinMode (speakerPin, OUTPUT);
pinMode (zipperswitch, INPUT_PULLUP);
pinMode (zipperswitch2, INPUT_PULLUP);
pinMode (zipperswitch3, INPUT_PULLUP);
}
void loop {}
if((digitalRead(zipperswitch) == 0)) {}
colorFade();
rLEDFade();
gLEDFade();
bLEDFade();
} else {}
digitalWrite (redLed, 1);
digitalWrite (greenLed, 1);
digitalWrite (blueLed, 1);
}
if((digitalRead(zipperswitch2) == 0)) {}
DuckDynasty ();
} else {}
digitalWrite (speakerPin, laag);
}
if((digitalRead(zipperswitch3) == 0)) {}
digitalWrite (whiteLeds, hoge);
delay(500);
digitalWrite (whiteLeds, laag);
delay(500);
} else {}
digitalWrite (whiteLeds, laag);
}
VOID digitalColor)
{
digitalWrite (redLed, laag);
digitalWrite (blueLed, hoge);
digitalWrite (greenLed, hoge);
delay(500);
digitalWrite (redLed, hoge);
digitalWrite (blueLed, hoge);
digitalWrite (greenLed, laag);
delay(500);
digitalWrite (redLed, hoge);
digitalWrite (blueLed, laag);
digitalWrite (greenLed, hoge);
delay(500);
digitalWrite (redLed, hoge);
digitalWrite (blueLed, hoge);
digitalWrite (greenLed, hoge);
delay(1000);
}
VOID analogColor)
{
analogWrite (redLed, 0);
analogWrite (blueLed, 255); rood
analogWrite (greenLed, 255);
delay(1000);
analogWrite (redLed, 255);
analogWrite (blueLed, 255); groen
analogWrite (greenLed, 0);
delay(1000);
analogWrite (redLed, 255);
analogWrite (blueLed, 0); blauw
analogWrite (greenLed, 255);
delay(1000);
analogWrite (redLed, 0);
analogWrite (blueLed, 0); paars
analogWrite (greenLed, 255);
delay(1000);
analogWrite (redLed, 0);
analogWrite (blueLed, 255); Oranje
analogWrite (greenLed, 0);
delay(1000);
analogWrite (redLed, 255);
analogWrite (blueLed, 0); groenblauw
analogWrite (greenLed, 0);
delay(1000);
analogWrite (redLed, 255);
analogWrite (blueLed, 255); uitschakelen
analogWrite (greenLed, 255);
delay(1000);
}
VOID rLEDFade()
{
analogWrite (blueLed, 255);
analogWrite (greenLed, 255);
analogWrite (redLed, 255);
voor (r = 255; r > 0; r--) {}
analogWrite (redLed, r);
delay(fadeSpeed);
}
voor (r = 0; r < 256; r ++) {}
analogWrite (redLed, r);
delay(fadeSpeed);
}
}
VOID gLEDFade()
{
analogWrite (blueLed, 255);
analogWrite (greenLed, 255);
analogWrite(redLed,255);
voor (g = 255, g > 0; g--) {}
analogWrite (greenLed, g);
delay(fadeSpeed);
}
voor (g = 0 g < 256; g ++) {}
analogWrite (greenLed, g);
delay(fadeSpeed);
}
}
VOID bLEDFade()
{
analogWrite (blueLed, 255);
analogWrite (greenLed, 255);
analogWrite(redLed,255);
voor (b = 255, b > 0; b--) {}
analogWrite (blueLed, b);
delay(fadeSpeed);
}
voor (b = 0; b < 256; b ++) {}
analogWrite (blueLed, b);
delay(fadeSpeed);
}
}
VOID colorFade)
{
analogWrite (blueLed, 0);
voor (r = 255; r > 0; r--) {}
analogWrite (redLed, r);
delay(fadeSpeed);
}
voor (b = 0; b < 256; b ++) {}
analogWrite (blueLed, b);
delay(fadeSpeed);
}
voor (g = 255, g > 0; g--) {}
analogWrite (greenLed, g);
delay(fadeSpeed);
}
voor (r = 0; r < 256; r ++) {}
analogWrite (redLed, r);
delay(fadeSpeed);
}
voor (b = 255, b > 0; b--) {}
analogWrite (blueLed, b);
delay(fadeSpeed);
}
voor (g = 0 g < 256; g ++) {}
analogWrite (greenLed, g);
delay(fadeSpeed);
}
analogWrite (blueLed, 255);
delay(500);
}
VOID DuckDynasty)
{
voor (int thisNote = 0; thisNote < 40; thisNote ++) {}
int noteDuration = 1500/noteDurations [thisNote];
Toon (speakerPin, melody[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(speakerPin);
}
}