Cuprins:

Cascada registrelor de schimbare 74HC595 Controlată prin Arduino și Ethernet: 3 pași
Cascada registrelor de schimbare 74HC595 Controlată prin Arduino și Ethernet: 3 pași

Video: Cascada registrelor de schimbare 74HC595 Controlată prin Arduino și Ethernet: 3 pași

Video: Cascada registrelor de schimbare 74HC595 Controlată prin Arduino și Ethernet: 3 pași
Video: CUM SETAM VITEZA SI MODUL DE LUCRU LA POMPA RECIRCULARE CENTRALA SAU SOBA TIP CENTRALA- DAB EVOSTA 2 2024, Iulie
Anonim
Cascade of Shift Registers 74HC595 Controlat prin Arduino și Ethernet
Cascade of Shift Registers 74HC595 Controlat prin Arduino și Ethernet

Astăzi aș dori să vă prezint un proiect pe care l-am implementat în două versiuni. Proiectul folosește 12 registre de schimbare 74HC595 și 96 de LED-uri, placa Arduino Uno cu ecran Ethernet Wiznet W5100. La fiecare registru de schimbare sunt conectate 8 LED-uri. Numerele 0-9 sunt reprezentate de LED-uri. Fiecare registru de schimbare este echipat cu 8 terminale de ieșire.

Fiecare dintre cele 4 registre de schimbare 74HC595 formează o unitate logică - un afișaj pentru listarea unui număr din 4 cifre. În total, există 3 afișări logice în proiect, constând din 12 registre de schimburi.

Implementările sunt compatibile pentru plăcile Arduino Nano, Mega, Uno și pentru ecranele și modulele Ethernet din familia Wiznet, în special modelele W5100 și W5500 (folosind biblioteca Ethernet2).

Provizii

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 până la 12 registre de schimburi 74HC595
  • 32 până la 96 diode LED

Pasul 1: Implementări implementate în proiect cu Arduino:

  • Webserver - server HTTP care rulează direct pe Arduino, permite interpretarea codului HTML
  • WebClient - Client capabil să facă o cerere HTTP către un server la distanță, trimitând / descărcând date

Webserver:

  • Oferă o pagină web HTML cu un formular care vă permite să introduceți 3 numere din patru cifre.
  • După trimiterea formularului, datele sunt procesate și stocate în memoria EEPROM, utilizatorul este informat despre prelucrarea datelor printr-o subpagină separată.
  • După salvarea datelor, utilizatorul este redirecționat înapoi la formular.
  • Memoria EEPROM este independentă de energie, datele sunt accesibile chiar și după recuperarea energiei, dar și repornirea plăcii.
  • Toate numerele sunt apoi reprezentate pe trei afișaje formate din 12 registre de schimbare 74HC595.

WebClient:

  • Comunicarea cu serverul web are loc la fiecare 5 secunde după protocolul
  • Serverul web rulează o aplicație web PHP care vă permite să introduceți 3 numere din patru cifre prin formularul HTML.
  • Datele din formular sunt stocate într-o bază de date MySQL.
  • Arduino solicită recuperarea datelor din această bază de date printr-o interogare către server.
  • Datele procesate sunt analizate de Arduino, apoi reprezentate grafic folosind registrele de schimbare 74HC595.
  • Datele sunt stocate și în memoria EEPROM a Arduino, sunt utilizate în cazul în care conexiunea la serverul web eșuează / când plăcile Arduino sunt repornite, sunt utilizate pentru redarea inițială a datelor de pe registrele de schimbare.
  • Datele sunt suprascrise în EEPROM numai atunci când datele se modifică, celulele EEPROM sunt salvate de la suprascrierea inutilă.

Pasul 2: Cablare și captură de ecran

Cablare și captură de ecran
Cablare și captură de ecran
Cablare și captură de ecran
Cablare și captură de ecran

Conexiune în cascadă pentru registrele de schimbare 74HC595 (poate fi extinsă cu x mai multe) - Exportați din TinkerCAD. Captura de ecran este acolo din interfața serverului web, când primește date prin formular HTML, le procesează și le salvează în memoria EEPROM.

Pasul 3: 74HC595 + Coduri sursă

Din diagramă reiese clar că doar 3 fire de date sunt utilizate pentru a controla registrele de schimbare:

  • Ieșire date - (SER la 74HC595)
  • Ieșire ceas - (SRCLK pe 74HC595)
  • Latch Outlet - (RCLK la 74HC595)

Registrele de schimb pot fi combinate în cascadă, în timp ce alte periferice pot fi controlate și de registre de schimb - de exemplu, relee pentru comutarea elementelor de putere. De asemenea, este posibil să controlați 500 de relee separate (cu un număr suficient de registre de schimbare și alimentare) cu o singură ieșire de date.

Când controlați ieșirile registrelor, este, de asemenea, posibil să modificați ordinea de octeți la cel mai semnificativ bit - MSB FIRST sau la LSB - cel mai puțin semnificativ bit. Ca urmare, inversează ieșirile. Într-un caz, de exemplu, sunt aprinse 7 diode, în celălalt caz 1 diodă în funcție de ordinea de intrare și de octeți.

Ambele implementări folosesc memoria EEPROM, care poate stoca date chiar și după o pană de curent sau după o repornire a plăcii. A doua utilizare a acestei memorii este, de asemenea, capacitatea de a reprezenta ultimele date cunoscute în cazul în care nu este posibil să comunicați cu serverul web (eroare de conectivitate, server).

Memoria este limitată la 10 000 - 100 000 transcrieri. Implementările sunt proiectate pentru o încărcare de memorie cât mai mică posibilă. Datele nu vor fi suprascrise atunci când vor fi modificate. Dacă aceleași date sunt citite de pe serverul web / client, acestea nu sunt suprascrise în memoria EEPROM.

Implementarea software-ului (partea Arduino) pentru WebClient poate fi încercată gratuit la:

Arduino comunică cu o interfață web în care este posibil să modificați 3 numere din patru cifre:

Solicitați cod pentru Arduino ca server web la: [email protected] Donați pentru mai multe instrumente:

Recomandat: