Stap 5: Het toevoegen van de LEDs, microfoon, & de Code
Nu uw stuk is aan elkaar genaaid, is het tijd om de LED's toevoegen. De LEDS moeten zo rechtstreeks mogelijk aan de gebundelde uiteinden van de vezels worden bevestigd. Zorg ervoor dat alle de vezels worden gesneden op de dezelfde lengte. Dan meng je epoxy en één filter tegelijk, de LED's toevoegen aan het weefsel.
Deze LEDs gebruikt zijn zeer hoog vermogen, maar we hoeven niet alle weerstanden voor hen, omdat we vier van hen hebben! Dus gewoon soldeer de twee positieve pads aan draden, en de twee negatieve pads aan draden. Vervolgens sluit ze aan op een mini breadboard zelf en de positieve pinnen van de micro verbinden met de digitale input pinnen via het breadboard, 12-4.
Sluit vervolgens de mic pinnen op het breadboard zo goed, en de invoer pin aan op de analoge pin A4.
Vervolgens uploaden van de Arduino-code naar de Micro en het werkt allemaal.
Hier is de Code:
#include
#include timer t;
int inPin = A4; drukknop verbonden met digitale pin 7 int val = 0; variabele op te slaan van de tolerantie van de float lees waarde = 79; int avgValHalf = 0; int avgVal; int lastVal = 0;
de setup-functie wordt uitgevoerd als wanneer u op reset of macht van de Raad nietig Setup {pinMode (inPin, INPUT); / / Hiermee stelt u de digitale pin 7 als input pinMode (12, OUTPUT); pinMode (11, OUTPUT); pinMode (10, OUTPUT); pinMode (9, OUTPUT); pinMode (8, OUTPUT); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); t.every (500, takeAvgVal); t.every (1000, takeAvgVal2); t.every (4000, checkAvgVal); t.every (5000, resetAvgVal);}
de functie van de lus wordt uitgevoerd over en weer forever void loop {t.update(); val = analogRead(inPin); / / Lees de invoer pin}
VOID takeAvgVal() {lastVal = val; Serial.println(avgVal); Serial.println(tolerance); }
VOID takeAvgVal2() {avgValHalf += lastVal + avgValHalf / 2;}
VOID checkAvgVal () {avgVal = avgValHalf / 4; als (avgVal < tolerantie) {tolerantie = 79; digitalWrite (5, laag); / / inschakelen van de LED (HIGH is het spanningsniveau) digitalWrite (6, laag); / / de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (7, laag); / / de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (8, laag); / / de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (9 LAAG); de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (10, laag); de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (11, laag); de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (12, laag); de LED inschakelen (HIGH is het spanningsniveau) keren; } Als (avgVal > = tolerantie) {tolerantie +=. 1; digitalWrite (5, hoog); / / de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (6, hoge); / / inschakelen van de LED (HIGH is het spanningsniveau) digitalWrite (7, hoge); / / inschakelen van de LED (HIGH is het spanningsniveau) digitalWrite (8, hoge); / / inschakelen van de LED (HIGH is het spanningsniveau) digitalWrite (9, hoge); / / inschakelen van de LED (HIGH is het spanningsniveau) digitalWrite (10 HOGE); de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (11, hoge); de LED inschakelen (HIGH is het spanningsniveau) digitalWrite (12, hoge); de LED inschakelen (HIGH is het spanningsniveau) Serial.println("SUCCESS"); terugkeer; } }
VOID resetAvgVal () {avgVal = 0;}