Orodha ya maudhui:

Kuteleza kwa Rejista za Shift 74HC595 Kudhibitiwa Kupitia Arduino na Ethernet: 3 Hatua
Kuteleza kwa Rejista za Shift 74HC595 Kudhibitiwa Kupitia Arduino na Ethernet: 3 Hatua

Video: Kuteleza kwa Rejista za Shift 74HC595 Kudhibitiwa Kupitia Arduino na Ethernet: 3 Hatua

Video: Kuteleza kwa Rejista za Shift 74HC595 Kudhibitiwa Kupitia Arduino na Ethernet: 3 Hatua
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novemba
Anonim
Kuteleza kwa Rejista za Shift 74HC595 Kudhibitiwa Kupitia Arduino na Ethernet
Kuteleza kwa Rejista za Shift 74HC595 Kudhibitiwa Kupitia Arduino na Ethernet

Leo ningependa kuwasilisha mradi ambao nimetekeleza katika matoleo mawili. Mradi hutumia rejista 12 za mabadiliko ya 74HC595 na LED za 96, bodi ya Arduino Uno na ngao ya Ethernet Wiznet W5100. LED 8 zimeunganishwa kwenye kila rejista ya mabadiliko. Nambari 0-9 zinawakilishwa na LED. Kila rejista ya zamu ina vifaa 8 vya pato.

Kila moja ya sajili 4 za mabadiliko zinafanya 74HC595 kuunda kitengo cha mantiki - onyesho la kuorodhesha nambari yenye nambari 4. Kwa jumla, kuna maonyesho 3 ya kimantiki katika mradi huo yenye rejista 12 za mabadiliko.

Utekelezaji huo ni sawa kwa bodi za Arduino Nano, Mega, Uno na ngao za Ethernet na moduli kutoka kwa familia ya Wiznet, haswa mifano W5100 na W5500 (kwa kutumia maktaba ya Ethernet2).

Vifaa

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 hadi 12 rejista ya mabadiliko 74HC595
  • 32 hadi diode 96 za LED

Hatua ya 1: Utekelezaji uliotekelezwa katika Mradi Na Arduino:

  • Webserver - seva ya HTTP inayoendesha moja kwa moja kwenye Arduino, inaruhusu kutafsiri nambari ya HTML
  • WebClient - Mteja anayeweza kufanya ombi la HTTP kwa seva ya mbali, kutuma / kupakua data

Mtandao:

  • Hutoa ukurasa wa wavuti wa HTML na fomu ambayo hukuruhusu kuingiza nambari 3 za nambari nne.
  • Baada ya kutuma fomu, data inasindika na kuhifadhiwa kwenye kumbukumbu ya EEPROM, mtumiaji hujulishwa juu ya usindikaji wa data na ukurasa mdogo tofauti.
  • Baada ya kuhifadhi data, mtumiaji anaelekezwa tena kwenye fomu.
  • Kumbukumbu ya EEPROM ni nishati huru, data inapatikana hata baada ya kupona kwa nguvu, lakini pia kuanza upya kwa bodi.
  • Nambari zote zinawakilishwa kwenye maonyesho matatu yaliyo na rejista 12 za mabadiliko 74 74C595.

Mteja wa Wavuti:

  • Mawasiliano na seva ya wavuti hufanyika kila sekunde 5 baada ya itifaki ya
  • Seva ya wavuti inaendesha programu ya wavuti ya PHP ambayo hukuruhusu kuingiza nambari 3 za nambari nne kupitia fomu ya HTML.
  • Takwimu kutoka kwa fomu hiyo imehifadhiwa kwenye hifadhidata ya MySQL.
  • Arduino anaomba kupata data kutoka kwa hifadhidata hii kupitia swala kwa seva.
  • Takwimu zilizosindika zimepigwa na Arduino, kisha akapanga njama kwa kutumia rejista za zamu 74HC595.
  • Takwimu pia zimehifadhiwa kwenye kumbukumbu ya EEPROM ya Arduino, hutumiwa ikiwa unganisho kwa seva ya wavuti itashindwa / wakati bodi za Arduino zinapoanza tena, hutumiwa kwa utaftaji wa kwanza wa data kwenye sajili za mabadiliko.
  • Takwimu zimeandikwa kwenye EEPROM tu wakati data inabadilika, seli za EEPROM zinahifadhiwa kutoka kwa uandikaji usiohitajika.

Hatua ya 2: Wiring & Screenshot

Wiring na Picha ya skrini
Wiring na Picha ya skrini
Wiring na Picha ya skrini
Wiring na Picha ya skrini

Uunganisho wa kuteleza kwa rejista za mabadiliko 74HC595 (inaweza kupanuliwa na x zaidi) - Export kutoka TinkerCAD. Screenshot iko hapo kutoka kwa interface ya webserver, inapopata data kupitia fomu ya HTML, kuzichakata, na kuzihifadhi kwenye kumbukumbu ya EEPROM.

Hatua ya 3: 74HC595 + Nambari za Chanzo

Ni wazi kutoka kwa mchoro kwamba waya 3 tu za data hutumiwa kudhibiti rejista za mabadiliko:

  • Kituo cha data - (SER hadi 74HC595)
  • Pato la saa - (SRCLK kwenye 74HC595)
  • Latch Outlet - (RCLK hadi 74HC595)

Rejista za Shift zinaweza kuunganishwa katika mpororo, wakati vifaa vingine vinaweza kudhibitiwa na rejista za kuhama - kwa mfano, kupelekwa kwa kubadili vitu vya nguvu. Inawezekana kudhibiti upeanaji 500 tofauti (na idadi ya kutosha ya rejista za kuhama na usambazaji wa umeme) na pato moja la data.

Wakati wa kudhibiti matokeo ya rejista, inawezekana pia kubadilisha agizo la baiti kwa muhimu zaidi - MSB KWANZA, au kwa LSB - kidogo muhimu zaidi. Kama matokeo, inverts matokeo. Katika kesi moja, kwa mfano, diode 7 zinawashwa, katika hali nyingine diode 1 kulingana na uingizaji na agizo la ka.

Utekelezaji wote hutumia kumbukumbu ya EEPROM, ambayo inaweza kuhifadhi data hata baada ya kufeli kwa umeme au baada ya kuanza upya kwa bodi. Matumizi ya pili ya kumbukumbu hii pia ni uwezo wa kuwakilisha data ya mwisho inayojulikana ikiwa haiwezekani kuwasiliana na seva ya wavuti (kosa la unganisho, seva).

Kumbukumbu ni mdogo kwa nakala 10, 000 hadi 100, 000. Utekelezaji umeundwa kwa mzigo mdogo wa kumbukumbu. Takwimu hazitafutwa wakati zinabadilishwa. Ikiwa data hiyo hiyo inasomwa kutoka kwa seva ya wavuti / mteja, hazijaandikwa tena kwenye kumbukumbu ya EEPROM.

Utekelezaji wa programu (upande wa Arduino) kwa WebClient inaweza kujaribu bure kwa:

Arduino huwasiliana na kiolesura cha wavuti ambamo inawezekana kurekebisha nambari 3 za nambari nne:

Uliza nambari ya Arduino kama seva ya wavuti kwa: [email protected] Tolea kwa mafunzo zaidi:

Ilipendekeza: