Konstrukce vyšla v časopisu Praktická elektronika 10/2015.
Již několikrát jsem se setkal s tím, že jsem konstruoval jednoduché zařízení s malým procesorem o osmi vývodech a potřeboval jsem nějak zobrazovat data na displeji, například u teploměru. Díky tomu, že procesor neměl dostatek portů pro řízení sedmisegmentového zobrazovače, je to celkem oříšek.
Lze použít například některý LCD displej doplněný o I2C nebo UART rozhraní. Problém je ale v situaci, kdy potřebujete, aby byl displej čitelný z větší vzdálenosti. Zde se právě výborně hodí sedmisegmentovky. Otázka je, jak je řídit s minimem vývodů. Proto jsem navrhl tento displej, který komunikuje s okolím přes UART.
Technické specifikace
| Napájecí napětí | 5 V DC. |
|---|---|
| Spotřeba proudu | Přibližně 100 mA. |
| Komunikační rozhraní | UART 19,2 / 2,4 kbps. |
| Počet znaků na displeji | 6. |
| Řízení dvojteček | Samostatným vodičem. |
Popis a zapojení displeje
Jedná se o šestimístný displej složený z LED zobrazovačů, doplněný vždy mezi dvěma znaky dvojtečkou tvořenou dvojicí klasických 3mm LED diod. Toto rozložení je vhodné jako displej pro hodiny, různé stopky a jistě se najde i další uplatnění.
Výhodou je řízení displeje po datové lince UART plus jeden vodič pro samostatné řízení dvojteček. Lze ho tedy použít do konstrukcí, kde používáme pro řízení procesor s malým počtem výstupních portů. Případně ho lze připojit i přes USB/TTL převodník k počítači a tak snadno zobrazovat nějaké hodnoty.
Základem je procesor PIC16F628A, který se stará o řízení zobrazovačů. Zobrazovače jsou použity se společnou anodou a jsou spínány tranzistory Q1 až Q6. Displej pracuje v multiplexním režimu. Řízení dvojteček LED1 až LED4 je řešeno samostatně vodičem vyvedeným do konektoru SV2 na piny 7 a 8. Bohužel už nebyl volný port na procesoru, jinak by samozřejmě šly dvojtečky řídit také přes UART.
Data jsou do procesoru přenášena přes konektor SV2 z pinů 3 a 4. Kladné napájecí napětí se přivádí na piny 5 a 6. Zbylé piny 1, 2, 9 a 10 jsou GND. JP2 je programovací konektor v klasickém zapojení pro PIC: 1 = MCLR, 2 = VDD, 3 = GND, 4 = PGD a 5 = PGC.
Pokud programujete procesor přímo na desce, nesmí být osazen JP3, který slouží k volbě přenosové rychlosti. Pokud není osazen, je nastavena rychlost komunikace 19,2 kbps. Pokud je osazen, je rychlost 2,4 kbps.
Schéma zapojení

Deska spoje a osazovací plán




Plošný spoj je vytvořen na oboustranné desce plošných spojů o rozměru 120 x 36 mm. Spoj je oboustranný s prokovenými otvory, aby mohl být co nejmenší. Taktéž všechny součástky kromě konektorů, procesoru, zobrazovačů a LED diod pro dvojtečky jsou SMD, takže při osazování je nutné pracovat pečlivě.
Konektory je vhodné osadit na spodní stranu PCB, tedy Bottom, aby případná kabeláž nevadila při montáži displeje.
Komunikace s displejem
Data se do displeje zasílají přes rozhraní UART. Jenom dvojtečky se řídí samostatně. Pro komunikaci byl vytvořen jednoduchý protokol, který používá jeden byte. V tomto bytu je uložena adresa zobrazovače a znak, který se na něm má zobrazit.
Zobrazovat je možno následující znaky: NIC, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, L, P, U, E a pomlčku. Znak NIC znamená, že daný zobrazovač je vypnutý a nezobrazuje se na něm nic. Adresa a zobrazovaný znak jsou v bytu rozděleny tak, že nižší 4 bity jsou adresa a vyšší 4 bity jsou zobrazovaný znak.
Displej používá šest adres. Adresa 1 patří pro DIS1, adresa 2 pro DIS2 a tak dále až po adresu 6 pro DIS6. Teoreticky je možné použít až šestnáct adres, ale zde je použito pouze těchto šest.
| Příklad | Odesílaná data | Výsledek |
|---|---|---|
| Zobrazit číslo 6 na DIS1 | 71h | 7 je kód znaku 6, 1 je adresa DIS1. |
| Zobrazit 123456 | 71h 62h 53h 44h 35h 26h | Na displeji se zobrazí postupně číslice 1 až 6. |
| Zhasnout celý displej | 01h 02h 03h 04h 05h 06h | Na všech šesti pozicích se nastaví znak NIC. |
Hodnota znaku je vždy o jedna vyšší než to, co se skutečně zobrazí. Je to způsobeno tím, že hodnota 0 nereprezentuje číslici nula, ale stav NIC, tedy zhasnutý zobrazovač. Tím pádem znak 0 na displeji reprezentuje číslo 1 a tak dále.

Veškerá data, která jsou do displeje odeslána, jsou uložena a displej je zobrazuje stále, dokud nejsou přepsána novějšími daty nebo dokud nedojde k restartu displeje. Není tedy nutné neustále posílat data do displeje. Stačí poslat pouze změnu na konkrétní zobrazovač.
Při zapnutí displeje je vždy zobrazen na všech zobrazovačích znak pomlčky, tedy -- -- --, který signalizuje, že displej dosud nepřijal žádná platná data. Pokud jsou do displeje odeslána neplatná data, například se špatnou adresou, displej je ignoruje a stav se nezmění.
Závěrem
Tento displej je vhodný do konstrukcí, kde se nedostává dostatek volných portů pro samostatné řízení displejů, případně pokud chceme zobrazovat nějaká data z počítače. Rozložení displejů navržené na tomto plošném spoji nemusí vyhovět každému, ale není problém navrhnout vlastní desku spojů, kde nebude použito všech šest zobrazovačů. Tak lze realizovat například displej pro měření teploty o třech znacích.
Seznam součástek
| Označení | Hodnota / typ | Poznámka |
|---|---|---|
R1, R2 | 220R | SMD 1206. |
R3 | 1K | SMD 1206. |
R4-R9 | 3K9 | SMD 1206. |
R10-R16 | 330R | SMD 1206. |
R17 | 10K | SMD 1206. |
LED1-LED4 | LED 3 mm / 2 mA červená | Dvojtečky. |
DIS1-DIS6 | HD-H101 / SA56-11SRWA | LED zobrazovače. |
Q1-Q6 | BC807 | SMD tranzistory. |
IC1 | PIC16F628A | Naprogramovaný procesor. |
JP2 | Jumper lišta přímá 5 pinů | Programovací konektor. |
JP3 | Jumper lišta přímá 2 piny | Volba rychlosti. |
SV2 | MLW10GT | Připojovací konektor. |
Dokumentace
Závěrem si zde můžete stáhnout veškerou dokumentaci pro stavbu. Je zde i projekt pro Eagle a program pro procesor.
Prohlášení
Tato konstrukce je určena pro vlastní použití. Převzetí na jiné stránky nebo komerční využití není povoleno bez souhlasu autora. Program mikrokontroleru je poskytován pro vlastní potřebu.