Sisukord:

Temperatuuri, niiskuse monitor - Arduino Mega + Ethernet W5100: 5 sammu
Temperatuuri, niiskuse monitor - Arduino Mega + Ethernet W5100: 5 sammu

Video: Temperatuuri, niiskuse monitor - Arduino Mega + Ethernet W5100: 5 sammu

Video: Temperatuuri, niiskuse monitor - Arduino Mega + Ethernet W5100: 5 sammu
Video: Multilayers soil moisture temperature EC Salinity NPK sensor with LORAWAN 2024, November
Anonim
Temperatuuri, niiskuse monitor - Arduino Mega + Ethernet W5100
Temperatuuri, niiskuse monitor - Arduino Mega + Ethernet W5100

Moodul 1 - FLAT - riistvara:

  • Arduino Mega 2560
  • Wiznet W5100 Etherneti kilp
  • 8x DS18B20 temperatuuriandur OneWire siinil - jagatud neljaks OneWire siiniks (2, 4, 1, 1)
  • 2x digitaalne temperatuuri ja niiskuse andur DHT22 (AM2302)
  • 1x temperatuuri- ja niiskusandur SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 temperatuuri ja niiskuse (ja õhurõhu) andur
  • Saadab kõikide andurite andmed korraga mitme minuti jooksul (saab muuta)

Moodul 2 - KATEL - riistvara:

  • Arduino Mega 2560
  • Wiznet W5100 Etherneti kilp
  • 16x DS18B20 temperatuuriandur OneWire siinil - jagatud 7 OneWire siiniks (2, 2, 2, 2, 2, 2, 4)
  • 8x digitaalne sisend
  • 8x digitaalne väljund - solenoidi / relee jaoks
  • Saadab kõikide andurite andmed korraga mitme minuti jooksul (saab muuta)
  • See loeb veebiliidese üksikute väljundite olekuid ja rakendab neid Saadab digitaalse sisendi oleku

Samm 1: Sissejuhatus

Sissejuhatus
Sissejuhatus
Sissejuhatus
Sissejuhatus
Sissejuhatus
Sissejuhatus

Täna esitlen üksikasjalikult viimati realiseeritud projekti, mis on funktsionaalsuse, kasutatud andurite arvu, Arduino tahvlite, kasutatud andmesiinide osas üsna keeruline. Projekt koosneb kahest moodulist. Füüsiliselt koosneb iga moodul eraldi Arduino Mega 2560 -st, Etherneti kilbist W5100 (ühilduv R3 -ga) ja selle kasutatavatest anduritest.

Iga moodul suhtleb Interneti veebiliidesega HTTP POST -päringutega, mille abil veebiserver müüb andmeid või taotleb mõningaid andmeid, näiteks POST -päringu kaudu (ainult moodul 2). Veebiliides on komplekteeritud sisselogimissüsteemiga, samas kui kogu pere saab süsteemi registreeruda, igaüks oma nime ja parooliga. Seetõttu on tegemist mitme kasutajaga rakendusega, kus igal pereliikmel on ülevaade mõlemast moodulist ja ta saab teha erinevaid toiminguid - seada võrdlustemperatuuri, reguleerida termomeetrit jne. Veebiliides on programmeeritud PHP -s, andmed salvestatakse MySQL -i andmebaasi. Igal moodulil on andmebaasis andmete jaoks eraldi tabel. Mõelge üksikutele moodulitele üksikasjalikumalt.

2. samm: moodul 1 - FLAT

Moodul 1 - FLAT
Moodul 1 - FLAT
Moodul 1 - FLAT
Moodul 1 - FLAT

Kogu moodul 1- FLAT toimib ainult üksikute ruumide temperatuurimonitorina, sellel pole muud rolli. DHT22 andureid kasutati pika vahemaa tagant, kasutades sobivat 10kohm tõmbetakistit vannitubade niiskuse registreerimiseks. Kuna BME280 ja SHT21 suhtlevad I2C bussi kaudu ja see on bussijuhi pikkuse osas märkimisväärselt piiratud, kasutatakse ruumides Arduino lähedal andureid.

DS18B20 temperatuuriandurid on jagatud 4 siiniks, kuna kasutatakse kahte välist andurit, mis lihtsustab nende ühendamist eraldi Arduino pistikupesadega ja anduri kukkumise korral on seda lihtsam vahetada, kuna see ei halvenda funktsionaalsust süsteemist.

Näiteks ühe sellise OneWire bussi puhul, millel on indekseeritud 4 andurit. Indeks on seotud termomeetrite füüsilise aadressiga, nii et kui üks anduritest vahetatakse, võib uus andur ilmuda indeksisse 0 - esialgne või isegi 2, 3 või viimane. Seega, vähendades busside andurite arvu, saame vältida sellist komplikatsiooni, mis võib tekkida anduri vahetamisel.

3. samm: moodul 2 - KATEL

Moodul 2 - KATEL
Moodul 2 - KATEL
Moodul 2 - KATEL
Moodul 2 - KATEL
Moodul 2 - KATEL
Moodul 2 - KATEL

Lisaks jälgimisfunktsioonile on moodulil 2 - KATEL ka olulisem roll, nimelt solenoidide või radiaatorventiilide juhtimiseks mõeldud releede juhtimine. Moodul töötab sõltumatult koduküttest. Moodul ei lülita kütet ega katelt sisse. Moodul hoolitseb ainult radiaatori klapi avamise, sulgemise eest, kui toatemperatuur on seadistatud madalam / kõrgem - nn. võrdlustemperatuur. Igale ruumile, kus radiaatorklappi juhitakse, saab moodulist 2 määrata konkreetse termomeetri. Lisaks sellele - automaatrežiim, on olemas ka käsitsi režiim, kus klappi saab veebiliidesest käsitsi avada / sulgeda lõputult - raske. Digitaalsisendite abil saab kontrollida, kas solenoid / relee / klapp on Arduina nõudmisel avatud / suletud - võimalus võrrelda, kas väljund on sisendiga võrdne.

Samm: mida veebiliides pakub?

Milliseid veebiliideseid pakub?
Milliseid veebiliideseid pakub?
Milliseid veebiliideseid pakub?
Milliseid veebiliideseid pakub?

Mõlema mooduli jaoks on olemas ka graafiline joondiagramm üksikute muutujate arendamiseks - temperatuur, niiskus 24 tunni, 7 päeva jooksul. Veebiliides pakub ka iga termomeetri / hügromeetri maksimaalse / minimaalse keskmise väärtuse vaatamist 24 tunni ja 7 päeva jooksul. Moodulis 1 kaaluti algselt SHT21 andurite paari, kuid kuna neil puudub võimalus muuta I2C aadressi, oleks vaja kasutada ühe bussiside jaoks multiplekserit kahelt sama I2C aadressiga andurilt. Vigade anduri andmete korral salvestatakse anduri nimi logisse, mille süsteemiadministraator saab igal ajal avada, et näiteks OneWire'i bussi hooldada ja vigane andur välja vahetada.

Watchdog on rakendatud Arduino programmides, mis vigase initsialiseerimise, "külmutamise" korral taaskäivitub turvaliselt uuesti ja programmi alguses lülitab kõik väljundid välja, kuni luuakse ühendus veebiliidesega, kus see on täielikult sünkroonitud väljundite tingimused, mida see hiljem rakendab.

Rohkem projekte leiate aadressilt: https://arduino.php5.sk?lang=en Rohkemate näidete jaoks annetage:

Soovitan: