Étape 8: programmation
Pour programmer la chanson de thème de dynastie de canard que je devais chercher la musique de chœur piano en ligne pour obtenir exactement les notes. A partir de là j’ai eu prendre ces notes et les traduire en code je l’ai fait à Arduino.cc/ed/tutorial/tone. Puis j’ai dû écrire la note durée (rapidité chaque note devait être joué).
Voici tous mes code écrit :
int whiteLeds = 10 ;
int redLed = 9 ;
Qu’int = 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 »
Notes de la mélodie :
la mélodie d’int [] = {}
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} ;
pour aller plus vite ou moins vite
void setup() {}
pinMode (whiteLeds, sortie) ;
pinMode (redLed, sortie) ;
pinMode (que, sortie) ;
pinMode (blueLed, sortie) ;
pinMode (speakerPin, sortie) ;
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 (que, 1) ;
digitalWrite (blueLed, 1) ;
}
if((digitalRead(zipperswitch2) == 0)) {}
DuckDynasty () ;
} else {}
digitalWrite (speakerPin, basse) ;
}
if((digitalRead(zipperswitch3) == 0)) {}
digitalWrite (whiteLeds, HIGH) ;
Delay(500) ;
digitalWrite (whiteLeds, basse) ;
Delay(500) ;
} else {}
digitalWrite (whiteLeds, basse) ;
}
Sub digitalColor ()
{
digitalWrite (redLed, basse) ;
digitalWrite (blueLed, HIGH) ;
digitalWrite (que, HIGH) ;
Delay(500) ;
digitalWrite (redLed, HIGH) ;
digitalWrite (blueLed, HIGH) ;
digitalWrite (que, faible) ;
Delay(500) ;
digitalWrite (redLed, HIGH) ;
digitalWrite (blueLed, basse) ;
digitalWrite (que, HIGH) ;
Delay(500) ;
digitalWrite (redLed, HIGH) ;
digitalWrite (blueLed, HIGH) ;
digitalWrite (que, HIGH) ;
Delay(1000) ;
}
Sub analogColor ()
{
analogWrite (redLed, 0) ;
analogWrite (blueLed, 255) ; rouge
analogWrite (que, 255) ;
Delay(1000) ;
analogWrite (redLed, 255) ;
analogWrite (blueLed, 255) ; vert
analogWrite (que, 0) ;
Delay(1000) ;
analogWrite (redLed, 255) ;
analogWrite (blueLed, 0) ; bleu
analogWrite (que, 255) ;
Delay(1000) ;
analogWrite (redLed, 0) ;
analogWrite (blueLed, 0) ; Purple
analogWrite (que, 255) ;
Delay(1000) ;
analogWrite (redLed, 0) ;
analogWrite (blueLed, 255) ; orange
analogWrite (que, 0) ;
Delay(1000) ;
analogWrite (redLed, 255) ;
analogWrite (blueLed, 0) ; Teal
analogWrite (que, 0) ;
Delay(1000) ;
analogWrite (redLed, 255) ;
analogWrite (blueLed, 255) ; hors
analogWrite (que, 255) ;
Delay(1000) ;
}
Sub rLEDFade()
{
analogWrite (blueLed, 255) ;
analogWrite (que, 255) ;
analogWrite (redLed, 255) ;
pour (r = 255, r > 0, r--) {}
analogWrite (redLed, r) ;
Delay(fadeSpeed) ;
}
pour (r = 0; r < 256; r ++) {}
analogWrite (redLed, r) ;
Delay(fadeSpeed) ;
}
}
Sub gLEDFade()
{
analogWrite (blueLed, 255) ;
analogWrite (que, 255) ;
analogWrite(redLed,255) ;
pour (g = 255; g > 0; g--) {}
analogWrite (que, g) ;
Delay(fadeSpeed) ;
}
pour (g = 0; g < 256; g ++) {}
analogWrite (que, g) ;
Delay(fadeSpeed) ;
}
}
Sub bLEDFade()
{
analogWrite (blueLed, 255) ;
analogWrite (que, 255) ;
analogWrite(redLed,255) ;
pour (b = 255, b > 0; b--) {}
analogWrite (blueLed, b) ;
Delay(fadeSpeed) ;
}
pour (b = 0; b < 256; b ++) {}
analogWrite (blueLed, b) ;
Delay(fadeSpeed) ;
}
}
Sub colorFade ()
{
analogWrite (blueLed, 0) ;
pour (r = 255, r > 0, r--) {}
analogWrite (redLed, r) ;
Delay(fadeSpeed) ;
}
pour (b = 0; b < 256; b ++) {}
analogWrite (blueLed, b) ;
Delay(fadeSpeed) ;
}
pour (g = 255; g > 0; g--) {}
analogWrite (que, g) ;
Delay(fadeSpeed) ;
}
pour (r = 0; r < 256; r ++) {}
analogWrite (redLed, r) ;
Delay(fadeSpeed) ;
}
pour (b = 255, b > 0; b--) {}
analogWrite (blueLed, b) ;
Delay(fadeSpeed) ;
}
pour (g = 0; g < 256; g ++) {}
analogWrite (que, g) ;
Delay(fadeSpeed) ;
}
analogWrite (blueLed, 255) ;
Delay(500) ;
}
Sub DuckDynasty ()
{
pour (int thisNote = 0; thisNote < 40 ; thisNote ++) {}
int noteDuration = 1500/noteDurations [thisNote] ;
ton (speakerPin, melody[thisNote],noteDuration) ;
int pauseBetweenNotes = noteDuration * 1.30 ;
Delay(pauseBetweenNotes) ;
noTone(speakerPin) ;
}
}