Styra 20 Led från 5 Arduino stift med Charlieplexing (2 / 8 steg)
Steg 2: Charlieplexing - teorin
Detta innebär naturligtvis att endast en lampa kan vara på när som helst. Mikrokontroller fungerar så snabbt att du kan bara växla sina på stater mycket snabbt och det kommer att se ut som båda är på hela tiden.
Nu vid denna punkt, du förmodligen kommer säga "Ja, så vad? Jag kunde vända 2 LED å med 2 stift utan all denna extra komplexitet... "
Om du lägger till en tredje pin mikro-controller till ekvationen det börjar bli intressant. Nu kan du vända på 6 LED'S. I grund och botten du har samma inställning som med 2 stift, men du har också samma inställning mellan stift 2 och 3 och mellan stift 1 och 3. Se den andra bilden nedan.
Slå på lysdioder ansluten till stift 1 och 3, måste du koppla stift 2 från kretsen, och sedan bara ange pin 1 och 3 hög och låg utifrån som ledde du vill slå på. Lyckligtvis, Arduino kan du göra detta. Om du ändrar en PIN-kod till en ingång, blir det i princip av ett stort motstånd, som är tillräckligt nära för att kopplas om detta ska fungera.
Nu om du tittar på den tredje bilden, kan du se hur det ser ut för 4 stift (12 lysdioder) och den fjärde bilden visar hur det ser ut för 5 stift (20 lysdioder).
Du kommer att märka att det blir ganska intressanta tråd det upp när du kommer till 30 lysdioder med 6 stift. Detta för mig verkar vara den begränsande faktorn när man bygger detta.
Jag genererade bilderna från följande länk (jag ser länken är död just nu... Jag är inte säker på om detta är tillfälligt):
http://Hosting.alexanderbrevig.com/Arduino/Help/charlieplex