Stap 2: Arduino schets
Als u alles volgens het gedeelde diagram verbonden, uploaden van de bijgevoegde schets uw klok start en Toon van de tijd die is ingesteld in uw RTC.
Enige uitleg aan de schets
byte mem_r [36], mem_g [36], mem_b [36];
Ik schrijf de berekende waarden van de kleur en intensiteit niet rechtstreeks in het geheugen van de LEDs. Ik opslaan berekende RGB waarden in deze drie arrays. De oorzaak daarvan is de volgende: Ik kan niet lezen deze info terug van de LED's, dus ik kan niet het veranderen van de intensiteit van de originele kleur houden.
byte color_r [] = {0, 10, 0, 0, 10, 10, 5};
byte color_g [] = {0, 10, 0, 10, 10, 0, 5};
byte color_b [] = {0, 10, 10, 0, 0, 0, 5};
Ik gebruik deze drie arrays om de kleuren van mijn klok te bepalen. Als u mijn kleuren wijzigen willen zou, hoeft u alleen deze waarden wijzigen.
VOID readIntensity() {...
De schets leest de helderheid van de omgeving via de pin A0. Het is wellicht om te veranderen de grenzen van de maatregel en de bijhorende intensiteitswaarden als u verschillende LDR en weerstand in de scheidingslijn van de spanning.
VOID sw_ver (byte ver) {}
Na de herstart kun je de softwareversie van de LED's. Het kan een nuttige functie worden als u wenst te identificeren van de lopende versie.
Instellen van de tijd en de datum
Als u instellen van de datum en de tijd in uw RTC wilt, moet u verwijderen van de commentaar tekens van deze lijn.
setDS3231time(00,58,18,4,31,03,16);
Na die het tijdstip en de datum update, het uploaden van de schets aan de Arduino en start opnieuw op het juiste moment.
(Dan reageren deze regel, en het uploaden de becommentarieerde versie om te voorkomen dat bij elke herstart opnieuw.)