Satura rādītājs:

Maiņu reģistru kaskāde 74HC595 Kontrolējama, izmantojot Arduino un Ethernet: 3 soļi
Maiņu reģistru kaskāde 74HC595 Kontrolējama, izmantojot Arduino un Ethernet: 3 soļi

Video: Maiņu reģistru kaskāde 74HC595 Kontrolējama, izmantojot Arduino un Ethernet: 3 soļi

Video: Maiņu reģistru kaskāde 74HC595 Kontrolējama, izmantojot Arduino un Ethernet: 3 soļi
Video: Урок 29 Блок расширитель выходов Сдвиговый регистр 74HC595 2024, Jūlijs
Anonim
Maiņu reģistru kaskāde 74HC595 Kontrolējama caur Arduino un Ethernet
Maiņu reģistru kaskāde 74HC595 Kontrolējama caur Arduino un Ethernet

Šodien es vēlētos iepazīstināt ar projektu, kuru esmu īstenojis divās versijās. Projektā tiek izmantoti 12 maiņu reģistri 74HC595 un 96 gaismas diodes, Arduino Uno plate ar Ethernet vairogu Wiznet W5100. Katram maiņu reģistram ir pievienotas 8 gaismas diodes. Skaitļus 0-9 attēlo gaismas diodes. Katrs maiņu reģistrs ir aprīkots ar 8 izejas spailēm.

Katrs no 4 maiņu reģistriem 74HC595 veido loģisku vienību - displeju 4 ciparu skaitļa uzskaitīšanai. Kopumā projektā ir 3 loģiski displeji, kas sastāv no 12 maiņu reģistriem.

Īstenojumi ir saderīgi ar Arduino plates Nano, Mega, Uno un Ethernet vairogiem un moduļiem no Wiznet saimes, īpaši modeļiem W5100 un W5500 (izmantojot Ethernet2 bibliotēku).

Piegādes

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 līdz 12 maiņu reģistrs 74HC595
  • 32 līdz 96 LED diodes

1. solis: Īstenotās ieviešanas projektā ar Arduino:

  • Tīmekļa serveris - HTTP serveris, kas darbojas tieši Arduino, ļauj interpretēt HTML kodu
  • WebClient - klients, kas spēj veikt HTTP pieprasījumu uz attālo serveri, sūtīt / lejupielādēt datus

Tīmekļa serveris:

  • Nodrošina HTML tīmekļa lapu ar veidlapu, kas ļauj ievadīt 3 četrciparu ciparus.
  • Pēc veidlapas nosūtīšanas dati tiek apstrādāti un saglabāti EEPROM atmiņā, lietotāju par datu apstrādi informē atsevišķa apakšlapa.
  • Pēc datu saglabāšanas lietotājs tiek novirzīts atpakaļ uz veidlapu.
  • EEPROM atmiņa ir neatkarīga no enerģijas, dati ir pieejami pat pēc strāvas atgūšanas, bet arī no jauna.
  • Visi skaitļi tiek attēloti trīs displejos, kas sastāv no 12 74HC595 maiņu reģistriem.

Tīmekļa klients:

  • Saziņa ar tīmekļa serveri notiek ik pēc 5 sekundēm pēc HTTP protokola.
  • Tīmekļa serverī darbojas PHP tīmekļa lietojumprogramma, kas ļauj ievadīt 3 četrciparu skaitļus, izmantojot HTML veidlapu.
  • Veidlapas dati tiek glabāti MySQL datu bāzē.
  • Arduino pieprasa izgūt datus no šīs datu bāzes, izmantojot vaicājumu serverim.
  • Apstrādātos datus parsē Arduino, pēc tam uzzīmē, izmantojot maiņu reģistrus 74HC595.
  • Dati tiek saglabāti arī Arduino EEPROM atmiņā, tie tiek izmantoti gadījumā, ja neizdodas izveidot savienojumu ar tīmekļa serveri / kad Arduino dēļi tiek restartēti, tie tiek izmantoti datu sākotnējai atveidošanai maiņu reģistros.
  • Dati tiek pārrakstīti EEPROM tikai tad, kad dati mainās, EEPROM šūnas tiek saglabātas no nevajadzīgas pārrakstīšanas.

2. darbība. Elektroinstalācija un ekrānuzņēmums

Elektroinstalācija un ekrānuzņēmums
Elektroinstalācija un ekrānuzņēmums
Elektroinstalācija un ekrānuzņēmums
Elektroinstalācija un ekrānuzņēmums

Kaskādes savienojums maiņu reģistriem 74HC595 (var pagarināt par x vairāk) - Eksportēt no TinkerCAD. Ekrānuzņēmums ir pieejams no tīmekļa servera saskarnes, kad tas iegūst datus, izmantojot HTML formu, apstrādā tos un saglabā tos EEPROM atmiņā.

3. darbība: 74HC595 + avota kodi

No diagrammas ir skaidrs, ka maiņu reģistru vadīšanai tiek izmantoti tikai 3 datu vadi:

  • Datu izvade - (no SER līdz 74HC595)
  • Pulksteņa izeja - (SRCLK uz 74HC595)
  • Aizbīdņa izeja - (no RCLK līdz 74HC595)

Maiņu reģistrus var apvienot kaskādē, savukārt citas perifērijas ierīces var vadīt arī ar maiņu reģistriem - piemēram, releji jaudas elementu pārslēgšanai. Ir iespējams arī kontrolēt 500 atsevišķus relejus (ar pietiekamu skaitu maiņu reģistru un barošanas avotu) ar vienu datu izvadi.

Kontrolējot reģistru izejas, ir iespējams arī modificēt baitu secību līdz visnozīmīgākajam bitam - MSB FIRST vai LSB - vismazāk nozīmīgajam bitam. Rezultātā tas apgriež otrādi. Vienā gadījumā, piemēram, iedegas 7 diodes, otrā gadījumā 1 diode atkarībā no ievades un baitu secības.

Abās implementācijās tiek izmantota EEPROM atmiņa, kas var saglabāt datus pat pēc strāvas padeves pārtraukuma vai pēc tāfeles restartēšanas. Otra šīs atmiņas izmantošana ir arī spēja attēlot pēdējos zināmos datus gadījumā, ja nav iespējams sazināties ar tīmekļa serveri (savienojuma kļūda, serveris).

Atmiņa ir ierobežota līdz 10 000 līdz 100 000 norakstiem. Īstenojumi ir paredzēti pēc iespējas mazākai atmiņas slodzei. Dati netiks pārrakstīti, kad tie tiks mainīti. Ja tie paši dati tiek nolasīti no tīmekļa servera / klienta, tie netiek pārrakstīti EEPROM atmiņā.

Programmatūras ieviešanu (Arduino pusē) WebClient varat bez maksas izmēģināt vietnē:

Arduino sazinās ar tīmekļa saskarni, kurā ir iespējams mainīt 3 četrciparu skaitļus:

Jautājiet kodu Arduino kā tīmekļa serverim: [email protected] Ziedojiet, lai iegūtu vairāk pamācību:

Ieteicams: