Styra 20 Led från 5 Arduino stift med Charlieplexing
Min Arduino har inte 40(15+21+3) utgångar och 3 ingångar, så jag måste antingen släppa funktioner (som inte låter som en kul sak att göra), köpa en Arduino Mega (där är roligt i att) eller jag måste hitta ett smart sätt att få det att fungera. Jag är vanligtvis lata, gör det omöjliga låter som mycket roligare (Ok, det osannolika då...)
Jag har redan lyckats koppla 5 knappar till en analog ingång och dokumenteras som här:
Genom att använda Charlieplexing, kan du koppla in n*(n-1) LED's till n microcontroller stift. Jag ska gå igenom teorin i nästa steg, men från detta kan du se att jag kan koppla upp 20 Lamporna på 5 stift eller 12 lysdioder på 4 stift, vilket skulle vara en bra start för faktiskt att göra detta alla arbeta på 1 Arduino.
Om du söker Instructables (och Google för den delen), hittar du massor av teoretiska förklaringar av hur Charlieplexing fungerar, och du kommer även hitta några exempel på Charlieplexed LED körs på Arduino's. Problemet är att koden på dessa exempel förklaras allmänt inte mycket väl, och är oftast väldigt hårt bundna till den exakta maskinvaruinställningar som författaren använt. Detta gör det en övning i meningslöshet och frustration att försöka göra den arbeta på egna projekt.
Jag kommer att visa dig exakt hur detta fungerar, hur man ställer upp med så många LED's som du vill ha i så smärtfritt sätt som möjligt (även om det blir fruktansvärt komplicerat om du går till mer än ca 30 lysdioder), hur du koden så det fungerar för dig, och vilka problem jag hade att övervinna i processen.