Sadržaj:

Kaskada registara pomaka 74HC595 kontrolirano putem Arduina i Etherneta: 3 koraka
Kaskada registara pomaka 74HC595 kontrolirano putem Arduina i Etherneta: 3 koraka

Video: Kaskada registara pomaka 74HC595 kontrolirano putem Arduina i Etherneta: 3 koraka

Video: Kaskada registara pomaka 74HC595 kontrolirano putem Arduina i Etherneta: 3 koraka
Video: 74hc595 with Arduino tutorial 2024, Srpanj
Anonim
Kaskada registara pomaka 74HC595 Kontrolirano putem Arduina i Etherneta
Kaskada registara pomaka 74HC595 Kontrolirano putem Arduina i Etherneta

Danas bih želio predstaviti projekt koji sam proveo u dvije verzije. Projekt koristi 12 registara pomaka 74HC595 i 96 LED dioda, Arduino Uno ploču s Ethernet štitom Wiznet W5100. Na svaki registar pomaka spojeno je 8 LED dioda. Brojevi 0-9 predstavljeni su LED diodama. Svaki registar pomaka opremljen je s 8 izlaznih priključaka.

Svaki od 4 registra izmjene 74HC595 tvori logičku jedinicu - zaslon za ispis četveroznamenkastog broja. Ukupno u projektu postoje 3 logička prikaza koji se sastoje od 12 registara smjena.

Implementacije su kompatibilne za Arduino ploče Nano, Mega, Uno te za Ethernet štitove i module iz obitelji Wiznet, točnije modele W5100 i W5500 (koristeći biblioteku Ethernet2).

Pribor

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 do 12 registara pomaka 74HC595
  • 32 do 96 LED dioda

Korak 1: Implementirane implementacije u projektu s Arduinom:

  • Web poslužitelj - HTTP poslužitelj koji radi izravno na Arduinu, omogućuje tumačenje HTML koda
  • WebClient - klijent sposoban poslati HTTP zahtjev udaljenom poslužitelju, poslati / preuzeti podatke

Web poslužitelj:

  • Pruža HTML web stranicu s obrascem koji vam omogućuje unos 3 četveroznamenkasta broja.
  • Nakon slanja obrasca, podaci se obrađuju i pohranjuju u memoriju EEPROM -a, korisnik se o obradi podataka informira zasebnom podstranicom.
  • Nakon spremanja podataka, korisnik se preusmjerava natrag u obrazac.
  • EEPROM memorija je energetski neovisna, podaci su dostupni čak i nakon oporavka napajanja, ali i ponovnog pokretanja ploče.
  • Svi su brojevi tada prikazani na tri zaslona koji se sastoje od 12 registara pomaka 74HC595.

WebClient:

  • Komunikacija s web poslužiteljem odvija se svakih 5 sekundi nakon HTTP protokola.
  • Web poslužitelj pokreće PHP web aplikaciju koja vam omogućuje unos 3 četveroznamenkasta broja putem HTML obrasca.
  • Podaci iz obrasca pohranjeni su u MySQL bazi podataka.
  • Arduino traži da dohvati podatke iz ove baze podataka putem upita do poslužitelja.
  • Arduino analizira obrađene podatke, zatim ih iscrtava pomoću registara pomaka 74HC595.
  • Podaci se također pohranjuju u EEPROM memoriju Arduina, koriste se u slučaju da veza s web poslužiteljem ne uspije / kada se Arduino ploče ponovno pokrenu, koriste se za početno iscrtavanje podataka o registrima pomaka.
  • Podaci se prepisuju u EEPROM samo kad se podaci promijene, EEPROM ćelije se spremaju od nepotrebnog prepisivanja.

Korak 2: Ožičenje i snimka zaslona

Ožičenje i snimka zaslona
Ožičenje i snimka zaslona
Ožičenje i snimka zaslona
Ožičenje i snimka zaslona

Kaskadna veza za registre pomaka 74HC595 (može se proširiti za x više) - Izvoz iz TinkerCAD -a. Snimka zaslona postoji s sučelja web poslužitelja, kada dobiva podatke putem HTML obrasca, obrađuje ih i sprema u memoriju EEPROM -a.

Korak 3: 74HC595 + izvorni kodovi

Iz dijagrama je jasno da se samo 3 podatkovne žice koriste za upravljanje registrima pomaka:

  • Utičnica za podatke - (SER do 74HC595)
  • Sat izlaz - (SRCLK na 74HC595)
  • Izlaz za zasun - (RCLK do 74HC595)

Registri pomaka mogu se kombinirati u kaskadi, dok se drugi periferni uređaji također mogu kontrolirati registrima pomaka - na primjer, releji za prebacivanje elemenata napajanja. Također je moguće kontrolirati 500 zasebnih releja (s dovoljnim brojem registara pomaka i napajanjem) s jednim izlazom podataka.

Prilikom upravljanja izlazima registara, također je moguće izmijeniti redoslijed bajtova na najznačajniji bit - MSB FIRST, ili na LSB - najmanji bit. Kao rezultat toga, on obrće izlaze. U jednom slučaju, na primjer, svijetli 7 dioda, u drugom slučaju 1 dioda ovisno o ulazu i redoslijedu bajtova.

Obje implementacije koriste EEPROM memoriju koja može pohraniti podatke čak i nakon nestanka struje ili nakon ponovnog pokretanja ploče. Druga upotreba ove memorije je i mogućnost predstavljanja posljednjih poznatih podataka u slučaju da nije moguće komunicirati s web poslužiteljem (pogreška povezivanja, poslužitelj).

Memorija je ograničena na 10 000 do 100 000 prijepisa. Implementacije su dizajnirane za najmanje moguće opterećenje memorije. Podaci se neće prebrisati kad se promijene. Ako se isti podaci čitaju s web poslužitelja / klijenta, oni se ne prepisuju u memoriju EEPROM -a.

Provedbu softvera (Arduino strana) za WebClient možete besplatno isprobati na:

Arduino komunicira s web sučeljem u kojem je moguće izmijeniti 3 četveroznamenkasta broja:

Zatražite kôd za Arduino kao web poslužitelj na: [email protected] za dodatne upute:

Preporučeni: