Talaan ng mga Nilalaman:

Temperatura, Humidity Monitor - Arduino Mega + Ethernet W5100: 5 Hakbang
Temperatura, Humidity Monitor - Arduino Mega + Ethernet W5100: 5 Hakbang

Video: Temperatura, Humidity Monitor - Arduino Mega + Ethernet W5100: 5 Hakbang

Video: Temperatura, Humidity Monitor - Arduino Mega + Ethernet W5100: 5 Hakbang
Video: КАК УПРАВЛЯТЬ АРДУИНО ПО ЛОКАЛЬНОЙ СЕТИ - Ethernet Shield W5100 2024, Nobyembre
Anonim
Temperatura, Humidity Monitor - Arduino Mega + Ethernet W5100
Temperatura, Humidity Monitor - Arduino Mega + Ethernet W5100

Modyul 1 - FLAT - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet kalasag
  • 8x DS18B20 temperatura sensor sa OneWire bus - nahahati sa 4 na mga bus ng OneWire (2, 4, 1, 1)
  • 2x digital na temperatura at sensor ng kahalumigmigan DHT22 (AM2302)
  • 1x temperatura at sensor ng kahalumigmigan SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 temperatura at halumigmig (at presyon ng hangin) sensor
  • Nagpapadala ng data mula sa lahat ng mga sensor nang sabay-sabay sa maraming minuto (maaaring mabago)

Modyul 2 - BOILER - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet kalasag
  • 16x DS18B20 temperatura sensor sa OneWire bus - nahahati sa 7 mga bus ng OneWire (2, 2, 2, 2, 2, 2, 4)
  • 8x digital input
  • 8x digital output - para sa solenoid / relay
  • Nagpapadala ng data mula sa lahat ng mga sensor nang sabay-sabay sa maraming minuto (maaaring mabago)
  • Binabasa nito ang mga estado ng mga indibidwal na output mula sa web interface, inilalapat ang mga ito Nagpapadala ng mga digital na estado ng pag-input

Hakbang 1: Panimula

Panimula
Panimula
Panimula
Panimula
Panimula
Panimula

Ngayon ay ipapakita ko nang detalyado ang huling natanto na proyekto, na kung saan ay kumplikado sa mga tuntunin ng pag-andar, bilang ng mga sensor na ginamit, mga board ng Arduino, mga ginamit na data bus. Ang proyekto ay binubuo ng dalawang mga module. Pisikal na bawat module ay binubuo ng isang hiwalay na Arduino Mega 2560, Ethernet kalasag W5100 (tugma sa R3) at mga sensor na ginagamit nito.

Ang bawat module ay nakikipag-usap sa web interface sa Internet sa pamamagitan ng mga kahilingan sa HTTP POST, kung saan ang web server ay nagbebenta ng data o humiling ng ilang data, halimbawa sa pamamagitan ng kahilingan sa POST (module 2 lamang). Ang web interface ay nakumpleto sa isang login system, habang ang buong pamilya ay maaaring magparehistro sa system, bawat isa ay may pangalan at password. Samakatuwid ito ay isang multiuser application kung saan ang bawat miyembro ng pamilya ay may pangkalahatang ideya ng parehong mga module at maaaring magsagawa ng iba't ibang mga pagkilos - pagtatakda ng temperatura ng sanggunian, control thermometer, atbp. Ang web interface ay naka-program sa PHP, ang data ay nakaimbak sa MySQL database. Ang bawat isa sa mga module ay may magkakahiwalay na talahanayan sa database para sa data. Isaalang-alang ang mga indibidwal na module nang mas detalyado.

Hakbang 2: Modyul 1 - FLAT

Modyul 1 - FLAT
Modyul 1 - FLAT
Modyul 1 - FLAT
Modyul 1 - FLAT

Ang buong module na 1- FLAT ay nagsisilbi lamang bilang isang monitor ng temperatura sa mga indibidwal na silid, wala itong ibang papel. Ang mga sensor ng DHT22 ay ginamit sa mahabang distansya gamit ang angkop na 10kohm pullup risistor upang maitala ang halumigmig sa mga banyo. Dahil ang BME280 at SHT21 ay nakikipag-usap sa ibabaw ng I2C bus at ito ay malaki ang limitado sa mga tuntunin ng haba ng driver ng bus, ginagamit ang mga sensor malapit sa Arduino sa mga silid.

Ang mga sensor ng temperatura ng DS18B20 ay nahahati sa 4 na mga bus, dahil ginagamit ang dalawang panlabas na sensor, na ginagawang mas madali upang ikonekta ang mga ito upang paghiwalayin ang mga outlet ng Arduino at, sa kaganapan ng pagbagsak ng sensor, mas madaling palitan dahil hindi nito napaparalisa ang pagpapaandar ng system.

Halimbawa, sa kaso ng isa sa mga bus na OneWire na ito, kung saan 4 na mga sensor ang na-index. Ang index ay naka-link sa pisikal na address ng mga thermometers, kaya kung ang isa sa mga sensor ay ipinagpapalit, ang bagong sensor ay maaaring lumitaw sa index 0 - pauna, o kahit na 2, 3 o huli. Kaya, sa pamamagitan ng pagbawas ng bilang ng mga sensor sa mga bus, maiiwasan natin ang gayong komplikasyon na maaaring mangyari kapag napalitan ang sensor.

Hakbang 3: Modyul 2 - BOILER

Modyul 2 - BOILER
Modyul 2 - BOILER
Modyul 2 - BOILER
Modyul 2 - BOILER
Modyul 2 - BOILER
Modyul 2 - BOILER

Bilang karagdagan sa pag-andar ng monitor, ang module 2 - BOILER ay mayroon ding mas mahalagang papel, katulad ng pagkontrol ng solenoids o relay para sa kontrol ng mga balbula ng radiator. Ang module ay nagpapatakbo nang nakapag-iisa ng domestic heating. Ang module ay hindi lumilipat sa pag-init o boiler. Inaalagaan lamang ng module ang pagbubukas, pagsasara ng balbula ng radiator, kung ang temperatura ng kuwarto ay mas mababa / mas mataas kaysa sa itinakda - ang tinatawag. temperatura ng sanggunian. Ang bawat silid kung saan kinokontrol ang balbula ng radiator ay maaaring italaga ng isang tukoy na thermometer mula sa module 2. Bilang karagdagan sa ito - awtomatikong mode, mayroon ding isang manu-manong mode kung saan ang balbula ay maaaring mabuksan / sarado nang manu-mano mula sa web interface nang walang katiyakan - mahirap. Maaaring gamitin ang mga digital input upang ma-verify na ang solenoid / relay / balbula ay binuksan / sarado kapag hiniling kay Arduina - ang kakayahang ihambing kung ang output ay katumbas ng input.

Hakbang 4: Anong Mga Alok sa Web Interface?

Anong Mga Alok sa Web Interface?
Anong Mga Alok sa Web Interface?
Anong Mga Alok sa Web Interface?
Anong Mga Alok sa Web Interface?

Para sa parehong mga module mayroon ding isang graphic na representasyon ng isang tsart sa linya para sa pagpapaunlad ng mga indibidwal na variable - temperatura, kahalumigmigan sa loob ng 24 na oras, 7 araw. Nag-aalok din ang web interface ng pagtingin sa maximum / minimum, average na halaga sa loob ng 24 na oras, 7 araw para sa bawat thermometer / hygrometer. Sa modyul 1, isang pares ng SHT21 sensor ang una nang isinasaalang-alang, ngunit dahil wala silang posibilidad na baguhin ang address ng I2C, kinakailangang gumamit ng multiplexer para sa isang komunikasyon sa bus mula sa dalawang sensor na may parehong I2C address. Sa kaso ng data ng maling sensor, ang pangalan ng sensor ay nakaimbak sa isang log na maaaring buksan ng administrator ng system anumang oras upang ma-serbisyo ang OneWire bus at palitan ang may sira na sensor, halimbawa.

Ang Watchdog ay ipinatupad sa mga programa ng Arduino, na kung sakaling may sira na pagsisimula, "nagyeyelo", isa pang error na ligtas na na-restart at sa simula ng programa ay patayin ang lahat ng mga output hanggang sa maitaguyod ang koneksyon sa web interface, kung saan ito ay ganap na na-synchronize sa mga tuntunin ng output, na kung saan pagkatapos ay nalalapat.

Maraming mga proyekto ang maaari mong makita sa: https://arduino.php5.sk?lang=en Mag-donate para sa higit pang mga halimbawa:

Inirerekumendang: