Mjuk krets klaviatur (musik) (8 / 8 steg)
Steg 8: Gör det ännu coolare
8. ändra grundläggande koden nedan, gör din Arduino lära dig en sång. En lysdiod tänds berätta vilka Obs att spela, och sedan stänga av när du spelar korrekt anteckningen. Lysdioden för nästa anteckning i låten startar och processen fortsätter. För närvarande ställs det helt enkelt gå igenom fem tonerna från G till D, att ge den grundläggande idén.
int speakerPin = 9;
int inputPing = 0;
int inputPina = 1;
int inputPinb = 2;
int inputPinc = 3;
int inputPind = 4;
int ledPing = 5;
int ledPina = 6;
int ledPinb = 7.
int ledPinc = 8;
int ledPind = 10;
int counter = 0;
void setup() {
pinMode (speakerPin, produktionen);
pinMode (inputPing, ingång);
pinMode (inputPina, ingång);
pinMode (inputPinb, ingång);
pinMode (inputPinc, ingång);
pinMode (inputPind, ingång);
pinMode (ledPing, produktionen);
pinMode (ledPina, produktionen);
pinMode (ledPinb, produktionen);
pinMode (ledPinc, produktionen);
pinMode (ledPind, produktionen);
}
void loop() {
om (counter == 0) {
medan (digitalRead(inputPing) == hög) {
digitalWrite (ledPing, hög);
noTone(speakerPin);
}
}
medan (digitalRead(inputPing) == låg) {
digitalWrite (ledPing, låg);
tonen (speakerPin, 196,100);
räknare = 1;
}
om (counter == 1) {
medan (digitalRead(inputPina) == hög) {
digitalWrite (ledPina, hög);
noTone(speakerPin);
}
}
medan (digitalRead(inputPina) == låg) {
digitalWrite (ledPina, låg);
tonen (speakerPin, 220,100);
räknare = 2;
}
om (counter == 2) {
medan (digitalRead(inputPinb) == hög) {
digitalWrite (ledPinb, hög);
noTone(speakerPin);
}
}
medan (digitalRead(inputPinb) == låg) {
digitalWrite (ledPinb, låg);
tonen (speakerPin, 247,100);
räknare = 3.
}
om (counter == 3) {
medan (digitalRead(inputPinc) == hög) {
digitalWrite (ledPinc, hög);
noTone(speakerPin);
}
}
medan (digitalRead(inputPinc) == låg) {
digitalWrite (ledPinc, låg);
tonen (speakerPin, 261,100);
räknare = 4.
}
om (counter == 4) {
medan (digitalRead(inputPind) == hög) {
digitalWrite (ledPind, hög);
noTone(speakerPin);
}
}
medan (digitalRead(inputPind) == låg) {
digitalWrite (ledPind, låg);
tonen (speakerPin, 294,100);
räknare = 5.
}
om (counter == 5) {
räknare = 0;
}