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, Novembar
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 sa N pinova. Tako 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. Vidite i

Korak 1: 20 LED dioda na 5 pinova

20 LED dioda na 5 pinova
20 LED dioda na 5 pinova

Trenutni opseg mikrokontrolera sa 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 direktnim povezivanjem pogonskih LED dioda troši po 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

Pod pretpostavkom 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 i kontrolirati N*(N-1) LED diode sa samo N pinova. Jedan pin je spojen na uobičajene katode u nizu LED dioda i spojen, a preostali pinovi N-1 spojeni su na anode i ili visoko vođeni da osvijetle tu kolonu, 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 ekrana sa 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 je bila

zapravo izgrađena i pojavljuje se kao fotografija glavne stranice. Bojim se da je slika šeme prilično beznadežna; trebate da vam Eagle kaže koji su signali gdje povezani.

Korak 4: Manji i svestraniji …

Manje i svestranije…
Manje i svestranije…

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 sa 3 izlaza. Ovo je oko 16 mm u prečniku. Prelaskom na 603 LED diode možete se malo smanjiti, ali nisam siguran u čemu je stvar.

Korak 6: Softver

Softver postaje pomalo neuredan iz više 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 nivo mapiranja između uobičajenog adresiranja reda/kolone i bitove kojima je potrebno podešavanje. 2) Budući da se isti bitovi koriste za anode i katode, zajednička (redna) veza za neke bitove može biti u sredini pogonskih bitova (kolona). 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 za ioport i registar smjera porta. Priloženi ASM kod za ATtiny11 je "dokaz koncepta". To je sramotno neoptimizirano i loše komentirano, ali to je sve što sam do sada napisao.

Preporučuje se: