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, Novembar
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 implementirao 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 sa 8 izlaznih terminala.

Svaki od 4 registra smjene 74HC595 čini 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 i za Ethernet štitove i module iz porodice Wiznet, posebno modela W5100 i W5500 (koristeći biblioteku Ethernet2).

Supplies

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

Korak 1: Implementirane implementacije u projektu s Arduinom:

  • Web server - HTTP server koji radi direktno na Arduinu, omogućava tumačenje HTML koda
  • WebClient - Klijent koji može poslati HTTP zahtjev udaljenom serveru, slati / preuzimati podatke

Web server:

  • 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, 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 brojevi su tada prikazani na tri ekrana 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ćava da unesete 3 četveroznamenkasta broja putem HTML obrasca.
  • Podaci iz obrasca pohranjeni su u MySQL bazi podataka.
  • Arduino traži da preuzme podatke iz ove baze podataka putem upita do servera.
  • 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 ponovo pokrenu, koriste se za početno iscrtavanje podataka u registrima pomaka.
  • Podaci se prepisuju u EEPROM samo kada se podaci promijene, ćelije EEPROM -a se spašavaju od nepotrebnog prepisivanja.

Korak 2: Ožičenje i snimak ekrana

Ožičenje i snimak ekrana
Ožičenje i snimak ekrana
Ožičenje i snimak ekrana
Ožičenje i snimak ekrana

Kaskadna veza za registre pomaka 74HC595 (može se proširiti za x više) - Izvoz iz TinkerCAD -a. Snimka zaslona postoji iz sučelja web poslužitelja, kada prima 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 žice podataka koriste za kontrolu registara pomaka:

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

Registri pomaka mogu se kombinirati kaskadno, 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 serverom (greška u povezivanju, server).

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

Softverska implementacija (Arduino strana) za WebClient može se 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čuje se: