Stap 4: De Code en en wat het doet
- De eerste code geüpload met lijn 22 uncommented sets de RTC naar de tijd dat de code is geüpload naar de Arduino. Als u deze regel in de code, laat dan de tijd op beginstand everytime zetten zal inschakelt u de Arduino, dat is duidelijk niet goed.
- De knop wordt geactiveerd door een interrupt waarmee de code om te controleren of de waarde van de buttonPushCounter voortdurend actualiseren en niet gaan via de volledige code everytime
- De lus functie controleert de waarde van de buttonPushCounter en het LCD op basis van het huidige item van de duw worden bijgewerkt
- De volgende functie, buttonPush, is de interrupt-functie. Dit heet everytime de Arduino detecteert een stijgende rand op de buttonPin.
- De functie bigNumber heeft twee argumenten, 'select' en 'offset'. 'Selecteer' kiest welke van de grote aantallen wordt aangeroepen. Aangezien de y-coördinaat van alle getallen hetzelfde blijft, is alleen een x-offset vereist. Dit is wat de offset functie doet. Alle getallen in de functie zijn getekend met behulp van de opdracht "drawline".
- De displayTime functie maakt gebruik van de bigNumber en de RTC-waarden te tonen van de tijd met de juiste offsets. De reden die ik maakte deze een aparte functie, is dat de "loop"-functie meerdere keren vereist. Dit bespaart ruimte en zorgt ervoor dat de code efficiënter.
- Naar de laatste komt, en wat ik vermoed zullen controversieel, deel van de code de playMusicandLight functie. De reden dat ik een matrix niet gebruikt voor het coderen van de muziek, is omdat de code werkt nooit mee om wat vreemde reden. Terwijl de Toon-code onafhankelijk van elkaar op de Arduino werkt, werkt het niet binnen dit programma. Dus werd ik gedwongen om het genereren van alle ruwe code voor de Toon. Als u geïnteresseerd bent, er zijn sommige werkelijk koele tinten hier. Als u weten hoe ik de code gegenereerd wilt, kijken naar mijn blog hier.
Dat is het die de code is klaar!