Tartalomjegyzék:

Hőmérséklet, páratartalom monitor - Arduino Mega + Ethernet W5100: 5 lépés
Hőmérséklet, páratartalom monitor - Arduino Mega + Ethernet W5100: 5 lépés

Videó: Hőmérséklet, páratartalom monitor - Arduino Mega + Ethernet W5100: 5 lépés

Videó: Hőmérséklet, páratartalom monitor - Arduino Mega + Ethernet W5100: 5 lépés
Videó: Arduino temperature and humidity control 2024, November
Anonim
Hőmérséklet, páratartalom monitor - Arduino Mega + Ethernet W5100
Hőmérséklet, páratartalom monitor - Arduino Mega + Ethernet W5100

1. modul - FLAT - hardver:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet pajzs
  • 8x DS18B20 hőmérséklet -érzékelő a OneWire buszon - 4 OneWire buszra osztva (2, 4, 1, 1)
  • 2x digitális hőmérséklet és páratartalom érzékelő DHT22 (AM2302)
  • 1x hőmérséklet- és páratartalom -érzékelő SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 hőmérséklet és páratartalom (és légnyomás) érzékelő
  • Adatokat küld minden érzékelőről egyszerre, néhány perc alatt (módosítható)

2. modul - BOILER - hardver:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet pajzs
  • 16x DS18B20 hőmérséklet -érzékelő a OneWire buszon - 7 OneWire buszra osztva (2, 2, 2, 2, 2, 2, 4)
  • 8x digitális bemenet
  • 8x digitális kimenet - mágnesszelep / relé
  • Adatokat küld minden érzékelőről egyszerre, néhány perc alatt (módosítható)
  • Beolvassa az egyes kimenetek állapotát a webes felületről, alkalmazza azokat Digitális bemeneti állapotokat küld

1. lépés: Bevezetés

Bevezetés
Bevezetés
Bevezetés
Bevezetés
Bevezetés
Bevezetés

Ma részletesen bemutatom az utoljára megvalósított projektet, amely meglehetősen bonyolult a funkcionalitás, a felhasznált érzékelők száma, az Arduino táblák, a használt adatbuszok tekintetében. A projekt két modulból áll. Fizikailag minden modul külön Arduino Mega 2560, Ethernet pajzs W5100 (R3 -kompatibilis) és az általa használt érzékelőkből áll.

Minden modul HTTP POST kérésekkel kommunikál az internetes webes interfésszel, amellyel a webszerver adatokat értékesít vagy kér bizonyos adatokat, például POST kérésen keresztül (csak 2. modul). A webes felület bejelentkezési rendszerrel van kiegészítve, míg az egész család regisztrálhat a rendszerbe, mindegyik nevével és jelszavával. Ezért ez egy többfelhasználós alkalmazás, ahol minden családtag áttekintheti mindkét modult, és különböző műveleteket hajthat végre - a referenciahőmérséklet beállítását, a hőmérőt, stb. Mindegyik modulnak külön táblája van az adatbázisban az adatokhoz. Tekintsük részletesebben az egyes modulokat.

2. lépés: 1. modul - FLAT

1. modul - LAKÁS
1. modul - LAKÁS
1. modul - LAKÁS
1. modul - LAKÁS

A teljes modul 1- FLAT csak hőmérséklet-monitorként szolgál az egyes helyiségekben, nincs más szerepe. A DHT22 érzékelőket nagy távolságon használtuk megfelelő 10 khm -os felhúzó ellenállás segítségével a fürdőszobák páratartalmának rögzítésére. Mivel a BME280 és az SHT21 kommunikál az I2C buszon, és ez jelentősen korlátozott a buszvezető hosszában, az érzékelőket Arduino közelében használják a szobákban.

A DS18B20 hőmérséklet -érzékelőket 4 buszra osztották, mivel két külső érzékelőt használnak, így könnyebben csatlakoztathatók külön Arduino aljzatokhoz, és ha az érzékelő leesik, könnyebb cserélni, mivel nem bénítja meg a funkcionalitást a rendszerről.

Például az egyik ilyen OneWire busz esetében, amelyen 4 érzékelő van indexelve. Az index kapcsolódik a hőmérők fizikai címéhez, így ha az egyik érzékelőt kicserélik, az új érzékelő megjelenhet az indexen 0 - kezdeti, vagy akár 2, 3 vagy utolsó. Így a buszokon lévő érzékelők számának csökkentésével elkerülhetjük az ilyen komplikációt, amely az érzékelő cseréjekor előfordulhat.

3. lépés: 2. modul - kazán

2. modul - KAZÁN
2. modul - KAZÁN
2. modul - KAZÁN
2. modul - KAZÁN
2. modul - KAZÁN
2. modul - KAZÁN

A felügyeleti funkció mellett a 2 - BOILER modulnak fontosabb szerepe is van, nevezetesen a mágnesszelepek vagy relék vezérlése a radiátor szelepek vezérlésére. A modul a háztartási fűtéstől függetlenül működik. A modul nem kapcsol fűtést vagy kazánt. A modul csak a radiátor szelep nyitásáról, zárásáról gondoskodik, ha a helyiség hőmérséklete alacsonyabb / magasabb a beállítottnál - ún. referencia hőmérséklet. Minden helyiséghez, ahol a radiátorszelepet vezérlik, hozzá lehet rendelni egy speciális hőmérőt a 2. modulból. Ezen kívül - automatikus üzemmód, van egy kézi üzemmód is, ahol a szelep kézzel nyitható / zárható a webes felületről korlátlanul - keményen. A digitális bemenetekkel ellenőrizhető, hogy a mágnesszelep / relé / szelep kérésre nyitva / zárva van -e az Arduina segítségével - ezzel összehasonlítható, hogy a kimenet egyenlő -e a bemenettel.

4. lépés: Milyen webes felületet kínál?

Milyen webes felület kínál?
Milyen webes felület kínál?
Milyen webes felület kínál?
Milyen webes felület kínál?

Mindkét modulhoz grafikus ábrázolása is van egy vonaldiagramnak az egyes változók - hőmérséklet, páratartalom 24 óra, 7 nap - fejlesztésére. A webes felület lehetővé teszi a maximális / minimális, átlagos érték megtekintését 24 óra, 7 nap alatt minden hőmérő / higrométer esetén. Az 1. modulban kezdetben egy pár SHT21 érzékelőt fontoltak meg, de mivel nincs lehetőségük az I2C cím megváltoztatására, szükség lenne egy multiplexer használatára egy busz kommunikációhoz két azonos I2C címmel rendelkező érzékelőből. Hibás érzékelőadatok esetén az érzékelő nevét egy napló tárolja, amelyet a rendszergazda bármikor megnyithat a OneWire busz szervizelésére és például a hibás érzékelő cseréjére.

A Watchdog az Arduino programokban valósult meg, amely hibás inicializálás, "lefagyás" esetén egy újabb hiba biztonságosan újraindul, és a program elején kikapcsolja az összes kimenetet, amíg létre nem jön a kapcsolat a webes interfésszel, ahol teljesen szinkronizálva van a termelés feltételeit, amelyeket később alkalmaz.

További projektek: https://arduino.php5.sk?lang=en Adományozzon további példákért:

Ajánlott: