LEGO T-korsningen trafik lysdiod (21 / 27 steg)
Steg 21: Förklara koden
Cykel-matriser
Den första bilden definierar en fyra matriser. Tillsammans definierar de tillståndet i trafikljuset vid någon punkt i tid, samt hur länge denna stat existerar innan nästa läge visas. De koden cyklerna genom denna matris och när den når slutet, det börjar igen i början av arrayen, för evigt.
Utgångar och setup
Den andra bilden visar hur vissa konstanter definieras som karta utgångarna till LED anoder och katoder och sedan visar hur setup -funktionen utför ett test på lampan. När mikro-controller först är aktiverad tänds alla lampor av varje lyktstolpe i sin tur i fem sekunder. Detta är så att du kan kontrollera att alla lampor fungerar som de ska. Om du ser något funky i denna fas av programmet, du har antingen gjort ett kopplingsschema fel, en tråd har brutit eller en LED är utbränd.
Lampa test
I den sista bilden visas de funktioner som utgör lampa testet. Följ den kod för att se att alla lamporna på den vänstra lyktstolpe är tända i fem sekunder, följt av den arga lyktstolpe på toppen av T, och slutligen den rätt lyktstolpe. Nu här är den intressanta biten. Om du skulle minska denna försening från 5 sekunder till 5 millisekunder och utföra skulle testet lampa i en slinga istället för en gång, det visa sig att alla lampor på alla lyktstolpar på! Det är så multiplexing lysdioder fungerar. Med det, bör du kunna följa hur resten av koden helt enkelt ersätts i lampa staten definieras i cykel matriser, istället för att vända på alla lampor.