Sadržaj:

Kako izvesti mnogo LED dioda s nekoliko pinova mikrokontrolera .: 6 koraka (sa slikama)
Kako izvesti mnogo LED dioda s nekoliko pinova mikrokontrolera .: 6 koraka (sa slikama)

Video: Kako izvesti mnogo LED dioda s nekoliko pinova mikrokontrolera .: 6 koraka (sa slikama)

Video: Kako izvesti mnogo LED dioda s nekoliko pinova mikrokontrolera .: 6 koraka (sa slikama)
Video: Мало кто знает функцию SMART, которую выполняет этот ЦИФРОВОЙ МУЛЬТИМЕТР !! 2024, Studeni
Anonim
Kako izvući mnogo LED dioda s nekoliko pinova mikrokontrolera
Kako izvući mnogo LED dioda s nekoliko pinova mikrokontrolera

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

20 LED dioda na 5 pinova
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

Charlieplexing
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

Stavljanje na posao
Stavljanje na posao
Stavljanje na posao
Stavljanje na 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 …

Manji i svestraniji…
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

Itty Bitty
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.

Preporučeni: