blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ 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 18118
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
Ako nainštalovať Watmonitor?
[ 21.11.2024] (príspevkov 0)
Update grafov, ukážkových kódov - Hladin...
[ 16.11.2024] (príspevkov 0)
XIAO ESP32-C6 od Seeed Studio
[ 10.11.2024] (príspevkov 0)
ESP-IDF v4.4.2 prechod na v5.2
[ 5.11.2024] (príspevkov 0)
Krabička pre RFID DOMINATOR 2.0
[ 18.10.2024] (príspevkov 0)
Známe neduhy - Ecotec 1.6E Opel/GM Chevr...
[ 8.10.2024] (príspevkov 0)
Cold-start BQ25570 vs BQ25504 od Texas I...
[ 2.8.2024] (príspevkov 0)
EG21-G - MQTT pripojenie na Thingsboard
[ 5.6.2024] (príspevkov 0)
Quectel EG21-G - HTTP request
[ 17.5.2024] (príspevkov 0)