Stap 3: Voeg zoemer
Eindelijk bij de stoel te bewegen als de LED en de sensor werkt met de zoemer. Het programma van de zoemer te worden gecontroleerd door de hoeveelheid licht die op de sensor valt. Programma de zoemer overeen moeten komen met het spelen van een notitie wanneer de opgegeven hoeveelheid licht op de sensor valt.
Verwijzen naar het curicut geïllustreerd om toe te voegen van de sensor.
De code van de Arduino gebruikt is die hieronder zijn toegevoegd:
int myLed [] {A2, A3, A4} =;
int [geluid] = {523, 539, 587}; C, D, E
int lightScope [] = {360,370,380,400};
int i = 0;
int sensor = A6;
int sPin = 9;
byte val; variabele opslaan
int buzzerPin = 9;
VOID Setup {}
Serial.begin(9600);
voor (ik = 0; ik < 3; i ++) {}
pinMode (myLed [i], OUTPUT);
}
}
void loop {}
int sensorValue = analogRead(sensor);
Serial.println(sensorValue);
delay(100);
Als (sensorValue < 20) {/ / Tur alle de LED af, als de waarde hoger is dan 40
digitalWrite (myLed [i], laag);
}
anders als (sensorValue > lightScope [0], sensorValue < lightScope [1]) {}
lightPin (myLed [0], 100);
Toon (buzzerPin, 523, 1000);
delay(100);
}
anders als (sensorValue > lightScope [1], sensorValue < lightScope[2]) {}
lightPin (myLed [1], 100);
Toon (buzzerPin, 587, 1000);
delay(100);
}
anders als (sensorValue > lightScope [2], sensorValue < lightScope[3]) {}
lightPin (myLed [2], 100);
Toon (buzzerPin, 659, 1000);
delay(100);
}
anders
{
Light();
}
}
ongeldig light() {}
voor (ik = 0; ik < 3; i ++) {}
digitalWrite (myLed [i], laag);
delay(100);
}
}
VOID lightPin (int ledPin, int ledDelay) {}
digitalWrite (ledPin, hoge);
delay(ledDelay);
digitalWrite (ledPin, laag);
delay(ledDelay);
}