Stap 21: Uitleggen van de code
Cyclus arrays
De eerste foto definieert een vier matrices. Samen definiëren ze de staat voor het stoplicht op elk gewenst moment in de tijd, evenals hoe lang die staat bestaat voordat het volgende frame wordt weergegeven. De cycli van de code door middel van deze array en wanneer het einde is bereikt, deze zal opnieuw worden gestart bij het begin van de array, voor eeuwig.
Uitgangen en setup
De tweede foto toont hoe sommige constanten zijn gedefinieerd die de uitgangen worden toegewezen aan de LED anoden en kathoden en geeft vervolgens een overzicht hoe de setup -functie Hiermee voert u een test van de lamp. Wanneer de micro-controller eerst wordt ingeschakeld, worden alle de LEDs van elke lantaarnpaal op zijn beurt voor vijf seconden verlicht. Dit is zodat u controleren kunt dat alle de LEDs wel naar behoren werken. Als u iets funky in deze fase van het programma ziet, je hebt ofwel een bedrading aangooi maakte, een draad heeft gebroken of een LED is uitgebrand.
Lamp test
In de laatste foto, zijn de functies die deel van de test van de lamp uitmaken komt te staan. Volg de code om te zien dat alle van de lampjes op de linker lantaarnpaal verlicht zijn voor vijf seconden, gevolgd door het Kruis lantaarnpaal aan de bovenkant van de T, en tenslotte de juiste lantaarnpaal. Nu hier het interessante bit is. Als u moest verminderen die vertraging van 5 seconden tot 5 milliseconden en het uitvoeren van zou de test van de lamp in een lus in plaats van één keer, het verschijnen dat alle LEDs op alle posten van de lamp zijn op! Dat is hoe multiplexing LEDs werkt. Met dat, moet u zitten kundig voor volgen hoe de rest van de code vervangt eenvoudig in de lamp staat omschreven in de cyclus-arrays, in plaats van het draaien op alle lichten.