Obsah:

Kaskáda posuvných registrov 74HC595 riadená cez Arduino a Ethernet: 3 kroky
Kaskáda posuvných registrov 74HC595 riadená cez Arduino a Ethernet: 3 kroky

Video: Kaskáda posuvných registrov 74HC595 riadená cez Arduino a Ethernet: 3 kroky

Video: Kaskáda posuvných registrov 74HC595 riadená cez Arduino a Ethernet: 3 kroky
Video: Сдвиговый регистр 74HC595 как расширитель портов Arduino 2024, Júl
Anonim
Kaskáda posuvných registrov 74HC595 riadená cez Arduino a Ethernet
Kaskáda posuvných registrov 74HC595 riadená cez Arduino a Ethernet

Dnes by som chcel predstaviť projekt, ktorý som implementoval v dvoch verziách. Projekt používa 12 posuvných registrov 74HC595 a 96 LED diód, dosku Arduino Uno s ethernetovým štítom Wiznet W5100. Ku každému posuvnému registru je pripojených 8 diód LED. Čísla 0-9 predstavujú LED diódy. Každý posuvný register je vybavený 8 výstupnými svorkami.

Každý zo 4 posuvných registrov 74HC595 tvorí logickú jednotku - displej na zadanie 4 -miestneho čísla. Celkovo sú v projekte 3 logické zobrazenia pozostávajúce z 12 posuvných registrov.

Implementácie sú kompatibilné pre dosky Arduino Nano, Mega, Uno a pre ethernetové štíty a moduly z rodiny Wiznet, konkrétne modely W5100 a W5500 (pomocou knižnice Ethernet2).

Zásoby

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 až 12 posuvný register 74HC595
  • 32 až 96 LED diód

Krok 1: Implementované implementácie v projekte s Arduino:

  • Webový server - HTTP server bežiaci priamo na Arduine, umožňuje interpretáciu HTML kódu
  • WebClient - Klient schopný odoslať požiadavku HTTP na vzdialený server, odosielať / sťahovať údaje

Webový server:

  • Poskytuje webovú stránku HTML s formulárom, ktorý vám umožňuje zadať 3 štvorciferné čísla.
  • Po odoslaní formulára sú údaje spracované a uložené v pamäti EEPROM, užívateľ je o spracovaní údajov informovaný samostatnou podstránkou.
  • Po uložení údajov je používateľ presmerovaný späť do formulára.
  • Pamäť EEPROM je energeticky nezávislá, údaje sú prístupné aj po obnovení napájania, ale aj reštarte dosky.
  • Všetky čísla sú potom zastúpené na troch displejoch pozostávajúcich z 12 posuvných registrov 74HC595.

Webový klient:

  • Komunikácia s webovým serverom prebieha každých 5 sekúnd po protokole
  • Na webovom serveri je spustená webová aplikácia PHP, ktorá vám umožňuje zadať 3 štvorciferné čísla prostredníctvom formulára HTML.
  • Údaje z formulára sú uložené v databáze MySQL.
  • Arduino požaduje načítanie údajov z tejto databázy pomocou dotazu na server.
  • Spracované údaje analyzuje Arduino a potom vykreslí pomocou posuvných registrov 74HC595.
  • Dáta sú tiež uložené v EEPROM pamäti Arduina, slúžia v prípade, že zlyhá spojenie s webovým serverom / pri reštarte dosiek Arduino slúžia na prvotné vykreslenie dát na posuvných registroch.
  • Údaje sa v EEPROM prepíšu iba vtedy, keď sa údaje zmenia, bunky EEPROM sa uložia pred nepotrebným prepisovaním.

Krok 2: Zapojenie a snímka obrazovky

Elektroinštalácia a snímka obrazovky
Elektroinštalácia a snímka obrazovky
Elektroinštalácia a snímka obrazovky
Elektroinštalácia a snímka obrazovky

Kaskádové pripojenie pre posuvné registre 74HC595 (je možné rozšíriť o x ďalších) - Export z TinkerCAD. Screenshot je k dispozícii z rozhrania webového servera, keď získava údaje prostredníctvom formulára HTML, spracováva ich a ukladá do pamäte EEPROM.

Krok 3: Zdrojové kódy 74HC595 +

Z diagramu je zrejmé, že na ovládanie posuvných registrov sa používajú iba 3 dátové vodiče:

  • Dátový výstup - (SER až 74HC595)
  • Hodinový výstup - (SRCLK na 74HC595)
  • Západkový výstup - (RCLK až 74HC595)

Posuvné registre je možné kombinovať v kaskáde, pričom ostatné periférie je možné ovládať aj pomocou posuvných registrov - napríklad relé na spínanie výkonových prvkov. Jedným dátovým výstupom je možné ovládať aj 500 samostatných relé (s dostatočným počtom posuvných registrov a napájaním).

Pri riadení výstupov registrov je tiež možné upraviť poradie bajtov na najvýznamnejší bit - MSB FIRST alebo na LSB - najmenej významný bit. V dôsledku toho invertuje výstupy. V jednom prípade svieti napríklad 7 diód, v druhom prípade 1 dióda v závislosti od poradia vstupu a bajtov.

Obe implementácie používajú pamäť EEPROM, ktorá môže ukladať údaje aj po výpadku napájania alebo po reštarte dosky. Druhým použitím tejto pamäte je tiež schopnosť reprezentovať posledné známe údaje v prípade, že nie je možné komunikovať s webovým serverom (chyba konektivity, server).

Pamäť je obmedzená na 10 000 až 100 000 prepisov. Implementácie sú navrhnuté tak, aby čo najmenej zaťažovali pamäť. Údaje sa pri ich zmene neprepíšu. Ak sa z webového servera / klienta načítajú rovnaké údaje, v pamäti EEPROM sa neprepíšu.

Implementáciu softvéru (strana Arduino) pre WebClient si môžete zadarmo vyskúšať na:

Arduino komunikuje s webovým rozhraním, v ktorom je možné upraviť 3 štvorciferné čísla:

Vyžiadajte si kód pre webový server Arduino na adrese: [email protected]šie informácie o pokynoch získate na:

Odporúča: