Stap 5: Program van de bodem Arduino
int speakerPin = 12; int lengte = 15; het aantal notities VOID playTone (int Toon, int duur) {} VOID playNote (char opmerking, int duur) {} spelen van de Toon die overeenkomt met de naam van de noot VOID Setup {}
int buttonPin = A0;
int buttonState = 0;
int outputValue = 0;
char merkt [] = "gcgcgcg"; een ruimte vertegenwoordigt een rust
int verslaat [] = {1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4};
int tempo = 300;
voor (lang ik = 0; ik < duur * 1000L; ik += Toon * 2) {}
digitalWrite (speakerPin, hoge);
delayMicroseconds(tone);
digitalWrite (speakerPin, laag);
delayMicroseconds(tone);
}
}
char names [] = {'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C'};
int tonen [] = {1915 1700, 1519, 1432, 1275, 1136, 1014, 956};
for (int i = 0; ik < 8; i ++) {}
Als (namen [i] == Opmerking) {}
playTone (tonen [i], duur);
}
}
}
pinMode (speakerPin, OUTPUT);
pinMode (buttonPin, INPUT);
Serial.begin(9600);
}
void loop {}
while(1) {}
buttonState = analogRead(buttonPin);
outputValue = kaart (buttonState, 0, 1023, 0, 500);
if(outputValue<100) {}
for (int i = 0; ik < lengte; i ++) {}
Als (notities [i] == "") {}
vertraging (beats [i] * tempo); rest
} else {}
playNote (notities [i], beats [i] * tempo);
}
pauze tussen notities
delay(tempo / 2);
}
Serial.println(outputValue); afdrukken van potVAL in de arduino seriële venster);
}
if(outputValue>120)
{
digitalWrite(speakerPin,LOW);
Serial.println(outputValue);
}
}
}
Zodra deze uploaden van code wordt gedaan, zou u moeten zien dat wanneer het schuim wordt ingedrukt met enige druk aan de onderzijde van de, de luidspreker moet beginnen af het Sirene-geluid te geven. Wanneer de druk realeased is, moet de spreker niet langer elke extra sirene uitgang. Uw bodem aan het einde van dit proces moet uitzien als in figuur \ref{bottomdone}. Ik heb toegevoegd sommige lange stroken van weefsel aan de rand van de outter (via naaien) om meer van een buikdansen blik naar het doek. (Deze foto toont de onderkant nog steeds verbonden met een Arduino Uno, maar als u een Lilypad gebruikt, het is heel gemakkelijk om te naaien het Lilypad in de binnenkant van de doek en zal het niet van buitenaf zichtbaar.
Veel plezier met dit, en veel geluk!