Fiber Optic tyg kropp struktur (5 / 6 steg)
Steg 5: Lägga till lysdioder, mikrofon & kod
Nu din pjäs är sys ihop, är det dags att lägga till lysdioderna. LAMPORNA måste fästas så direkt som möjligt till medföljande ändarna av fibrer. Se till att alla fibrer skärs till samma längd. Blanda din epoxi och en i taget, tillsätt sedan Lysdioderna till tyget.
Dessa lysdioder används är mycket hög wattal, men vi behöver inte något motstånd för dem, eftersom vi har fyra av dem! Så bara löda två positiva kuddar till ledningar, och två negativa kuddar till ledningar. Sedan ansluta dem till en mini skärbräda och ansluta de positiva stiften på mikro till digital input stiften via bakbord, från 12-4.
Anslut sedan, mic stiften till bakbord också, och ingångsstiftet till analoga stift A4.
Sedan ladda upp Arduino koden till Micro, och det kommer att fungera.
Här är koden:
#include
#include timer t;
int inPin = A4; tryckknapp ansluten till digital stift 7 int val = 0; variabel att lagra Läs värde float toleransen = 79. int avgValHalf = 0; int avgVal; int lastVal = 0;
setup-funktionen körs en gång när du trycker på reset eller power board void setup() {pinMode (inPin, ingång); / / sätter det digitala stiftet 7 som ingående 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);}
loop funktion kör om och om igen för evigt void loop() {t.update(); val = analogRead(inPin); / / läsa ingångsstiftet}
void takeAvgVal() {lastVal = val; Serial.println(avgVal); Serial.println(Tolerance); }
void takeAvgVal2() {avgValHalf += lastVal + avgValHalf / 2;}
void checkAvgVal () {avgVal = avgValHalf / 4; om (avgVal < tolerans) {tolerans = 79; digitalWrite (5, låg); / / slå LED på (HIGH är spänningsnivån) digitalWrite (6, låg). / / slå LED på (HIGH är spänningsnivån) digitalWrite (7, låg). / / slå LED på (HIGH är spänningsnivån) digitalWrite (8, låg). / / slå LED på (HIGH är spänningsnivån) digitalWrite (9 LÅG); Aktivera LED (HIGH är spänningsnivån) digitalWrite (10, låg). Aktivera LED (HIGH är spänningsnivån) digitalWrite (11, låg). Aktivera LED (HIGH är spänningsnivån) digitalWrite (12, låg). Aktivera LED (HIGH är spänningsnivån) återvända; } om (avgVal > = tolerans) {tolerans +=. 1; digitalWrite (5, hög); / / slå LED på (HIGH är spänningsnivån) digitalWrite (6, hög). / / slå LED på (HIGH är spänningsnivån) digitalWrite (7, hög). / / slå LED på (HIGH är spänningsnivån) digitalWrite (8, hög). / / slå LED på (HIGH är spänningsnivån) digitalWrite (9, hög). / / slå LED på (HIGH är spänningsnivån) digitalWrite (10 HÖG); Aktivera LED (HIGH är spänningsnivån) digitalWrite (11, hög). Aktivera LED (HIGH är spänningsnivån) digitalWrite (12, hög). Aktivera LED (HIGH är spänningsnivån) Serial.println("SUCCESS"); hemkomst. } }
void resetAvgVal () {avgVal = 0;}