Nyní si povíme něco o velmi praktickém zapojení, které se mezi bastlíři předává z generace na generaci. Najdete ho v různých podobách skoro v každé elektronice, kde něco svítí – od nejnovějšího jablečného telefonu až po chytřejší topinkovač. Tento článek je plný animací, ze kterých se dozvíte vše potřebné. Gamerům se předem omlouvám za obnovovací frekvenci animací 15 fps.
Nejprve si v Animaci 1 a 2 ukážeme obě zapojení. Vždy je to sestava LEDek, spínačů, rezistorů a zdroje stejnosměrného napětí. Kvízová otázka pro zvídavé - jaké napětí má zdroj, pokud máme červené LEDky a rezistory s hodnotou 150 Ohmů, přes které protéká proud 20 mA? Malá nápověda: Barva LEDky je důležitá. Větší nápověda: Červené LEDky mají úbytek napětí v propustném směru okolo 2,1 V. Obrovská nápověda: Je to 5 voltů. Uznal bych asi všechno od cca 4,8 do 5,4 V.
Animace 1: Zapojení 7 LED se společnou katodou
Animace 2: Zapojení 7 LED se společnou anodou
Počet LEDek nebyl zvolen náhodně. Schéma zapojení má představovat 7segmentový displej. Rozsvícením jednotlivých segmentů (jednotlivých LEDek) můžeme vytvořit různé znaky, čísla a symboly. Segmenty se většinou označují písmeny a, b, c, d, e, f, g, h. Ano, napočítali jste správně osm písmenek. Hčko bývá na mnoha sedmisegmentovkách a je to ta tečka vpravo dole. Občas se označuje jako "dp".
Pro ještě lepší pochopení přikládám Obrázek 1, kde jsou zobrazeny jednotlivé segmenty displeje 1502192592. Pinout je popsán v Tabulce 1. Pokud bychom tedy rozsvítili segmenty "a, f, g, e, d" (číselně 7, 9, 10, 1, 2), dostaneme převrácenou číslovku "3" nebo písmeno "E".
Obrázek 1: Segmenty a piny displeje 1502192592
Tabulka 1: Pinout displeje 1502192592
Segment | a | b | c | d | e | f | g | h (dp) | anoda |
Číslo pinu | 7 | 6 | 4 | 2 | 1 | 9 | 10 | 5 | 3, 8 |
Úplně stejné zapojení můžete použít, pokud si budete hrát třeba s RGB ledkou, koukněte na Animaci 3. Všímaví čtenáři vidí, že rezistor u modré LED má hodnotu 100 Ohmů. Je to z toho důvodu, že modré LEDky mají úbytek napětí v propustném směru kolem 3 V a pokud chceme u modré barvy zachovat proud přibližně 20 mA, musíme snížit odpor. A nebo tam nechte 150 Ohmů, modrá stejně svítí jako blázen.
Animace 3: RGB LEDka se společnou anodou
Ke spínání jednotlivých barev (nebo segmentů) budete asi málokdy používat spínače a sáhnete raději po Arduinu nebo jiném vývojovém kitu. Předpokládejme, že jsou nyní 3 spínače u RGB LEDky nahrazeny výstupními piny Arduina. Jelikož v Animaci 3 je zapojení se společnou anodou, pak jednotlivé barvy LEDky budou svítit, pokud na výstupu bude log. 0 a zhasnou, pokud na výstupu bude log. 1 (invertovaná logika). U zapojení se společnou katodou by to bylo přesně opačně.
A teď si představte, že si budete chtít nakódit třeba obyčejný budík, kde budou 4 sedmisegmentovky a dvojtečka uprostřed. Jestli správně počítám, vychází mi nějakých 29 datových vodičů. Museli byste si na to vzít minimálně Arduino Mega a to už je celkem overkill. Na tento problém samozřejmě existuje řešení – integrované obvody. Používají se různé klopné obvody, posuvné registry, dekodéry atp.
Já jsem si pro vás na závěr připravil ukázku s dekadickým čítačem - Animace 4. Je tam celkem šest LEDek a abyste je rozsvítili, stačí vám k Arduinu připojit dva datové vodiče (R a CLK). To Rko je jen reset, takže teoreticky by vám pro nekonečnou smyčku stačil datový jeden vodič.
Animace 4: Zapojení s dekadickým čítačem
Mimochodem, pamatujete si ten seriál z devadesátek, kde se David Hasselhoff prohání v černém Pontiacu a říká mu KITT? :)
Doporučuji vám také kouknout na články kolegy Luboše, kde se touto problematikou zabývá: