Lekce 12 - Posuvný registr 74HC595

16.03.2013 19:09

V dnešním dílu si něco řekneme o posuvném registru 74HC595 (Shift Register). Dále si ukážeme několik příkladů jeho využití. Takže co vůbec posuvný registr dělá? V zásadě je to soustava klopných obvodů, kterými se logická informace posouvá dále pomocí hodinového impulsu. K vysvětlení posuvný registr má celkem má celkem pro nás potřebné 3 vstupy (SER, SRCLK, SCLK)  a celkem v našem případě 8 výstupů (QA - QH). 

Z toho již vyplývá trošku, že k ovládání 8 výstupů je zapotřeba pouze 3 piny na Arduinu. (pozn. v zapojení posuvných registrů v kaskádě je počet výstupů mohonásobně vyšší - vysvětlíme a ukážemě později). K vysvětlení samotné funkce. Když přijde hodinový signál na SRCLK posune se logická hodnota se SER do posuvného registru. Pro naše účely tam pro vysvětlení takto posuneme do obvodu 8 různých hodnot. Takto ovšem můžeme do registru zapisovat pouze když bude na vstupu SCLK logická 0. Po zápisu a přepnutí SCLK do stavu logické 1 se data zobrazí na výstupech. 

Pro naše účely si obvod zapojíme. Budeme potřebovat nepájivé kontakní pole, posuvný registr 74HC595, led diody ( v mém případě jsem použil LED baragraf), odpory k diodám (1,3 kOhm), propojovací kablíky. Nejdříve si na nepájivém kontaktním poli zapojíme napájení posuvného registu. U tohoto typu je to +5V na vývodu 16 a GND na vývodu 8. Potom ještě připojíme vývod 10 na +5V a vývod 13 na GND. Podle obrázku obvodu - zapojení vývodů zapojíme vstup sériových dat na pinu 14 (SER) do Arduina pin 2 (modrý kablík na fotu) a hodinový signál vývod 11 (SRCLK) na Arduino pin 4 a nakonec zapojíme RCLK z vývodu 12 na Arduino pin 3. Výstupy z registru jsou na vývodu 15 (to je Qa) a dále na vývodech 1 - 7 (Qb - Qh). Ty povedou k LED diodám na + a dále přes odpor (nutno spočítat u mě cca 1,3 kOhm - spíš víc než míň). Potřeba je tedy 8 ledek pro jeden registr.  

Obrázek zapojení pro ilustraci s Arduinem UNO (pozor na nastavení pinu pro komunikaci v programu !!! (obrázek převzatý ze serveru abs.stijncoppens.com)

 

Pro větší přehlednost jsem registr zapojil na 2 nepájivé kontaktní pole, ale s přehledem se vejdou i na jedno. Na obrázku níže zapojení napájení. 

Zapojení napájení a vývodu 10 a 13

 

Kompletně zapojený obvod i s LED diodami (LED baragraf), na obrázku je chyba označená oranžovou šipkou - nějakým nedopatřením se vývod obvodu 10 dostal na GND místo na +5V (ač je červený a svou orientaci značí jasně :-). Prosím tedy přepojte pokud nemáte na +5V. V předchozím obrázku tato chyba není.

Na tomto obrázku je jasné, že k ovládání posuvného registru stačí 3 piny z Arduina

 

Program není složitý, jak sami můžete vidět:

Pokud jste vše správně zapojili, výsledek by měl vapadat jako na obrázku níže. Dle programu jsme do Arduina odeslali hodnotu 10101010, podle které se nám výstupy nastavily.Odeslání proběhlo pomocí funkce ShiftOut, ketrá nám právě sama odešle i s hodinovým signálen data na určený pin. Zkuste si sami změnit binární hodnotu a uvidíte, že i výstup bude jiný.  

Na obrázku svítí každá druhá LEDka z prvních 8. Poslední 2 nejsou zapojeny, prože výstupů je jenom 8

Aby jsme neposílali do registruje jen jednu 8 bitovou hodnotu, trošku si program upravíme:

Jak po spupštění můžete, vidět vytvořili jsme si takové běžící světloa. Efekt je uložen v poli data, kde máme uloženo 14 8bitových hodnot. Sami si sekvenci můžete upravit podle svého, nebo jí i rozšířit.

Nyní si vysvětlíme jak zapojit dva registry do kaskády. Jak jste si všimli, jeden vývod tzv. posuvného regostu je nezapojen. Jedná se QH'. Z tohoto pinu tzv. přetečou data, která byla v registu. Toho můžeme využít a zapojit další posuvný regist. Data z QH' budou zapojena do vývodu SER (14) na registru.

Zapojení s Arduinem UNO a 2 registry

 

Na obrázku je videt modrý vodič z QH' (9), kterým se posouvají data do druhého registru na SER (14) 

 

Kód pro toto zapojení se neliší skoro vůbec od našeho zakládního kódu s jedním posuvným registrem:

Pro efekt běžícího světla je kód zde:

Jak můžete v kódu vidět data do registru pošleme pomocí funkce shiftOut() dvakrát. První pro druhý regist (nejdrívě se samozřejmně načtou do prvního) a podruhé pro první registr (při druhém volání funkce se data posunou z prvního do druhého).

Aby, jsme také registry mohli využít také smysluplně zkusíme si připojit k registrům také 2 číslice 7-segmentového dipleje. Kód, který je pod obrázkem počítá s tím, že číslovky mají společný +, a jednotlivé segmenty se rozsvicují přivedením GND (země) na jednotlivé vývody LED dipleje a samořejmně přes adekvátní odpor. (U mě opět cca 1,3 kOhm).

Na přoloženém videu můžete vidět, že jsem připojil v jednom případě také třetí registr. Registrů můžete za sebou zapojit kolik chcete. Dají se využít i v mnoha jiných případech, ale to je už na vás. Tak doufám, že vše bylo pochopeno a příště naschledanou.

Zpět

Diskusní téma: Lekce 12 - Posuvný registr 74HC595

Datum
Vložil
Titulek

займы

Datum
Vložil
Titulek

Are you 18? Come in and don't be shy!

Welcome to the world of adult Dating loveawake.ru

Datum
Vložil
Titulek

мебель для ванной

Куль надо таких по-чаще и по-больше!

Datum
Vložil
Titulek

Пчеломагазин

Пустяки!

Datum
Vložil
Titulek

демонтаж зданий

Вы сами придумали такую бесподобную фразу?

Datum
Vložil
Titulek

tap2741438rtuyjyh

mps2741438rttyneg FiJOdLQ 6rBb IO4qTL1

Datum
Vložil
Titulek

top2213910tjtyjy

mss2213910errtbh nRkqcLh rU5T FTWHXP3

Datum
Vložil
Titulek

tap2741438tjtyjy

mys2741438uttjr gz8meZE 0xzO p7080fJ

Datum
Vložil
Titulek

typ2213910hyerge

mss2213910rttyneg TQvmvhb 1gzb wR8Pp2p

Datum
Vložil
Titulek

pem till gardena


Hello, I enjoy reading all of your article post. I like to write a little comment to support you. pem till gardena fiobob.sewomabest.com/map12.php

<< 5 | 6 | 7 | 8 | 9 >>

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.