Stap 4: Arduino, code en testen
Bijgevoegd is de code voor een Arduino (ter Ino en .txt opmaak). Ik heb dit met een Uno getest en het werkt vrij goed. Ik heb ook een bibliotheek die gebruik maakt van directe haven manipulatie voor snelheid.
Het basisprincipe van de code is dit:
- Zet de lading pin-dit zal beginnen te laden de invoer pin.
- Tellen hoeveel lege lussen de Arduino doet totdat de invoer pin hoog is.
- De pin betaling uit te schakelen.
- Draai de geen kwijting pin-dit het circuit door de weerstand van de 220Ω zal kwijten.
- De geen kwijting pin uitschakelen.
Ik heb toegevoegd sommige logica om te debounce van de schakelaar. In principe wacht het totdat de schakelaar is uitgeschakeld voor 100ms totdat het registreert een schakelaar. Dit lijkt te werken behoorlijk goed.
Moet u wellicht te tweaken van de waarde van de LOOP_LIMIT in deze code. Een snellere processor of meer efficiënte code (met behulp van manipulatie van de directe haven misschien) zal waarschijnlijk een hogere waarde nodig.