Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Koristeći činjenicu da mnogi pinovi mikrokontrolera imaju tri stanja (+V, GND ili "visoka impedancija", možete upravljati N*(N-1) LED diodama s N pinova. Dakle, mali 8-pinski mikrokontroler poput PIC12Fxxx ili ATtiny11 može pokretati 20 LED dioda uključuje pet dostupnih izlaznih pinova, a još im je ostao jedan pin za neku vrstu ulaza. Vidi i
Korak 1: 20 LED dioda na 5 pinova
Trenutni opseg mikrokontrolera s malim brojem pinova (6 pinova do 20 pinova uključeno
cijeli paket) su atraktivnih cijena i 'slatki', ali postavlja se pitanje kako najbolje koristiti te igle za uobičajene aplikacije, poput LED dioda za pogon. Pristup izravnom povezivanju pogonskih LED dioda troši jedan pin za svaku LED diodu. Tradicionalna shema multipleksiranja u kojoj se redovi LED anoda pokreću jednim setom od N pinova, a zajednička katoda svakog reda upravlja drugim setom M pinova, uspijeva osvijetliti N*M LED diode s N+M pinova. Međutim, na procesoru sa samo 5 ili manje izlaza (kao što je slučaj s većinom 8-pinskih mikrokontrolera), to vam jedva daje više izlaza od izravnog pogona.
Korak 2: Charlieplexing
Pretpostavimo da izlazni pinovi zapravo mogu imati tri stanja (aktivna visoka, aktivna niska i visoka impedancija (ulaz)), također je moguće dijeliti upravljačke programe redaka i stupaca te kontrolirati N*(N-1) LED diode sa samo N pinova. Jedan je pin spojen na uobičajene katode u nizu LED dioda i spojen je na niske, a preostali pinovi N-1 spojeni su na anode i ili vođeni visoko kako bi osvijetlili taj stupac, ili lijevo kao ulazi za napuštanje LED isključenja. Maxim ovu tehniku naziva "Charlieplexing", i opisuje je u (1); Microchip to također spominje u svom dokumentu (2) (i implementacije na ploči PICKit 1.) (1) "Charlieplexing-Multipleksiranje LED zaslona s smanjenim brojem pin-ova" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "Tips 'n Tricks 8-pinski FLASH PIC mikrokontroleri" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Charlieplexing LEDs- The theory An Instructable by rgbphil
Korak 3: Uključite ga u posao
Ovo pokreće 20 LED dioda s ATtiny11. Ranija verzija ove ploče bila je
zapravo izgrađena i pojavljuje se kao fotografija glavne stranice. Bojim se da je slika sheme prilično beznadna; trebate da vam Eagle kaže koji su signali gdje spojeni.
Korak 4: Manji i svestraniji …
Budući da većinu ploče zauzima LED niz, možemo napraviti mjesta
bilo za Attiny čip ILI za mikročip PIC12F čip. Smanjite LED diode na 3 mm i idite na dvostranu ploču, a dobit ćemo nešto o 27x44 mm Nažalost, ova ploča još nije testirana …
Korak 5: Itty Bitty
Mikročip, naravno, ima svoje 6 -pinske čipove PIC10F, sposobne za pogon
samo 6 LED dioda s 3 izlaza. To je oko 16 mm u promjeru. Odlazak na 603 LED diode omogućuje vam da se malo smanjite, ali nisam siguran u čemu je stvar.
Korak 6: Softver
Softver postaje pomalo neuredan iz službenih razloga:
1) za prikazane PCB -e LED diode su postavljene na način koji odgovara rasporedu PCB -a, a ne u "ispravnom" redoslijedu bitova. IMO, ovo je način na koji se stvari rade, ali to znači da red 1 ne mora nužno značiti bit 1, ili kolumn 3 ne znači bit 3. To zahtijeva razinu mapiranja između uobičajenog adresiranja redaka/stupca i bitove koje je potrebno postaviti. 2) Budući da se isti bitovi koriste za anode i katode, zajednička (redak) veza za neke bitove može biti u sredini pogonskih bitova (stupac). To znači da morate pomaknuti bitove stupaca ovisno o tome jesu li prije ili poslije bita retka za taj skup stupaca. 3) Morate izvesti izlazne riječi i za ioport i za smjer porta. Priloženi ASM kod za ATtiny11 "dokaz je koncepta". Sramotno je neoptimiziran i loše komentiran, ali to je sve što sam dosad napisao.