Styra 20 Led från 5 Arduino stift med Charlieplexing (5 / 8 steg)
Steg 5: Förbereder koden.
Nu innan vi får faktiskt kodning det, vore det en bra idé att ha lite av en plan innan bara hoppa i.Principen är faktiskt ganska enkelt.
När Arduino börjar, ändra alla stift ansluten till Charlieplex ingång.
I de viktigaste loopen:
-Stäng av alla LED genom att alla stift som ingångar
-För varje LED vill du slå på, slå upp sina två stift:
Ange båda stiften.
Klämma fast ansluten till anoden hög
Ange PIN-koden ansluten till katoden låg
Vänta en viss tid
-Stäng av alla lysdioder
-Vrid på nästa LED
-Upprepa tills programmet avslutas
Låt oss anta att jag vill bara sekvens genom alla LED tända dem en i taget. För varje LED, jag måste ställa in 5 stift till ingången, då jag behöver ange 2 stift till utgång, gör två digitalWrite() samtal och sedan slutligen vänta under en angiven period. Vi måste göra detta 20 gånger... Som ni ser, blir detta mycket förvirrande och komplexa mycket snabbt. Om inte vi kan skapa någon form av bibliotek, blir detta en annan övning i meningslöshet.
Från biblioteket, skulle vi behöva följande:
-En lista över alla LED i matrisen. Varje LED bör också ange vilka stift dess anoden och katoden är ansluten till.
-En funktion för att stänga av alla lysdioder
-En funktion för att slå på alla lysdioder
-En funktion som kommer att vända på alla lysdioder definieras av någon form av mask för en viss period.
Jag ska förklara den faktiska koden, men jag kommer inte att förklara hur du skapar ett bibliotek. Om du är intresserad i att det är en ganska bra tutorial på Arduino-webbplatsen:
http://Arduino.cc/en/hacking/LibraryTutorial
Innan du gör ett bibliotek, bör du alltid få din kod arbeta som en normal skiss först i alla fall så kan göra det.