Stap 3: De Firmware (broncode)
Ik wilde het apparaat zo gemakkelijk naar programma dat zelfs mijn moeder kon doen.Nemend een richtsnoer van Steve Jobs' "I hate knoppen" houding, ik kwam met de volgende methode van de programmering.
Druk op de knop. Het vraagt u welk stopcontact te programma.
Het kiezen van de pot aan de uitlaat die u wenst te programmeren van 1 tot en met 8.
(helemaal naar beneden is de "Oeps" positie, en toont niet een uitgangsnummer - als u niet een program, zet de pot op deze positie en druk tweemaal op de knop)
Druk op de knop om te bevestigen het stopcontact. Nu vraagt het om een duur.
Duur variëren van 1 tot 9 uur in stappen van 1 uur, of helemaal naar beneden is OFF en helemaal naar boven (altijd) op
Druk op de knop. Deze outlet is nu geprogrammeerd.
Sindsdien zijn we programmeren opladen duur enz. Ik voelde niet de behoefte aan iets nauwkeuriger dan enkele uren.
Als u weet dat uw telefoon duurt 1 uur en 20 minuten om te laden - stel het dan voor 2 uur. Geen biggie.
Als u iets nauwkeuriger nodig hebt, kunt u de code aanpassen.
Als de 2 tweede timer en 1 minuut timer vergelijking / berekeningen kijken een beetje vreemd, omdat ze rekening houden met de 50 dagen verlenging van de millis() functie. Als dat voor u Abracadabra, maak je geen zorgen over het. Aangezien de timer die de functie millis() is gebonden aan alleen tot een eindig aantal tellen kan voordat het "rolt over" terug naar 0, moeten we rekening in onze berekeningen van de timer voor het geval van dat rollover gebeurt tijdens runtime. De timer rolt over eenmaal over elke 50 dagen. Dit apparaat was aanvankelijk bedoeld om altijd op, dus moest de berekeningen rekening daarvoor. Nu dat het apparaat zichzelf schakelt uit na het uitvoeren van de voltooiing van een timer, is het veel minder een probleem (als het een probleem helemaal). De enige manier zou dat een kwestie nu zou zijn als u nieuwe timers instellen houden, terwijl anderen zijn nog steeds actief, en doen het zo vaak, dat er nooit een tijd dat alle verkooppunten allemaal uitgeschakeld zijn is.
Je ziet een heleboel commentaar uit code. Dit is de code die ik had aangebracht terwijl het zuiveren van de code. Ik gewoon nooit de moeite om het te verwijderen voor het geval iemand anders kan profiteren van het op de weg als ze wilden de code te wijzigen.