Tartalomjegyzék:

A váltóregiszterek kaszkádja 74HC595 Arduino és Ethernet segítségével vezérelhető: 3 lépés
A váltóregiszterek kaszkádja 74HC595 Arduino és Ethernet segítségével vezérelhető: 3 lépés

Videó: A váltóregiszterek kaszkádja 74HC595 Arduino és Ethernet segítségével vezérelhető: 3 lépés

Videó: A váltóregiszterek kaszkádja 74HC595 Arduino és Ethernet segítségével vezérelhető: 3 lépés
Videó: Schieberegister am Arduino - verstehen & ansteuern - 74HC595 Tutorial 2024, Július
Anonim
A váltóregiszterek kaszkádja 74HC595 Arduino és Ethernet segítségével vezérelve
A váltóregiszterek kaszkádja 74HC595 Arduino és Ethernet segítségével vezérelve

Ma egy olyan projektet szeretnék bemutatni, amelyet két változatban valósítottam meg. A projekt 12 műszakregisztert 74HC595 és 96 LED -et, Arduino Uno kártyát és Wiznet W5100 Ethernet pajzsot használ. Minden műszakregiszterhez 8 LED kapcsolódik. A 0-9 számokat LED-ek jelzik. Minden műszakregiszter 8 kimeneti terminállal van felszerelve.

A 74HC595 négy műszakregiszter mindegyike logikai egységet képez - egy kijelzőt a 4 jegyű számok listázásához. Összesen 3 logikai kijelző található a projektben, amely 12 műszakregiszterből áll.

A megvalósítások kompatibilisek az Arduino Nano, Mega, Uno lapokkal, valamint a Wiznet család Ethernet -pajzsaival és moduljaival, különösen a W5100 és W5500 modellekkel (az Ethernet2 könyvtár használatával).

Kellékek

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 -ig 12 műszakos regiszter 74HC595
  • 32 - 96 LED dióda

1. lépés: Végrehajtott megvalósítások az Arduino projektben:

  • Webszerver - Arduino -n közvetlenül futó HTTP -kiszolgáló, lehetővé teszi a HTML -kód értelmezését
  • WebClient - Ügyfél, amely képes HTTP kérést küldeni egy távoli szerverhez, adatokat küldeni / letölteni

Web szerver:

  • Egy HTML weboldalt biztosít egy űrlappal, amely lehetővé teszi három négyjegyű szám megadását.
  • Az űrlap elküldése után az adatokat feldolgozzák és az EEPROM memóriában tárolják, a felhasználót külön aloldal tájékoztatja az adatfeldolgozásról.
  • Az adatok mentése után a felhasználót visszairányítják az űrlapra.
  • Az EEPROM memória energiafüggetlen, az adatok a tápellátás után, de a tábla újraindítása után is elérhetők.
  • Ezután minden szám megjelenik három kijelzőn, amelyek 12 74HC595 műszakregiszterből állnak.

WebClient:

  • A kommunikáció a webszerverrel a HTTP protokoll után 5 másodpercenként történik.
  • A webszerver PHP webes alkalmazást futtat, amely lehetővé teszi 3 négyjegyű szám bevitelét a HTML űrlapon keresztül.
  • Az űrlap adatait egy MySQL adatbázis tárolja.
  • Az Arduino kéri az adatok lekérését az adatbázisból egy lekérdezésen keresztül a szerverhez.
  • A feldolgozott adatokat Arduino elemzi, majd a 74HC595 műszakregiszterek segítségével ábrázolja.
  • Az adatok az Arduino EEPROM memóriájában is tárolódnak, felhasználásra kerülnek abban az esetben, ha a kapcsolat a webszerverrel meghiúsul / amikor az Arduino táblákat újraindítják, ezeket használják a műszakregiszterek adatainak kezdeti rendereléséhez.
  • Az adatok csak akkor kerülnek felülírásra az EEPROM -ban, ha az adatok megváltoznak, az EEPROM -cellák mentésre kerülnek a felesleges felülírástól.

2. lépés: Kábelezés és képernyőkép

Vezetékek és képernyőkép
Vezetékek és képernyőkép
Vezetékek és képernyőkép
Vezetékek és képernyőkép

Kaszkádkapcsolat a 74HC595 műszakregiszterekhez (x -el tovább bővíthető) - Exportálás a TinkerCAD -ből. A képernyőkép a webszerver felületéről származik, amikor adatokat kap HTML -űrlapon, feldolgozza és elmenti az EEPROM memóriába.

3. lépés: 74HC595 + forráskódok

A diagramból jól látható, hogy csak 3 adatvezetéket használnak a műszakregiszterek vezérlésére:

  • Adatkimenet - (SER - 74HC595)
  • Óra kimenet - (SRCLK a 74HC595 készüléken)
  • Reteszkimenet - (RCLK - 74HC595)

A váltóregiszterek kaszkádban kombinálhatók, míg más perifériák szintén műszakregiszterek segítségével vezérelhetők - például a tápelemek kapcsolására szolgáló relék. Lehetőség van 500 külön relé vezérlésére (elegendő számú váltóregiszterrel és tápegységgel) egy adatkimenettel.

A regiszterek kimeneteinek vezérlésekor lehetőség van a bájtsorrend módosítására a legjelentősebb bitre - MSB FIRST, vagy LSB - a legkevésbé jelentős bitre. Ennek eredményeként megfordítja a kimeneteket. Az egyik esetben például 7 dióda világít, a másik esetben 1 dióda a bemeneti és bájt sorrendtől függően.

Mindkét megvalósítás EEPROM memóriát használ, amely áramszünet vagy tábla újraindítás után is képes adatokat tárolni. Ennek a memóriának a második felhasználása az utolsó ismert adatok ábrázolása is, ha nem lehetséges a kommunikáció a webszerverrel (csatlakozási hiba, szerver).

A memória 10 000-100 000 átiratra korlátozódik. A megvalósításokat a lehető legkisebb memóriaterhelésre tervezték. Az adatok nem lesznek felülírva, ha megváltoztatják őket. Ha ugyanazokat az adatokat olvassa be a webszerverről / kliensről, akkor nem írja felül azokat az EEPROM memóriában.

A WebClient szoftver implementálása (Arduino oldal) ingyenesen kipróbálható a következő címen:

Az Arduino olyan webes felületen kommunikál, amelyben 3 négyjegyű szám módosítható:

Kérje az Arduino kódját webszerverként a következő címen: [email protected] Adományozzon további utasításokat:

Ajánlott: