Stap 3: De code van de Arduino
De bijgevoegde code hieronder is een schets van de arduino genaamd lighthouse1.ino. Houd er rekening mee dat we proberen te vervagen 16 afzonderlijke LED's in een bepaalde volgorde en tijdsinstelling patroon met behulp van Pulsbreedtemodulatie (PWM). De arduino micro heeft echter alleen 7 pinnen die kunnen worden gebruikt voor PWM in hardware. Daarom moeten we het implementeren van PWM in software. Gelukkig, Brett Hagman al heeft geïmplementeerd dit in zijn softPWM bibliotheek voor de arduino. Gebruiksaanwijzing inclusief en het gebruik van deze bibliotheek zijn in de documentatie van de softPWM.
Notities
Deze code aan uw behoeften aanpassen. U ziet dat de functie loop gewoon een aanroep naar de functie van lighthouse_mode() bevat. Dit is want er ten minste één meer modus, een sleep_mode() waarin de lichten uitgeschakeld gedurende de dag terwijl de kosten van een zonnecel de batterij zullen totdat het is donker genoeg om terug te gaan naar lighthouse_mode.
De code definieert meerdere integer arrays met vooraf gedefinieerde waarden voor de LED output pinnen, omwentelingen per minuut, het aantal balken, en de breedte van de balken. Een extra array bevat de pincodes voor elk van de drie input knoppen. De pinnen van de knop zelf zal gebruiken van de arduino ingebouwde pull-up weerstanden, zodat de knop lezen logica omgedraaid (de pin leest hoog totdat die de knop is ingedrukt en laag wanneer de knop wordt ingedrukt).
Als u niet hoe weet te laden code op je arduino, lees dan het Krijgen begon met Arduino Homepage.