Violano-Lilypad Arduino XBee instrument (3 / 6 steg)
Steg 3: Lägg till Summer
Äntligen flytta till se om den LED och sensorn fungerar med summern. Programmera Summer att styras av hur mycket ljus som faller på sensorn. Programmet summern ska motsvara uppspelning av en anteckning när den angivna mängden ljus faller på sensorn.
Se curicut illustreras för att lägga till sensorn.
Arduino koden som används är bifogat nedan:
int myLed [] = {A2, A3, A4};
int ljud [] = {523, 539, 587}; C, D, E
int lightScope [] = {360,370,380,400}.
int jag = 0;
int sensor = A6;
int sPin = 9.
byte val; Spara variabel
int buzzerPin = 9;
void setup() {
Serial.BEGIN(9600);
för (jag = 0; jag < 3; i ++) {
pinMode (myLed [i], produktionen);
}
}
void loop() {
int sensorValue = analogRead(sensor);
Serial.println(sensorValue);
Delay(100);
om (sensorValue < 20) {/ / Tur alla LED av, om värdet är högre än 40
digitalWrite (myLed [i], låg);
}
annars om (sensorValue > lightScope [0], sensorValue < lightScope [1]) {
lightPin (myLed [0], 100);
tonen (buzzerPin, 523, 1000);
Delay(100);
}
annars om (sensorValue > lightScope [1], sensorValue < lightScope[2]) {
lightPin (myLed [1], 100);
tonen (buzzerPin, 587, 1000);
Delay(100);
}
annars om (sensorValue > lightScope [2], sensorValue < lightScope[3]) {
lightPin (myLed [2], 100);
tonen (buzzerPin, 659, 1000);
Delay(100);
}
annat
{
Light();
}
}
void light() {
för (jag = 0; jag < 3; i ++) {
digitalWrite (myLed [i], låg);
Delay(100);
}
}
void lightPin (int ledPin, int ledDelay) {
digitalWrite (ledPin, hög);
Delay(ledDelay);
digitalWrite (ledPin, låg);
Delay(ledDelay);
}