Orodha ya maudhui:

Joto, Ufuatiliaji wa Unyevu - Arduino Mega + Ethernet W5100: Hatua 5
Joto, Ufuatiliaji wa Unyevu - Arduino Mega + Ethernet W5100: Hatua 5

Video: Joto, Ufuatiliaji wa Unyevu - Arduino Mega + Ethernet W5100: Hatua 5

Video: Joto, Ufuatiliaji wa Unyevu - Arduino Mega + Ethernet W5100: Hatua 5
Video: Lesson 45: Measure temperature and Pressure with BME280 display on LCD1602 and LCD2004 with Arduino 2024, Novemba
Anonim
Joto, Ufuatiliaji wa Unyevu - Arduino Mega + Ethernet W5100
Joto, Ufuatiliaji wa Unyevu - Arduino Mega + Ethernet W5100

Moduli 1 - FLAT - vifaa:

  • Arduino Mega 2560
  • Ngao ya Ethernet ya Wiznet W5100
  • Sensa ya joto ya 8x DS18B20 kwenye basi ya OneWire - imegawanywa katika mabasi 4 ya OneWire (2, 4, 1, 1)
  • 2x joto la dijiti na sensorer ya unyevu DHT22 (AM2302)
  • Sensor ya joto na unyevu wa 1x SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 joto na unyevu (na shinikizo la hewa) sensor
  • Inatuma data kutoka kwa sensorer zote mara moja kwa dakika kadhaa (inaweza kubadilishwa)

Moduli 2 - BOILER - vifaa:

  • Arduino Mega 2560
  • Ngao ya Ethernet ya Wiznet W5100
  • Sensa ya joto ya 16x DS18B20 kwenye basi ya OneWire - imegawanywa katika mabasi 7 ya OneWire (2, 2, 2, 2, 2, 2, 4)
  • Ingizo la dijiti la 8x
  • Pato la dijiti la 8x - kwa solenoid / relay
  • Inatuma data kutoka kwa sensorer zote mara moja kwa dakika kadhaa (inaweza kubadilishwa)
  • Inasoma majimbo ya matokeo ya kibinafsi kutoka kwa kiolesura cha wavuti, hutumia Inatuma majimbo ya pembejeo ya dijiti

Hatua ya 1: Utangulizi

Utangulizi
Utangulizi
Utangulizi
Utangulizi
Utangulizi
Utangulizi

Leo nitawasilisha kwa kina mradi wa mwisho uliotambuliwa, ambao ni ngumu sana kulingana na utendaji, idadi ya sensorer zilizotumiwa, bodi za Arduino, mabasi ya data yaliyotumika. Mradi huo una moduli mbili. Kimwili kila moduli ina Arduino Mega 2560 tofauti, ngao ya Ethernet W5100 (R3 sambamba) na sensorer zinazotumia.

Kila moduli inawasiliana na kiolesura cha wavuti kwenye wavuti na maombi ya HTTP POST, ambayo seva ya wavuti huuza data au kuomba data fulani, kwa mfano kupitia ombi la POST (moduli 2 tu). Muunganisho wa wavuti umekamilika na mfumo wa kuingia, wakati familia nzima inaweza kujiandikisha kwenye mfumo, kila moja ikiwa na jina na nywila. Kwa hivyo ni programu ya matumizi anuwai ambapo kila mwanafamilia ana muhtasari wa moduli zote mbili na anaweza kufanya vitendo tofauti - kuweka joto la kumbukumbu, kipima joto, n.k. interface ya Mtandao imewekwa katika PHP, data zinahifadhiwa kwenye hifadhidata ya MySQL. Kila moduli ina meza tofauti kwenye hifadhidata ya data. Fikiria moduli za kibinafsi kwa undani zaidi.

Hatua ya 2: Moduli 1 - FLAT

Moduli 1 - FLAT
Moduli 1 - FLAT
Moduli 1 - FLAT
Moduli 1 - FLAT

Moduli nzima 1- FLAT hutumika tu kama kiangalizi cha joto katika vyumba vya kibinafsi, haina jukumu lingine. Sensorer za DHT22 zilitumika kwa umbali mrefu kwa kutumia kontena inayofaa ya 10kohm pullup kurekodi unyevu katika bafu. Kwa kuwa BME280 na SHT21 zinawasiliana juu ya basi ya I2C na hii ni mdogo sana kwa urefu wa dereva wa basi, sensorer hutumiwa karibu na Arduino katika vyumba.

Sensorer za joto la DS18B20 zimegawanywa katika mabasi 4, kwani sensorer mbili za nje hutumiwa, na kuifanya iwe rahisi kuziunganisha ili kutenganisha maduka ya Arduino na, ikitokea kushuka kwa sensorer, ni rahisi kuchukua nafasi kwani haizui utendaji ya mfumo.

Kwa mfano, katika kesi ya moja ya mabasi haya ya OneWire, ambayo sensorer 4 zimeorodheshwa. Faharisi imeunganishwa na anwani halisi ya thermometers, kwa hivyo ikiwa moja ya sensorer inabadilishwa, sensorer mpya inaweza kuonekana kwenye faharisi 0 - ya kwanza, au hata 2, 3 au ya mwisho. Kwa hivyo, kwa kupunguza idadi ya sensorer kwenye mabasi, tunaweza kuepuka shida kama hiyo ambayo inaweza kutokea wakati sensor inabadilishwa.

Hatua ya 3: Moduli 2 - BOILER

Moduli ya 2 - BOILER
Moduli ya 2 - BOILER
Moduli ya 2 - BOILER
Moduli ya 2 - BOILER
Moduli ya 2 - BOILER
Moduli ya 2 - BOILER

Kwa kuongezea kazi ya ufuatiliaji, moduli 2 - BOILER pia ina jukumu muhimu zaidi, ambayo ni udhibiti wa solenoids au relays kwa udhibiti wa valves za radiator. Moduli inafanya kazi kwa kujitegemea inapokanzwa ndani. Moduli haibadilishi inapokanzwa au boiler. Moduli hutunza tu kufungua, kufunga valve ya radiator, ikiwa joto la chumba ni la chini / juu kuliko ile inayojulikana. joto la kumbukumbu. Kila chumba ambacho valve ya radiator inadhibitiwa inaweza kupewa kipima joto maalum kutoka kwa moduli 2. Kwa kuongeza hii - hali ya kiotomatiki, pia kuna hali ya mwongozo ambapo valve inaweza kufunguliwa / kufungwa kwa mikono kutoka kwa kiolesura cha wavuti kwa muda usiojulikana - ngumu. Pembejeo za dijiti zinaweza kutumiwa kuthibitisha kuwa solenoid / relay / valve imefunguliwa / kufungwa kwa ombi na Arduina - uwezo wa kulinganisha ikiwa pato ni sawa na pembejeo.

Hatua ya 4: Ni Kiunga Gani cha Mtandao Kinachotoa?

Je! Interface ya Mtandao Inatoa Nini?
Je! Interface ya Mtandao Inatoa Nini?
Je! Interface ya Mtandao Inatoa Nini?
Je! Interface ya Mtandao Inatoa Nini?

Kwa moduli zote mbili pia kuna uwakilishi wa kielelezo wa chati ya laini ya ukuzaji wa anuwai za kibinafsi - joto, unyevu katika masaa 24, siku 7. Muunganisho wa wavuti pia hutoa utazamaji wa kiwango cha juu / cha chini, thamani ya wastani katika masaa 24, siku 7 kwa kila kipima joto / mseto. Katika moduli 1, jozi za sensorer SHT21 zilizingatiwa mwanzoni, lakini kwa kuwa hawana uwezekano wa kubadilisha anwani ya I2C, itakuwa muhimu kutumia multiplexer kwa mawasiliano ya basi moja kutoka kwa sensorer mbili zilizo na anwani ile ile ya I2C. Ikiwa kuna data ya sensorer yenye makosa, jina la sensorer linahifadhiwa kwenye logi ambayo msimamizi wa mfumo anaweza kufungua wakati wowote kuhudumia basi ya OneWire na kuchukua nafasi ya sensorer mbaya, kwa mfano.

Mtazamaji ametekelezwa katika programu za Arduino, ambazo ikiwa kuna uanzishaji mbaya, "kufungia", kosa lingine linaanza tena kwa usalama na mwanzoni mwa programu huzima matokeo yote hadi unganisho kwa kiolesura cha wavuti limesimamishwa, ambapo imesawazishwa kikamilifu katika masharti ya matokeo, ambayo baadaye inatumika.

Miradi zaidi unaweza kupata kwa: https://arduino.php5.sk?lang=en Changia mifano zaidi:

Ilipendekeza: