Konstrukce vyšla v časopisu Praktická elektronika 10/2015.

Ukázka funkce Serial LED Display.

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 prouduPřibližně 100 mA.
Komunikační rozhraníUART 19,2 / 2,4 kbps.
Počet znaků na displeji6.
Řízení dvojtečekSamostatný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í

Schéma Serial LED Display
Schéma zapojení Serial LED Display.

Deska spoje a osazovací plán

Serial LED Display PCB horní strana
Plošný spoj - horní strana.
Serial LED Display PCB spodní strana
Plošný spoj - spodní strana.
Serial LED Display osazení horní strana
Osazovací plán - horní strana.
Serial LED Display osazení spodní strana
Osazovací plán - spodní strana.

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říkladOdesílaná dataVýsledek
Zobrazit číslo 6 na DIS171h7 je kód znaku 6, 1 je adresa DIS1.
Zobrazit 12345671h 62h 53h 44h 35h 26hNa displeji se zobrazí postupně číslice 1 až 6.
Zhasnout celý displej01h 02h 03h 04h 05h 06hNa 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.

Komunikace přes terminál
Nastavení komunikační rychlosti a ukázka sekvence pro zhasnutí celého displeje.

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 / typPoznámka
R1, R2220RSMD 1206.
R31KSMD 1206.
R4-R93K9SMD 1206.
R10-R16330RSMD 1206.
R1710KSMD 1206.
LED1-LED4LED 3 mm / 2 mA červenáDvojtečky.
DIS1-DIS6HD-H101 / SA56-11SRWALED zobrazovače.
Q1-Q6BC807SMD tranzistory.
IC1PIC16F628ANaprogramovaný procesor.
JP2Jumper lišta přímá 5 pinůProgramovací konektor.
JP3Jumper lišta přímá 2 pinyVolba rychlosti.
SV2MLW10GTPř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.