Obsah:
- Krok 1: 20 LED diod na 5 pinech
- Krok 2: Charlieplexing
- Krok 3: Uvedení do provozu
- Krok 4: Menší a více univerzální…
- Krok 5: Itty Bitty
- Krok 6: Software
Video: Jak řídit spoustu LED z několika pinů mikrokontroléru: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
S využitím skutečnosti, že mnoho pinů mikrokontroléru má tři stavy (+V, GND nebo „vysoká impedance“), můžete řídit LED diody N*(N-1) z pinů N. Takže malý 8pinový mikrokontrolér jako PIC12Fxxx nebo ATtiny11 může řídit 20 LED diod svítí na pěti dostupných výstupních pinech a stále jim zbývá jeden pin pro nějaký druh vstupu. Viz také
Krok 1: 20 LED diod na 5 pinech
Aktuální plodina mikrořadičů s nízkým počtem pinů (6 pinů až 20 pinů na
celý balíček) jsou cenově atraktivní a „roztomilé“, ale vyvstává otázka, jak tyto piny nejlépe využít pro běžné aplikace, jako jsou LED diody. Přímý přístup k řízení LED diod spotřebuje jeden pin pro každou LED. Tradiční multiplexní schéma, kde řady LED anod jsou poháněny jednou sadou N pinů a společná katoda každé řady je poháněna jinou sadou M pinů, dokáže rozsvítit N*M LED s N+M piny. Na procesoru s pouze 5 nebo méně výstupy (jak je tomu u většiny 8kolíkových mikrokontrolérů) to však sotva získá více výstupů než přímý pohon.
Krok 2: Charlieplexing
Za předpokladu, že výstupní piny jsou ve skutečnosti třístavové (aktivní vysoká, aktivní nízká a vysoká impedance (vstup)), je také možné sdílet ovladače řádků a sloupců a ovládat LED diody N*(N-1) pouze pomocí N. Jeden kolík je připojen ke společným katodám řady LED diod a řízeného záblesku a zbývající kolíky N-1 jsou připojeny k anodám a buď poháněny vysoko pro osvětlení tohoto sloupce, nebo ponechány jako vstupy, aby LED zhasly. Maxim nazývá tuto techniku „Charlieplexing“a popisuje ji v (1); Microchip to také uvádí ve svém dokumentu (2) (a implementuje také na desku PICKit 1.) (1) „Charlieplexing-multiplexování LED displeje se sníženým počtem pinů“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) Charlieplexing LEDs- The theory an Instructable by rgbphil
Krok 3: Uvedení do provozu
To pohání 20 LED z ATtiny11. Dřívější verze této desky byla
skutečně postaven a zobrazí se jako hlavní stránka fotografie. Obávám se, že obrázek schématu je docela beznadějný; potřebujete, aby vám Eagle řekl, které signály jsou kde připojeny.
Krok 4: Menší a více univerzální…
Protože většinu desky zabírá LED pole, můžeme uvolnit místo
buď pro čip Attiny NEBO pro mikročipový čip PIC12F. Zmenšete diody LED na 3 mm a přejděte na oboustrannou desku a dostaneme něco o 27x44 mm, bohužel, tato deska ještě nebyla testována …
Krok 5: Itty Bitty
Mikročip má samozřejmě své 6pinové čipy PIC10F, schopné řídit a
pouhých 6 LED diod ze 3 výstupních pinů. To má průměr asi 16 mm. Přejít na 603 LED diod vám umožní trochu zmenšit, ale nejsem si jistý, o co jde.
Krok 6: Software
Software je trochu chaotický ze serverových důvodů:
1) u zobrazených desek plošných spojů jsou diody LED uspořádány způsobem, který je vhodný pro rozložení desek plošných spojů, a nikoli ve „správném“pořadí bitů. IMO, toto je způsob, jak dělat věci, ale znamená to, že řádek 1 nemusí nutně znamenat bit 1 nebo coluimn 3 neznamená bit 3. To vyžaduje úroveň mapování mezi obvyklým adresováním řádků/sloupců a bity, které je třeba nastavit. 2) Protože se pro anody a katody používají stejné bity, společné (řádkové) připojení pro některé bity může být uprostřed poháněných (sloupcových) bitů. To znamená, že musíte posunout bity sloupců podle toho, zda jsou před nebo za bitem řádku pro danou sadu sloupců. 3) Musíte odvodit výstupní slova pro ioport i registr směru portu. Připojený kód ASM pro ATtiny11 je „důkazem koncepce“. Je to trapně neoptimalizované a špatně komentované, ale je to vše, co jsem zatím napsal.
Doporučuje:
JAK ŘÍDIT FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: 7 kroků
JAK ŘÍDIT FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: Dnes jsem si koupil arduino nano v3.0 (klon), ale mám problém. můj počítač vždy detekuje " FT232R USB UART " andarduino Ide nemůže tuto desku detekovat. proč? co je špatně? okey, mám návod, jak tento problém vyřešit
Jak číst více analogových hodnot pomocí jednoho analogového pinu: 6 kroků (s obrázky)
Jak číst více analogových hodnot pomocí jednoho analogového pinu: V tomto tutoriálu vám ukážu, jak číst více analogových hodnot pomocí pouze jednoho analogového vstupního pinu
Konfigurace pojistkových bitů mikrokontroléru AVR. Vytvoření a nahrání programu Flash LED do flash paměti mikrokontroléru: 5 kroků
Konfigurace pojistkových bitů mikrokontroléru AVR. Vytvoření a nahrání do flash paměti mikrokontroléru programu LED blikání: V tomto případě vytvoříme jednoduchý program v kódu C a vypálíme ho do paměti mikrokontroléru. Napíšeme vlastní program a zkompilováme hexadecimální soubor pomocí Atmel Studio jako integrované vývojové platformy. Konfigurujeme pojistku bi
Jak řídit traktor Case IH Magnum 215 2008: 9 kroků (s obrázky)
Jak řídit traktor Case IH Magnum 215 v roce 2008: Budu instruovat, jak spustit a řídit traktor Magnum 215
Ovládejte spoustu serv pomocí Arduina!: 4 kroky (s obrázky)
Ovládejte spoustu serv pomocí Arduina!: Nejprve bych měl něco říct. Neměl jsem krásné obrázky. Takže jsem vzal obrázky z bildr.blog. Víme, že Arduino UNO nemá mnoho pwm pinů pro ovládání mnoha serv. Často tedy máme problém ovládat více servo pomocí arduina