Talaan ng mga Nilalaman:

Cascade of Shift Registro 74HC595 Kinokontrol sa pamamagitan ng Arduino at Ethernet: 3 Hakbang
Cascade of Shift Registro 74HC595 Kinokontrol sa pamamagitan ng Arduino at Ethernet: 3 Hakbang

Video: Cascade of Shift Registro 74HC595 Kinokontrol sa pamamagitan ng Arduino at Ethernet: 3 Hakbang

Video: Cascade of Shift Registro 74HC595 Kinokontrol sa pamamagitan ng Arduino at Ethernet: 3 Hakbang
Video: How to cascade 74hc595 shift register 2024, Hulyo
Anonim
Ang Cascade of Shift Registro 74HC595 Kinokontrol ng Via Arduino at Ethernet
Ang Cascade of Shift Registro 74HC595 Kinokontrol ng Via Arduino at Ethernet

Ngayon nais kong ipakita ang isang proyekto na naipatupad ko sa dalawang bersyon. Gumagamit ang proyekto ng 12 shift register 74HC595 at 96 LEDs, Arduino Uno board na may Ethernet Shield Wiznet W5100. Ang 8 LEDs ay konektado sa bawat rehistro ng paglilipat. Ang mga bilang na 0-9 ay kinakatawan ng mga LED. Ang bawat rehistro ng paglilipat ay nilagyan ng 8 mga terminal ng output.

Ang bawat isa sa 4 na rehistro ng paglilipat 74HC595 ay bumubuo ng isang lohikal na yunit - isang display para sa listahan ng isang 4-digit na numero. Sa kabuuan, mayroong 3 lohikal na ipinapakita sa proyekto na binubuo ng 12 shift register.

Ang mga pagpapatupad ay katugma para sa Arduino boards Nano, Mega, Uno at para sa mga panangga at module ng Ethernet mula sa pamilyang Wiznet, partikular na mga modelo ng W5100 at W5500 (gamit ang library ng Ethernet2).

Mga gamit

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 hanggang 12 shift register 74HC595
  • 32 hanggang 96 LED diode

Hakbang 1: Nagpapatupad ng Mga Pagpapatupad sa Proyekto Gamit ang Arduino:

  • Webserver - Direktang tumatakbo ang HTTP server sa Arduino, pinapayagan na bigyang-kahulugan ang HTML code
  • WebClient - May kakayahang gumawa ang isang kliyente ng isang kahilingan sa HTTP sa isang remote server, na nagpapadala / nagda-download ng data

Webserver:

  • Nagbibigay ng isang web page na HTML na may isang form na nagbibigay-daan sa iyo upang maglagay ng 3 mga numero ng apat na digit.
  • Matapos ipadala ang form, ang data ay naproseso at nakaimbak sa memorya ng EEPROM, ang gumagamit ay may kaalaman tungkol sa pagpoproseso ng data ng isang hiwalay na subpage.
  • Pagkatapos i-save ang data, ang gumagamit ay nai-redirect pabalik sa form.
  • Ang memorya ng EEPROM ay independiyente sa enerhiya, maa-access ang data kahit na matapos ang pagbawi ng kuryente, ngunit i-restart din ang board.
  • Ang lahat ng mga numero ay kinakatawan sa tatlong mga display na binubuo ng 12 74HC595 shift register.

WebClient:

  • Ang komunikasyon sa web server ay nagaganap tuwing 5 segundo pagkatapos ng HTTP protocol.
  • Nagpapatakbo ang web server ng isang web application na PHP na nagbibigay-daan sa iyo upang magpasok ng 3 mga numero ng apat na digit sa pamamagitan ng form na HTML.
  • Ang data mula sa form ay nakaimbak sa isang MySQL database.
  • Humiling si Arduino na kunin ang data mula sa database na ito sa pamamagitan ng isang query sa server.
  • Ang naproseso na data ay na-parse ng Arduino, pagkatapos ay naka-plot gamit ang shift register 74HC595.
  • Ang data ay naka-imbak din sa memorya ng EEPROM ng Arduino, ginagamit ang mga ito kung sakaling mabigo ang koneksyon sa web server / kapag na-restart ang mga board ng Arduino, ginagamit ito para sa paunang pag-render ng data sa mga rehistro ng shift.
  • Ang data ay nai-o-overtake sa EEPROM lamang kapag nagbago ang data, ang mga cell ng EEPROM ay nai-save mula sa hindi kinakailangang pag-o-overtake.

Hakbang 2: Mga Kable at Screenshot

Mga Kable at Screenshot
Mga Kable at Screenshot
Mga Kable at Screenshot
Mga Kable at Screenshot

Ang koneksyon ng Cascade para sa shift registro 74HC595 (maaaring mapalawak ng x higit pa) - I-export mula sa TinkerCAD. Ang Screenshot ay naroroon mula sa webserver interface, kapag nakakakuha ito ng data sa pamamagitan ng form na HTML, iproseso ang mga ito, at i-save ang mga ito sa memorya ng EEPROM.

Hakbang 3: 74HC595 + Mga Source Code

Ito ay malinaw mula sa diagram na 3 data wires lamang ang ginagamit upang makontrol ang mga rehistro ng shift:

  • Data Outlet - (SER hanggang 74HC595)
  • Clock output - (SRCLK sa 74HC595)
  • Latch Outlet - (RCLK hanggang 74HC595)

Ang mga rehistro ng paglilipat ay maaaring pagsamahin sa isang kaskad, habang ang iba pang mga peripheral ay maaari ding kontrolin ng mga rehistro ng shift - halimbawa, mga relay para sa paglipat ng mga elemento ng kuryente. Posible ring makontrol ang 500 magkakahiwalay na relay (na may sapat na bilang ng mga rehistro ng shift at supply ng kuryente) na may isang output ng data.

Kapag kinokontrol ang mga output ng mga rehistro, posible ring baguhin ang byte order sa pinakamahalagang bit - MSB UNA, o sa LSB - ang hindi gaanong makabuluhang kaunting. Bilang isang resulta, binabaligtad nito ang mga output. Sa isang kaso, halimbawa, 7 diode ang naiilawan, sa iba pang kaso 1 diode depende sa input at byte order.

Ang parehong pagpapatupad ay gumagamit ng memorya ng EEPROM, na maaaring mag-imbak ng data kahit na pagkatapos ng isang pagkabigo sa kuryente o pagkatapos ng isang restart ng board. Ang pangalawang paggamit ng memorya na ito ay ang kakayahang kumatawan sa huling kilalang data kung sakaling hindi posible na makipag-usap sa web server (error sa pagkakakonekta, server).

Ang memorya ay limitado sa 10, 000 hanggang 100, 000 na mga transcript. Ang mga pagpapatupad ay idinisenyo para sa pinakamaliit na posibleng pag-load ng memorya. Ang data ay hindi mai-o-overtake kapag binago ang mga ito. Kung ang parehong data ay nabasa mula sa web server / client, hindi sila nai-o-overtake sa memorya ng EEPROM.

Ang pagpapatupad ng software (panig ng Arduino) para sa WebClient ay maaaring subukan nang libre sa:

Nakikipag-usap ang Arduino sa isang web interface kung saan posible na baguhin ang 3 mga apat na digit na numero:

Humingi ng code para sa Arduino bilang webserver sa: [email protected] para sa higit pang mga itinuturo:

Inirerekumendang: