Obsah:

Ako riadiť veľa diód LED z niekoľkých pinov mikrokontroléra .: 6 krokov (s obrázkami)
Ako riadiť veľa diód LED z niekoľkých pinov mikrokontroléra .: 6 krokov (s obrázkami)

Video: Ako riadiť veľa diód LED z niekoľkých pinov mikrokontroléra .: 6 krokov (s obrázkami)

Video: Ako riadiť veľa diód LED z niekoľkých pinov mikrokontroléra .: 6 krokov (s obrázkami)
Video: How Not To Die: The Role of Diet in Preventing, Arresting, and Reversing Our Top 15 Killers 2024, Júl
Anonim
Ako riadiť veľa diód LED z niekoľkých pinov mikrokontroléra
Ako riadiť veľa diód LED z niekoľkých pinov mikrokontroléra

Vďaka skutočnosti, že mnoho pinov mikrokontroléra má tri stavy (+V, GND alebo „vysoká impedancia“), môžete napájať LED diódy N*(N-1) z pinov N. Takže malý 8pinový mikrokontrolér ako PIC12Fxxx alebo ATtiny11 môže riadiť 20 diód LED svieti na piatich dostupných výstupných kolíkoch a stále im zostáva jeden pin na nejaký druh vstupu. Pozri tiež

Krok 1: 20 LED diód na 5 pinoch

20 LED diód na 5 pinoch
20 LED diód na 5 pinoch

Aktuálna plodina mikrokontrolérov s nízkym počtom pinov (6 pinov až 20 pinov na

celý balík) sú cenovo dostupné a „milé“, ale ponúka sa otázka, ako tieto kolíky najlepšie využiť pre bežné aplikácie, ako napríklad LED diódy. Priamy prístup k riadeniu LED diód spotrebuje jeden pin pre každú LED. Tradičná schéma multiplexovania, kde sú rady LED anód poháňané jednou sadou N kolíkov a spoločná katóda každého radu je poháňaná ďalšou sadou M pinov, dokáže rozsvietiť N*M LED diódami N+M. Na procesore, ktorý má iba 5 alebo menej výstupov (ako je to vo väčšine 8-kolíkových mikrokontrolérov), však sotva získate viac výstupov ako priamy pohon.

Krok 2: Charlieplexing

Charlieplexing
Charlieplexing

Za predpokladu, že výstupné piny sú skutočne tri-stavové (aktívna vysoká, aktívna nízka a vysoká impedancia (vstup)), je tiež možné zdieľať riadkové a stĺpcové budiče a ovládať LED diódy N*(N-1) iba pomocou N. Jeden kolík je pripojený k bežným katódam radu diód LED a riadeným prúdom a zvyšné kolíky N-1 sú pripojené k anódam a buď sú poháňané vysoko, aby osvetlili tento stĺp, alebo zostali ako vstupy, aby sa LED vypne. Maxim nazýva túto techniku „Charlieplexing“a opisuje ju v (1); Spoločnosť Microchip to uvádza aj vo svojom dokumente (2) (a implementuje aj na doske PICKit 1.) (1) „Charlieplexing-multiplexovanie LED displeja so zníženým počtom pinov“https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) „Tips 'n Tricks 8-pin FLASH PIC Microcontrollers“https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) LED diódy Charlieplexing- teória, ktorú môže inštruovať rgbphil

Krok 3: Uvedenie do prevádzky

Uvedenie do prevádzky
Uvedenie do prevádzky
Uvedenie do prevádzky
Uvedenie do prevádzky

To poháňa 20 LED diód z ATtiny11. Predchádzajúca verzia tejto dosky bola

skutočne postavený a zobrazuje sa ako fotografia hlavnej stránky. Obávam sa, že obraz schémy je dosť beznádejný; potrebujete, aby vám Eagle povedal, ktoré signály sú kde prepojené.

Krok 4: Menší a všestrannejší …

Menšie a všestrannejšie…
Menšie a všestrannejšie…

Pretože väčšinu dosky zaberá pole LED, môžeme uvoľniť miesto

buď pre čip Attiny ALEBO pre mikročipový čip PIC12F. Zmenšite diódy LED na 3 mm a choďte na obojstrannú dosku a dostaneme niečo o 27 x 44 mm, bohužiaľ, táto doska ešte nebola testovaná …

Krok 5: Itty Bitty

Itty Bitty
Itty Bitty

Mikročip má samozrejme svoje 6 -kolíkové čipy PIC10F, ktoré sú schopné poháňať a

iba 6 LED diód z 3 výstupných pinov. Má priemer asi 16 mm. Ak prejdete na 603 diód LED, môžete byť o niečo menší, ale nie som si istý, o čo ide.

Krok 6: Softvér

Softvér je trochu neporiadny zo serverových dôvodov:

1) pre zobrazené dosky plošných spojov sú diódy LED usporiadané spôsobom, ktorý je vhodný pre rozloženie dosiek plošných spojov, a nie v „správnom“poradí bitov. IMO, toto je spôsob, ako robiť veci, ale znamená to, že riadok 1 neznamená nevyhnutne bit 1 alebo koluimn 3 neznamená bit 3. To si vyžaduje úroveň mapovania medzi obvyklým adresovaním riadkov/stĺpcov a bity, ktoré je potrebné nastaviť. 2) Pretože sa na anódy a katódy používajú rovnaké bity, spoločné (riadkové) spojenie pre niektoré bity môže byť v strede poháňaných (stĺpcových) bitov. To znamená, že musíte posúvať bity stĺpcov v závislosti od toho, či sú pred alebo za bitom riadka pre danú skupinu stĺpcov. 3) Musíte odvodiť výstupné slová pre register ioport a register smeru portu. Pripojený kód ASM pre ATtiny11 je „dôkazom koncepcie“. Je to trápne neoptimalizované a zle komentované, ale je to všetko, čo som zatiaľ napísal.

Odporúča: