Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
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
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
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
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ší …
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
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.