Sisukord:

Nihkeregistrite kaskaad 74HC595 Arduino ja Etherneti kaudu juhitav: 3 sammu
Nihkeregistrite kaskaad 74HC595 Arduino ja Etherneti kaudu juhitav: 3 sammu

Video: Nihkeregistrite kaskaad 74HC595 Arduino ja Etherneti kaudu juhitav: 3 sammu

Video: Nihkeregistrite kaskaad 74HC595 Arduino ja Etherneti kaudu juhitav: 3 sammu
Video: Одуванчик / The Dandelion. Фильм. StarMedia. Фильмы о Любви. Мелодрама 2024, November
Anonim
Nihkeregistrite kaskaad 74HC595 juhitav Arduino ja Etherneti kaudu
Nihkeregistrite kaskaad 74HC595 juhitav Arduino ja Etherneti kaudu

Täna tahaksin tutvustada projekti, mille olen rakendanud kahes versioonis. Projekt kasutab 12 vahetusregistrit 74HC595 ja 96 LED -i, Arduino Uno plaati koos Etherneti kilbiga Wiznet W5100. Iga vahetuste registriga on ühendatud 8 LED -i. Numbreid 0-9 tähistavad LED-id. Iga vahetuste register on varustatud 8 väljundklemmiga.

Iga 4 vahetuse register 74HC595 moodustab loogilise üksuse - ekraani 4 -kohalise numbri loetlemiseks. Kokku on 12 vahetuste registrist koosnevas projektis 3 loogilist kuva.

Rakendused ühilduvad Arduino tahvlitega Nano, Mega, Uno ning Wizneti perekonna Etherneti kilpide ja moodulitega, täpsemalt mudelitega W5100 ja W5500 (kasutades Ethernet2 raamatukogu).

Tarvikud

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 kuni 12 vahetuste register 74HC595
  • 32 kuni 96 LED -dioodi

Samm: rakendatud rakendused projektis Arduinoga:

  • Veebiserver - HTTP -server, mis töötab otse Arduinos, võimaldab tõlgendada HTML -koodi
  • WebClient - klient, kes on võimeline esitama HTTP -päringu kaugserverile, saatma / alla laadima andmeid

Veebiserver:

  • Pakub HTML-i veebilehe vormi, mis võimaldab sisestada 3 neljakohalist numbrit.
  • Pärast vormi saatmist töödeldakse ja salvestatakse andmed EEPROM -i mällu, kasutajat teavitatakse andmetöötlusest eraldi alamlehe kaudu.
  • Pärast andmete salvestamist suunatakse kasutaja uuesti vormi.
  • EEPROM -mälu on energiast sõltumatu, andmed on kättesaadavad isegi pärast toite taastamist, aga ka plaadi taaskäivitamist.
  • Seejärel kuvatakse kõik numbrid kolmel ekraanil, mis koosnevad 12 74HC595 vahetusregistrist.

Veebiklient:

  • Suhtlus veebiserveriga toimub iga 5 sekundi järel pärast HTTP -protokolli.
  • Veebiserver käitab PHP veebirakendust, mis võimaldab HTML-vormi kaudu sisestada 3 neljakohalist numbrit.
  • Vormi andmed salvestatakse MySQL -i andmebaasi.
  • Arduino soovib selle andmebaasi andmeid serverist päringu kaudu alla laadida.
  • Töödeldud andmeid analüüsib Arduino, seejärel joonistatakse need vahetusregistrite 74HC595 abil.
  • Andmed salvestatakse ka Arduino EEPROM -i mällu, neid kasutatakse juhul, kui ühendus veebiserveriga ebaõnnestub / kui Arduino tahvlid taaskäivitatakse, kasutatakse neid vahetusregistrite andmete esmaseks renderdamiseks.
  • Andmed kirjutatakse EEPROM -is üle alles siis, kui andmed muutuvad, EEPROM -i lahtrid salvestatakse tarbetu ülekirjutamise eest.

2. samm: juhtmestik ja ekraanipilt

Juhtmestik ja ekraanipilt
Juhtmestik ja ekraanipilt
Juhtmestik ja ekraanipilt
Juhtmestik ja ekraanipilt

Kaskaadühendus vahetusregistritele 74HC595 (saab pikendada veel x võrra) - eksport TinkerCADist. Ekraanipilt on veebiserveri liidesest, kui see saab andmeid HTML -vormingu kaudu, töötleb neid ja salvestab need EEPROM -i mällu.

3. samm: 74HC595 + lähtekoodid

Diagrammilt on selge, et vahetusregistrite juhtimiseks kasutatakse ainult 3 andmesidekaablit:

  • Andmeväljund - (SER kuni 74HC595)
  • Kella väljund - (SRCLK 74HC595 -l)
  • Riivi väljund - (RCLK kuni 74HC595)

Nihkeregistreid saab kombineerida kaskaadina, samas kui teisi välisseadmeid saab juhtida ka vahetusregistrite abil - näiteks releed toiteelementide vahetamiseks. Samuti on võimalik juhtida 500 eraldi releed (piisava arvu nihkeregistrite ja toiteallikaga) ühe andmeväljundiga.

Registrite väljundite juhtimisel on võimalik ka baitide järjekorda muuta kõige olulisemaks bitiks - MSB FIRST või LSB - kõige vähem oluliseks bitiks. Selle tulemusena pöörab see väljundid ümber. Ühel juhul süttib näiteks 7 dioodi, teisel juhul 1 diood sõltuvalt sisendist ja baitide järjekorrast.

Mõlemad rakendused kasutavad EEPROM -mälu, mis suudab andmeid salvestada ka pärast voolukatkestust või pärast plaadi taaskäivitamist. Selle mälu teine kasutusala on ka võimalus esitada viimaseid teadaolevaid andmeid juhuks, kui veebiserveriga pole võimalik suhelda (ühendusviga, server).

Mälu on piiratud 10 000 kuni 100 000 ärakirjaga. Rakendused on loodud võimalikult väikese mälukoormuse jaoks. Andmeid ei kirjutata nende muutmisel üle. Kui samu andmeid loetakse veebiserverist / kliendist, ei kirjutata neid EEPROM -i mällu üle.

Tarkvara juurutamist (Arduino pool) WebClientile saab tasuta proovida aadressil:

Arduino suhtleb veebiliidesega, milles on võimalik muuta kolme neljakohalist numbrit:

Küsige Arduino veebiserveri koodi aadressilt: [email protected] Täiendavate juhiste saamiseks annetage:

Soovitan: