Turinys:

Perkėlimo registrų kaskados 74HC595, valdomos naudojant „Arduino“ir „Ethernet“: 3 žingsniai
Perkėlimo registrų kaskados 74HC595, valdomos naudojant „Arduino“ir „Ethernet“: 3 žingsniai

Video: Perkėlimo registrų kaskados 74HC595, valdomos naudojant „Arduino“ir „Ethernet“: 3 žingsniai

Video: Perkėlimo registrų kaskados 74HC595, valdomos naudojant „Arduino“ir „Ethernet“: 3 žingsniai
Video: Social Network: Laravel 8 and Inertia - Ep.#3 Authentication | Register/Login Pages 2024, Liepa
Anonim
Perkėlimo registrų kaskadas 74HC595 Valdomas per „Arduino“ir „Ethernet“
Perkėlimo registrų kaskadas 74HC595 Valdomas per „Arduino“ir „Ethernet“

Šiandien norėčiau pristatyti projektą, kurį įgyvendinau dviem versijomis. Projekte naudojami 12 pamainų registrai 74HC595 ir 96 šviesos diodai, „Arduino Uno“plokštė su „Ethernet“ekranu „Wiznet W5100“. Prie kiekvieno pamainos registro prijungti 8 šviesos diodai. Skaičius 0-9 žymi šviesos diodai. Kiekviename pamainos registre yra 8 išėjimo gnybtai.

Kiekvienas iš keturių pamainų registrų 74HC595 sudaro loginį vienetą - ekraną, kuriame pateikiamas 4 skaitmenų numeris. Iš viso projekte, kurį sudaro 12 pamainų registrų, yra 3 loginiai ekranai.

Įdiegimai yra suderinami su „Arduino“plokštėmis „Nano“, „Mega“, „Uno“ir „Ethernet“ekranais bei moduliais iš „Wiznet“šeimos, ypač modeliais W5100 ir W5500 (naudojant „Ethernet2“biblioteką).

Prekės

  • „Arduino Uno“/ „Nano“
  • „Ethernet Wiznet W5100 / W5500“
  • 4 iki 12 pamainų registras 74HC595
  • Nuo 32 iki 96 LED diodų

1 žingsnis: Įdiegti projektai su „Arduino“:

  • Tinklalapio serveris - HTTP serveris, veikiantis tiesiogiai „Arduino“, leidžia interpretuoti HTML kodą
  • „WebClient“- klientas, galintis pateikti HTTP užklausą nuotoliniam serveriui, siųsti / atsisiųsti duomenis

Tinklapio serveris:

  • Pateikiamas HTML tinklalapis su forma, leidžiančia įvesti 3 keturių skaitmenų skaičius.
  • Išsiuntus formą, duomenys apdorojami ir saugomi EEPROM atmintyje, vartotojas apie duomenų tvarkymą informuojamas atskiru antriniu puslapiu.
  • Išsaugojus duomenis, vartotojas nukreipiamas atgal į formą.
  • EEPROM atmintis yra nepriklausoma nuo energijos, duomenys pasiekiami net ir atgavus maitinimą, bet ir iš naujo paleidžiant plokštę.
  • Tada visi skaičiai pateikiami trijuose ekranuose, kuriuos sudaro 12 74HC595 pamainų registrų.

„WebClient“:

  • Ryšys su žiniatinklio serveriu vyksta kas 5 sekundes po HTTP protokolo.
  • Žiniatinklio serveryje veikia PHP žiniatinklio programa, kuri leidžia įvesti 3 keturių skaitmenų skaičius naudojant HTML formą.
  • Formos duomenys saugomi „MySQL“duomenų bazėje.
  • „Arduino“prašo nuskaityti duomenis iš šios duomenų bazės per užklausą serveriui.
  • Apdorotus duomenis analizuoja „Arduino“, tada nubraižo naudodami pamainų registrus 74HC595.
  • Duomenys taip pat saugomi „Arduino“EEPROM atmintyje, jie naudojami tuo atveju, jei nepavyksta prisijungti prie žiniatinklio serverio / iš naujo paleidus „Arduino“plokštes, jie naudojami pradiniam duomenų perdavimui pamainų registruose.
  • Duomenys perrašomi EEPROM tik pasikeitus duomenims, EEPROM ląstelės išsaugomos nuo nereikalingo perrašymo.

2 veiksmas: laidų prijungimas ir ekrano kopija

Laidai ir ekrano kopija
Laidai ir ekrano kopija
Laidai ir ekrano kopija
Laidai ir ekrano kopija

Kaskadinis ryšys pamainos registrams 74HC595 (gali būti išplėstas dar x) - eksportuoti iš TinkerCAD. Ekrano kopija yra iš žiniatinklio serverio sąsajos, kai ji gauna duomenis per HTML formą, apdoroja juos ir išsaugo juos EEPROM atmintyje.

3 veiksmas: 74HC595 + šaltinio kodai

Iš diagramos aišku, kad pamainų registrams valdyti naudojami tik 3 duomenų laidai:

  • Duomenų išvestis - (nuo SER iki 74HC595)
  • Laikrodžio išvestis - (SRCLK 74HC595)
  • Užrakto išleidimo anga - (nuo RCLK iki 74HC595)

Pamainų registrus galima sujungti į kaskadą, o kitus periferinius įrenginius taip pat galima valdyti pamainų registrais - pavyzdžiui, relės, skirtos maitinimo elementams perjungti. Taip pat galima valdyti 500 atskirų relių (su pakankamu perjungimo registrų skaičiumi ir maitinimo šaltiniu) su vienu duomenų išėjimu.

Valdant registrų išvestis, taip pat galima modifikuoti baitų tvarką į reikšmingiausią bitą - MSB FIRST, arba į LSB - mažiausiai reikšmingą bitą. Dėl to jis apverčia išėjimus. Pavyzdžiui, vienu atveju užsidega 7 diodai, kitu atveju - 1 diodas, priklausomai nuo įvesties ir baitų tvarkos.

Abu variantai naudoja EEPROM atmintį, kuri gali saugoti duomenis net ir nutrūkus elektros tiekimui arba iš naujo paleidus plokštę. Antrasis šios atminties panaudojimas taip pat yra galimybė pavaizduoti paskutinius žinomus duomenis, jei nepavyksta susisiekti su žiniatinklio serveriu (ryšio klaida, serveris).

Atmintis apribota iki 10 000 iki 100 000 nuorašų. Diegimai yra skirti kuo mažesnei atminties apkrovai. Pakeitus duomenis, jie nebus perrašyti. Jei tie patys duomenys skaitomi iš žiniatinklio serverio / kliento, jie neperrašomi EEPROM atmintyje.

Programinės įrangos diegimą („Arduino“pusėje), skirtą „WebClient“, galima nemokamai išbandyti adresu:

„Arduino“bendrauja su žiniatinklio sąsaja, kurioje galima pakeisti 3 keturių skaitmenų skaičius:

Paprašykite „Arduino“kaip žiniatinklio serverio kodo adresu: [email protected] Paaukokite daugiau nurodymų:

Rekomenduojamas: