LED fyren ljus - preliminärt arbete (3 / 6 steg)
Steg 3: Arduino koden
Bifogade koden nedan är en arduino skiss kallas lighthouse1.ino. Observera att vi försöker tona 16 separata lysdioder i en sekvens och timing mönster med puls-bredd modulering (PWM). Arduino mikro har dock endast 7 PIN-koder som kan användas för PWM i hårdvara. Därför måste vi genomföra PWM i programvara. Lyckligtvis, Brett Hagman har redan genomfört detta i sitt softPWM bibliotek för arduino. Instruktioner för inklusive och med detta bibliotek är i softPWM dokumentation.
Anteckningar
Ändra denna kod för att dina behov. Du kanske märker att funktionen loop() helt enkelt innehåller ett anrop till funktionen lighthouse_mode(). Detta beror på att det blir minst en mer mode, en sleep_mode() där lamporna är avstängd under dagen, medan en solcell avgifter batteriet tills det är tillräckligt mörk för att gå tillbaka till lighthouse_mode.
Koden definierar flera heltal-kedjor med fördefinierade värden för LED utgångsstift, varv per minut, antal balkar och bredd balkar. En ytterligare matris innehåller pin-koder för varje av de tre ingående knapparna. Knappen stiften själva kommer att använda arduino's inbyggda pull-up motstånd, så knappen läsa logik är omvänd (pin läser högt tills knappen trycks och låg när knappen är nedtryckt).
Om du inte vet hur att ladda koden på din arduino, Läs Att komma igång med Arduino hemsida.