LASER labyrint 2012 - Halloween Haunted House (5 / 8 steg)
Steg 5: Bakom kulisserna - Arduino kod detalj
Detta steg är bara här för att ge mer information om hur Arduino koden fungerar.
Arduino använder de analoga ingångarna för att kontrollera värdet för 4 ljus sensorer som är inställda som spänningsavdelare. Så snart Arduino drivs på, genomsnitt det tillsammans 3 avläsningar för varje ljussensor. Genomsnittet är normal eller förväntade mängden ljus när en laser slår ljussensorn. Om ljussensor värdet ligger långt under detta genomsnitt, Arduino vet laserstrålen har gått sönder och utlöser larm (aktiverar servo och sänder larmsignalen till behandling).
Du kan beräkna en ny genomsnittliga och nya larmnivå genom att trycka på den inbyggda i reset-knappen på Arduino. Detta är användbart om mängden omgivande ljus eller dimma i luften ändras tillräckligt för att störa sensorerna.
Arduinoen kommunicerar även med bearbetning med hjälp av seriell kommunikation biblioteket. Varje gång en sensor värdet avläses av Arduino, skickas det till bearbetning visas som ett diagram. När larmet värdet för varje sensor beräknas, skickas det till bearbetning visas som en röd linje på den grafen. Arduinoen också signal en till bearbetning när larmet servo är aktiverade eller avstängda. Signalerna som skickas från Arduino till bearbetning är bara siffror. Den kära siffran i numret kan bearbetning vet vilken typ av data har skickats, och resten av numret är faktiska data.
- Seriella meddelanden som skickas till behandling. Siffran i de plats berättar vad för slags data vi har.
- ### 0 - data från A0, där ### är data och 0 är koden talar om var data tillhör
- ### 1 - data från A1
- ### 2 - data från A2
- ### 3 - data från A3
- ### 4 - larm trigger värde för A0, där ### är värdet och 4 är koden talar om var data tillhör
- ### 5 - larm trigger värde för A1
- ### 6 - larm trigger värde för A2
- ### 7 - larm trigger värde för A3
- 8 - alarm servo på
- 9 - alarm servo off
Det finns några värden i Arduino som du kan behöva anpassa. De är alla märkta med en kommentar som säger "## #MODIFY om behövs ###". De anpassningsbara värdena är antalet ljussensorer du använder, känslighet (alarm trigger nivå), hur länge flashining rött ljus/servo bör stanna aktiv och på/av positionerna för servo.