INHOUDSOPGAWE:

Cascade of Shift Registers 74HC595 Beheer via Arduino en Ethernet: 3 stappe
Cascade of Shift Registers 74HC595 Beheer via Arduino en Ethernet: 3 stappe

Video: Cascade of Shift Registers 74HC595 Beheer via Arduino en Ethernet: 3 stappe

Video: Cascade of Shift Registers 74HC595 Beheer via Arduino en Ethernet: 3 stappe
Video: How to cascade 74hc595 shift register 2024, Julie
Anonim
Cascade of Shift Registers 74HC595 Beheer via Arduino en Ethernet
Cascade of Shift Registers 74HC595 Beheer via Arduino en Ethernet

Ek wil vandag 'n projek aanbied wat ek in twee weergawes geïmplementeer het. Die projek gebruik 12 skofregisters 74HC595 en 96 LED's, Arduino Uno -bord met Ethernet -skild Wiznet W5100. 8 LED's word aan elke skofregister gekoppel. Die getalle 0-9 word deur LED's voorgestel. Elke skofregister is toegerus met 8 uitsetterminale.

Elkeen van die 4 skofregisters 74HC595 vorm 'n logiese eenheid - 'n skerm om 'n 4 -syfergetal op te gee. In totaal is daar 3 logiese vertonings in die projek wat bestaan uit 12 skofregisters.

Die implementering is verenigbaar vir Arduino -borde Nano, Mega, Uno en vir Ethernet -skilde en modules uit die Wiznet -familie, spesifiek modelle W5100 en W5500 (met behulp van die Ethernet2 -biblioteek).

Voorrade

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 tot 12 skofregister 74HC595
  • 32 tot 96 LED -diodes

Stap 1: Geïmplementeerde implementerings in die projek met Arduino:

  • Webbediener - 'n HTTP -bediener wat direk op Arduino loop, kan HTML -kode interpreteer
  • WebClient - 'n Kliënt wat 'n HTTP -versoek na 'n eksterne bediener kan rig, data stuur / aflaai

Webbediener:

  • Bied 'n HTML-webblad met 'n vorm waarmee u drie viersyfergetalle kan invoer.
  • Nadat die vorm gestuur is, word die data verwerk en in die EEPROM -geheue gestoor, die gebruiker word deur 'n aparte subblad ingelig oor die dataverwerking.
  • Nadat die data gestoor is, word die gebruiker teruggestuur na die vorm.
  • EEPROM -geheue is energie -onafhanklik, data is toeganklik, selfs na kragherwinning, maar kan ook herlaai op die bord.
  • Alle getalle word dan voorgestel op drie skerms bestaande uit 12 74HC595 skofregisters.

Webkliënt:

  • Elke 5 sekondes na die HTTP -protokol vind kommunikasie met die webbediener plaas.
  • Die webbediener bestuur 'n PHP-webtoepassing waarmee u drie vier-syfergetalle via die HTML-vorm kan invoer.
  • Die data van die vorm word in 'n MySQL -databasis gestoor.
  • Arduino versoek om data uit hierdie databasis op te haal via 'n navraag na die bediener.
  • Die verwerkte data word ontleed deur Arduino, en dan geteken met behulp van skofregisters 74HC595.
  • Die data word ook in die EEPROM -geheue van die Arduino gestoor; dit word gebruik as die verbinding met die webbediener misluk / as die Arduino -borde weer begin word, word dit gebruik vir die aanvanklike weergawe van die data op die skofregisters.
  • Die data word slegs in die EEPROM oorskryf as die data verander, word die EEPROM -selle gestoor teen onnodige oorskrywing.

Stap 2: Bedrading en skermkiekie

Bedrading en skermkiekie
Bedrading en skermkiekie
Bedrading en skermkiekie
Bedrading en skermkiekie

Kaskadeverbinding vir skofregisters 74HC595 (kan met x meer uitgebrei word) - Uitvoer vanaf TinkerCAD. Skermkiekie is daar vanaf die webserver -koppelvlak, as dit data via HTML -vorm kry, verwerk dit en stoor dit in EEPROM -geheue.

Stap 3: 74HC595 + Bronkodes

Dit is duidelik uit die diagram dat slegs 3 datadrade gebruik word om die skofregisters te beheer:

  • Data -uitlaat - (SER tot 74HC595)
  • Klokuitset - (SRCLK op 74HC595)
  • Grendeluitlaat - (RCLK tot 74HC595)

Skuifregisters kan in 'n kaskade gekombineer word, terwyl ander randapparatuur ook deur skofregisters beheer kan word - byvoorbeeld relais vir die skakel van kragelemente. Dit is ook moontlik om 500 afsonderlike relais (met 'n voldoende aantal skofregisters en kragtoevoer) met een data -uitset te beheer.

By die beheer van die uitsette van die registers, is dit ook moontlik om die greeporde na die belangrikste bit - MSB FIRST, of na LSB - die minste betekenisvolle bit, te verander. As gevolg hiervan, keer dit die uitsette om. In die een geval, byvoorbeeld, word 7 diodes aangesteek, in die ander geval 1 diode, afhangende van die invoer en byte volgorde.

Beide implementerings gebruik EEPROM -geheue, wat data kan stoor, selfs na 'n kragonderbreking of na 'n herlaai van die bord. Die tweede gebruik van hierdie geheue is ook die vermoë om die laaste bekende data voor te stel indien dit nie moontlik is om met die webbediener te kommunikeer nie (verbindingsfout, bediener).

Geheue is beperk tot 10 000 tot 100 000 transkripsies. Implementasies is ontwerp vir die minste moontlike geheue. Die data sal nie oorskryf word as dit verander word nie. As dieselfde data vanaf die webbediener / kliënt gelees word, word dit nie in die EEPROM -geheue oorskryf nie.

Sagteware-implementering (Arduino-kant) vir WebClient kan gratis probeer word op:

Arduino kommunikeer met 'n webkoppelvlak waarin dit moontlik is om drie vier-syfergetalle te verander:

Vra vir kode vir Arduino as webserver by: [email protected] Skenk vir meer instruksies:

Aanbeveel: