blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
3
SLEDUJETE BLOG
Programátor
deadawp



Arduino - register 74HC595 + 7-segmentový displej
pridal deadawp 18.7. 2020 o 15:30 (naposledy upravené 4.7. 2021 o 17:07)



Posuvný register 74HC595 sme už v tomto blogu spomínali v súvislosti s možnosťami ich prepojenia a ich využitie v projektoch s Arduinom a Ethernet shieldom či už v režime webservera, alebo klienta s ovládaním celkovo 96 LED diód riadených prostredníctvom webového rozhrania.  

Dnes si ukážeme na možnosti ovládania 7-segmentového displeja prostredníctvom posuvného registra 74HC595. Projekt je škálovateľný a umožňuje pripojenie viacerých registrov a displejov tak ako v minulom projekte. Pre ovládanie posuvného registra 74HC595 používame 3 signály - dátový (SER), hodinový (SRCLK) a preklápací (RCLK).

8-bitový posuvný register 74HC595 môže ovládať 8 výstupov (QA až QH) a to osmicou bitov (jedným bajtom), ktorú do neho zapíšeme príkazom shiftOut. 

7-segmentový displej má na ovládanie 8 vývodov. 7 vývodov riadi jednotlivé segmenty (A až G), posledný vývod riadi bodku (DP). Všetky vývody majú pripojený 220ohm až 1kohm predradný rezistor (rovnako ako u klasických LED diód), ktorý obmedzuje pretekajúci prúd obvodom.

V našom prípade sa využíva iba 7 vývodov riadených z posuvného registra bez ovládania bodky. To znamená, že na ovládanie využívame hodnoty 0 až 127 (celkovo 128 funkčných hodnôt), nakoľko bitová hodnota 128 až 255 zasahuje už do ôsmeho bitu, ktorý sa už nevyužíva (nevyužívame DP signál - bodku). Okrem výpisu jednotlivých číslic prinášajú isté bitové kombinácie posuvného registra, ktoré na displej vypíšu aj inak nepoužívané znaky, ktoré je možné v projektoch využit.

Napríklad znaky: c, d, U, E, H, S, Z, J, o, ° a mnohé ďalšie, ktoré môžu slúžiť na výpis chybových kódov, problémov, diagnostiky, ako to poznáme z mikrovĺnnych trúb, či zváračiek, testerov matičných dosiek. Nájdu preto uplatnenie v širokej palete projektov, kde je možné využiť 7-segmentový displej. 

Pri testovaní prechádzania celého cyklu s následovným zapojením bolo zistené, pri akých hodnotách bajtu sa zobrazujú čísla 0-9.

POZOR, tieto hodnoty platia iba pre shiftOut() metódou MSB FIRST!  
Zapojenie 74HC595 --> Arduino (Uno, R3):

Vcc 5V
GND GND
SER (Data) D6
RCLK (Preklápací --> Latch) D7
SRCLK (Clock) D8
OE GND
SRCLR 5V

Zapojenie 74HC595 --> 7-segmentový displej:

Vývod 74HC595 Vstup 7-segmentového displeja
QA G
QB F
QC A
QD B
QE E
QF D
QG C

Hodnoty pre bajt (osmicu bitov) a vizualizované číslo na 7-segmentovom displeji:

00000001 == 1 (DEC) 0
00110111 == 55 (DEC) 1
01000010 == 66 (DEC) 2
00010010 == 18 (DEC) 3
00110100 == 52 (DEC) 4
00011000 == 24 (DEC) 5
00001000 == 8 (DEC) 6
00110011 == 51 (DEC) 7
00000000 == 0 (DEC) 8
00010000 == 16 (DEC) 9

POZOR, tieto hodnoty platia iba pre shiftOut() metódou MSB FIRST, pri metóde LSB FIRST budú hodnot v celom intervale intertované!

Celé zapojenie aj s vizualizáciou číslic a ostatných znakov všetkých možných 7-bitových kombinácii je možné vyskúšať v simuláre TinkerCAD. Použité je zapojenie so spoločnou anódou, na ktorú je privedených 5V!  Pri zapojení so spoločnou katódou je nutné pripojiť GND! 

Programová implementácia obsahuje výpis čísel 0 až 9 na displeji (bez opakovania) vo funkcii setup(). Jednou zo zakomentovaných častí je aj výpis celého 7-bitového intervalu so sekundovou pauzou na displej.

TinkerCAD projekt: https://www.tinkercad.com/things/6G6qyM6YI4h

Minulý projekt s kaskádou posuvných registrov je možné nájsť na: http://arduino.clanweb.eu/register-74hc595.php

Zapojenie môže byť rozšírené pre pripojenie viacerých posuvných registrov 74HC595 zapojených do kaskády s väčším počtom 7-segmentových displejov. Tento článok môže slúžiť ako základ pre projekty typu: Digitálna váha, hodiny, vizualizácia nastavených údajov, regulácie v Arduino  projektoch. Častokrát je problémom kontrast 7-segmentových displejov, kedy sa jednotlivé segmenty "zlievajú" a znižuje to čitateľnosť displeja. 


Riešenie je veĺmi jednoduché s využitím farebnej fólie, ktoré zvýši kontrast displeja.



Prístupov 19605
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Lolin32 vs. Lolin32 Lite - čo je dobré v...
[ 21.3.2025] (príspevkov 0)
ZK-4KX buck/boost regulátor s krabičkou
[ 16.3.2025] (príspevkov 0)
Protherm kotol chyba F.28 - reštart kotl...
[ 2.3.2025] (príspevkov 0)
ESP32 hlasové ovládanie s Firebase Realt...
[ 1.3.2025] (príspevkov 0)
Maticový displej s MAX7219
[ 22.2.2025] (príspevkov 0)
EBYTE E32-433T20D s dosahom až 3 km?
[ 19.2.2025] (príspevkov 0)
HTTP POST request - SIMCom A7670E
[ 9.2.2025] (príspevkov 0)
Logický analyzátor 24 MHz / 8 kanálov
[ 7.2.2025] (príspevkov 0)