Donut säkerhetssystemet (3 / 5 steg)
Steg 3: Koden
int speakerPin = 9;
int sensePin = A4;
int ledPin1 = 13. Grön LED stift
int ledPin2 = 12; Röd LED stift
int längd = 15.
char noterar [] = "en aaagg gfeedd";
float slår [] = {1, 1, 1, 5, 5, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2,}; < br > int tempo = 300;
{Ogiltig playTone (int tonen, int längd)
för (länge jag = 0; jag < varaktighet * 1000L; i += tonen * 2) {
digitalWrite (speakerPin, hög);
delayMicroseconds(tone);
digitalWrite (speakerPin, låg);
delayMicroseconds(tone);
}
}
void playNote (char note, int varaktighet) {
char namn [] = {'c', 'd ","e","f","g","a","b","C"};
float toner [] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956};
för (int jag = 0; jag < 8; i ++) {
om (namn [i] == OBS) {
playTone (toner [i], varaktighet);
}
}
}
void setup() {
Serial.BEGIN(9600);
pinMode (speakerPin, produktionen);
pinMode (ledPin1, produktionen);
pinMode (ledPin2, produktionen);
}
void playSong() {
för (int jag = 0; jag < längd; i ++) {
om (anteckningar [i] == "") {
fördröjning (beats [i] * tempo);
} annat {
playNote (anteckningar [i], beats [i] * tempo);
}
Delay(tempo / 2);
}
}
void loop() {
int värde = analogRead(A4);
Serial.println(Value);
om (värde > = 500) {//This tröskel kan ändras för olika vikter
digitalWrite (ledPin1, hög);
digitalWrite (ledPin2, låg);
} annat {
digitalWrite (ledPin1, låg);
digitalWrite (ledPin2, hög);
playSong();
}
}