Kazalo:

Kaskada premičnih registrov 74HC595, nadzorovana prek Arduina in Etherneta: 3 koraki
Kaskada premičnih registrov 74HC595, nadzorovana prek Arduina in Etherneta: 3 koraki

Video: Kaskada premičnih registrov 74HC595, nadzorovana prek Arduina in Etherneta: 3 koraki

Video: Kaskada premičnih registrov 74HC595, nadzorovana prek Arduina in Etherneta: 3 koraki
Video: Сдвиговый регистр 74HC595 как расширитель портов Arduino 2024, November
Anonim
Kaskada premičnih registrov 74HC595, nadzorovana prek Arduina in Etherneta
Kaskada premičnih registrov 74HC595, nadzorovana prek Arduina in Etherneta

Danes bi rad predstavil projekt, ki sem ga izvedel v dveh različicah. Projekt uporablja 12 registrov premikov 74HC595 in 96 LED, ploščo Arduino Uno z Ethernet ščitom Wiznet W5100. Na vsak premični register je priključenih 8 LED. Številke 0-9 so predstavljene z LED diodami. Vsak premični register je opremljen z 8 izhodnimi sponkami.

Vsak od štirih registrov premikov 74HC595 tvori logično enoto - zaslon za prikaz 4 -mestne številke. Skupaj so v projektu 3 logični prikazi, sestavljeni iz 12 registrov premikov.

Izvedbe so združljive za plošče Arduino Nano, Mega, Uno ter za ethernetne ščite in module iz družine Wiznet, zlasti modelov W5100 in W5500 (z uporabo knjižnice Ethernet2).

Zaloge

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 do 12 prestavni register 74HC595
  • 32 do 96 LED diod

1. korak: Izvedene izvedbe v projektu z Arduinom:

  • Spletni strežnik - strežnik HTTP, ki deluje neposredno na Arduinu, omogoča razlago kode HTML
  • WebClient - Odjemalec, ki lahko pošlje zahtevo HTTP oddaljenemu strežniku in pošlje / naloži podatke

Spletni strežnik:

  • Ponuja spletno stran HTML z obrazcem, ki omogoča vnos treh štirimestnih številk.
  • Po pošiljanju obrazca se podatki obdelujejo in shranijo v pomnilnik EEPROM, uporabnika o obdelavi podatkov obvesti ločena podstran.
  • Po shranjevanju podatkov je uporabnik preusmerjen nazaj na obrazec.
  • Pomnilnik EEPROM je energetsko neodvisen, podatki so dostopni tudi po ponovni vzpostavitvi napajanja, vendar tudi ob ponovnem zagonu plošče.
  • Vse številke so nato predstavljene na treh zaslonih, sestavljenih iz 12 registrov premikov 74HC595.

WebClient:

  • Komunikacija s spletnim strežnikom poteka vsakih 5 sekund po protokolu
  • Spletni strežnik poganja spletno aplikacijo PHP, ki omogoča vnos treh štirimestnih številk prek obrazca HTML.
  • Podatki iz obrazca so shranjeni v bazi podatkov MySQL.
  • Arduino zahteva poizvedbo podatkov iz te baze podatkov prek poizvedbe do strežnika.
  • Obdelane podatke razčleni Arduino, nato jih nariše z uporabo registrov premikov 74HC595.
  • Podatki so shranjeni tudi v pomnilniku EEPROM Arduina, uporabljajo se v primeru, da povezava s spletnim strežnikom ne uspe / ob ponovnem zagonu plošč Arduino, se uporabljajo za začetno upodabljanje podatkov v registrih premikov.
  • Podatki se v EEPROM prepišejo le, ko se podatki spremenijo, celice EEPROM so shranjene pred nepotrebnim prepisovanjem.

2. korak: Ožičenje in posnetek zaslona

Ožičenje in posnetek zaslona
Ožičenje in posnetek zaslona
Ožičenje in posnetek zaslona
Ožičenje in posnetek zaslona

Kaskadna povezava za registre premikov 74HC595 (lahko se podaljša še za x) - Izvoz iz TinkerCAD -a. Posnetek zaslona je na voljo iz vmesnika spletnega strežnika, ko dobi podatke prek obrazca HTML, jih obdela in shrani v pomnilnik EEPROM.

3. korak: 74HC595 + izvorne kode

Iz diagrama je razvidno, da se za nadzor registrov premikov uporabljajo le 3 podatkovne žice:

  • Podatkovna vtičnica - (SER do 74HC595)
  • Ura izhoda - (SRCLK na 74HC595)
  • Izhod za zapah - (RCLK do 74HC595)

Prestavne registre je mogoče združiti v kaskado, druge zunanje naprave pa je mogoče nadzorovati tudi s premičnimi registri - na primer releji za preklapljanje močnih elementov. Možno je tudi krmiljenje 500 ločenih relejev (z zadostnim številom registrov premikov in napajalnikom) z enim izhodom podatkov.

Pri krmiljenju izhodov registrov je možno tudi spreminjanje vrstnega reda bajtov na najpomembnejši bit - MSB FIRST ali v LSB - najmanj pomemben bit. Posledično obrne izhode. V enem primeru na primer prižge 7 diod, v drugem primeru 1 dioda, odvisno od vnosa in vrstnega reda bajtov.

Obe izvedbi uporabljata pomnilnik EEPROM, ki lahko shrani podatke tudi po izpadu napajanja ali po ponovnem zagonu plošče. Druga uporaba tega pomnilnika je tudi možnost predstavljanja zadnjih znanih podatkov v primeru, da ni mogoče komunicirati s spletnim strežnikom (napaka pri povezljivosti, strežnik).

Spomin je omejen na 10.000 do 100.000 prepisov. Izvedbe so zasnovane za najmanjšo možno obremenitev pomnilnika. Ko bodo spremenjeni, podatki ne bodo prepisani. Če se isti podatki berejo s spletnega strežnika / odjemalca, se ne prepišejo v pomnilnik EEPROM.

Programsko opremo (stran Arduino) za WebClient lahko brezplačno preizkusite na:

Arduino komunicira s spletnim vmesnikom, v katerem je mogoče spremeniti 3 štirimestne številke:

Vprašajte kodo za Arduino kot spletni strežnik na: [email protected] Donirajte za več navodil:

Priporočena: