Arduino Trumpet (2 / 10 steg)
int högtalare = 9. Ansluta högtalare till digital pin 9
int sw1 = 15. Switch ansluten till analog pinne 1
int sw2 = 16. Switch ansluten till analoga stift 2
int sw3 = 17; Switch ansluten till analoga stift 3
int valve1;
int valve2;
int valve3;
Annullera c () {/ / Presets anteckningen "c" ska användas senare
digitalWrite (talare, hög);
delayMicroseconds(1915);
digitalWrite (talare, låg);
delayMicroseconds(1905);
}
void d () {
digitalWrite (talare, hög);
delayMicroseconds(1700);
digitalWrite (talare, låg);
delayMicroseconds(1690);
}
Ogiltigt e () {
digitalWrite (talare, hög);
delayMicroseconds(1519);
digitalWrite (talare, låg);
delayMicroseconds(1509);
}
void f () {
digitalWrite (talare, hög);
delayMicroseconds(1432);
digitalWrite (talare, låg);
delayMicroseconds(1422);
}
void g () {
digitalWrite (talare, hög);
delayMicroseconds(1275);
digitalWrite (talare, låg);
delayMicroseconds(1265);
}
Annullera en () {
digitalWrite (talare, hög);
delayMicroseconds(1136);
digitalWrite (talare, låg);
delayMicroseconds(1126);
}
Ogiltig b () {
digitalWrite (talare, hög);
delayMicroseconds(1014);
digitalWrite (talare, låg);
delayMicroseconds(1004);
}
void C () {
digitalWrite (talare, hög);
delayMicroseconds(956);
digitalWrite (talare, låg);
delayMicroseconds(946);
}
void setup() {
pinMode (talare, produktionen);
pinMode (sw1, ingång);
digitalWrite (sw1, hög);
pinMode (sw2, ingång);
digitalWrite (sw2, hög);
pinMode (sw3, ingång);
digitalWrite (sw3, hög);
Serial.BEGIN(9600);
}
void loop() {
valve1 = digitalRead(sw1); Läsningar växel 1
Valve2 = digitalRead(sw2); Läsningar växla 2
valve3 = digitalRead(sw3); Läsningar växla 3
om ((valve1 == LOW) & & (valve2 == låg) & & (valve3 == låg)) {/ / om alla ventiler trycks, sedan
c(); Den spelar en "c"
}
annars om ((valve1 == LOW) & & (valve2 == hög) & & (valve3 == låg)) {/ / om första och tredje ventilerna trycks, sedan
d(); Den spelar en "d"
}
annars om ((valve1 == LOW) & & (valve2 == låg) & & (valve3 == hög)) {/ / om första och andra ventilerna trycks, sedan
e(); Den spelar en "e"
}
annars om ((valve1 == LOW) & & (valve2 == hög) & & (valve3 == hög)) {/ / om den första ventilen trycks sedan
f(); Den spelar en "f"
}
annars om ((valve1 == HIGH) & & (valve2 == hög) & & (valve3 == hög)) {/ / om inga ventiler trycks, sedan
g(); Den spelar en "g"
}
annars om ((valve1 == HIGH) & & (valve2 == hög) & & (valve3 == låg)) {/ / om tredje ventilen trycks sedan
a(); Den spelar en "a"
}
annars om ((valve1 == HIGH) & & (valve2 == låg) & & (valve3 == hög)) {/ / om andra ventilen trycks sedan
b(); Den spelar en "b"
}
annars om ((valve1 == HIGH) & & (valve2 == låg) & & (valve3 == låg)) {/ / om andra och tredje ventilerna trycks, sedan
C(); Den spelar en "C"
}
annat {
Delay(1);
}
}