Obsah:

Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100: 5 krokov
Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100: 5 krokov

Video: Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100: 5 krokov

Video: Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100: 5 krokov
Video: Hladinomer do kopanej studne - Arduino / ESP8266 / ESP32 - Monitor výšky hladiny vody, materiálu 2024, November
Anonim
Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100
Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100

Modul 1 - FLAT - hardvér:

  • Arduino Mega 2560
  • Ethernetový štít Wiznet W5100
  • 8x snímač teploty DS18B20 na zbernici OneWire - rozdelený na 4 zbernice OneWire (2, 4, 1, 1)
  • 2x digitálny snímač teploty a vlhkosti DHT22 (AM2302)
  • 1x snímač teploty a vlhkosti SENSIRION SHT21 (Si7021)
  • 1x snímač teploty a vlhkosti (a tlaku vzduchu) BOSCH BME280
  • Odosiela údaje zo všetkých senzorov naraz v priebehu niekoľkých minút (dá sa zmeniť)

Modul 2 - KOTOL - hardvér:

  • Arduino Mega 2560
  • Ethernetový štít Wiznet W5100
  • 16x snímač teploty DS18B20 na zbernici OneWire - rozdelený do 7 zberníc OneWire (2, 2, 2, 2, 2, 2, 4)
  • 8x digitálny vstup
  • 8x digitálny výstup - pre solenoid / relé
  • Odosiela údaje zo všetkých senzorov naraz v priebehu niekoľkých minút (dá sa zmeniť)
  • Načíta stavy jednotlivých výstupov z webového rozhrania, aplikuje ich Odosielanie stavov digitálneho vstupu

Krok 1: Úvod

Úvod
Úvod
Úvod
Úvod
Úvod
Úvod

Dnes podrobne predstavím posledný realizovaný projekt, ktorý je dosť komplexný z hľadiska funkčnosti, počtu použitých senzorov, dosiek Arduino, použitých dátových zberníc. Projekt pozostáva z dvoch modulov. Fyzicky každý modul pozostáva zo samostatného Arduino Mega 2560, ethernetového štítu W5100 (kompatibilného s R3) a senzorov, ktoré používa.

Každý modul komunikuje s webovým rozhraním na internete pomocou požiadaviek HTTP POST, pomocou ktorých webový server predáva údaje alebo požaduje niektoré údaje, napríklad prostredníctvom požiadavky POST (iba modul 2). Webové rozhranie je doplnené prihlasovacím systémom, pričom do systému sa môže zaregistrovať celá rodina, pričom každé má svoje meno a heslo. Jedná sa teda o viacuživatelskú aplikáciu, kde každý člen rodiny má prehľad o oboch moduloch a môže vykonávať rôzne akcie - nastavenie referenčnej teploty, ovládanie teplomera atď. Webové rozhranie je naprogramované v PHP, údaje sú uložené v databáze MySQL. Každý z modulov má v databáze samostatnú tabuľku údajov. Zvážte jednotlivé moduly podrobnejšie.

Krok 2: Modul 1 - BYT

Modul 1 - BYT
Modul 1 - BYT
Modul 1 - BYT
Modul 1 - BYT

Celý modul 1- FLAT slúži iba ako monitor teploty v jednotlivých miestnostiach, nemá inú úlohu. Senzory DHT22 boli použité na veľkú vzdialenosť pomocou vhodného 10 kOhm vyťahovacieho odporu na zaznamenávanie vlhkosti v kúpeľniach. Pretože BME280 a SHT21 komunikujú po zbernici I2C, a to je z hľadiska dĺžok vodičov autobusov značne obmedzené, v miestnostiach sa v blízkosti Arduina používajú snímače.

Snímače teploty DS18B20 sú rozdelené do 4 zberníc, pretože sa používajú dva externé snímače, čo uľahčuje ich pripojenie k oddeleným zásuvkám Arduino a v prípade poklesu snímača sa dá jednoduchšie vymeniť, pretože to paralyzuje funkčnosť. systému.

Napríklad v prípade jedného z týchto autobusov OneWire, na ktorom sú indexované 4 snímače. Index je spojený s fyzickou adresou teplomerov, takže ak dôjde k výmene jedného zo senzorov, nový snímač sa môže objaviť na indexe 0 - počiatočný alebo dokonca 2, 3 alebo posledný. Znížením počtu senzorov v autobusoch sa teda môžeme vyhnúť takej komplikácii, ktorá môže nastať pri výmene senzora.

Krok 3: Modul 2 - KOTL

Modul 2 - KOTL
Modul 2 - KOTL
Modul 2 - KOTL
Modul 2 - KOTL
Modul 2 - KOTL
Modul 2 - KOTL

Modul 2 - KOTOL má okrem funkcie monitora aj dôležitejšiu úlohu, a to ovládanie solenoidov alebo relé na ovládanie ventilov radiátorov. Modul pracuje nezávisle od vykurovania domácností. Modul nespína vykurovanie ani kotol. Modul sa stará iba o otváranie, zatváranie ventilu radiátora, ak je teplota v miestnosti nižšia / vyššia ako nastavená - tzv. referenčná teplota. Každej miestnosti, kde je ventil radiátora ovládaný, je možné priradiť konkrétny teplomer z modulu 2. Okrem tohto - automatického režimu existuje aj manuálny režim, kde je možné ventil otvárať / zatvárať ručne z webového rozhrania neobmedzene - ťažko. Digitálne vstupy je možné použiť na overenie, či bol solenoid / relé / ventil na požiadanie otvorený / zatvorený pomocou Arduiny - možnosť porovnať, či sa výstup rovná vstupu.

Krok 4: Aké webové rozhranie ponúka?

Aké webové rozhranie ponúka?
Aké webové rozhranie ponúka?
Aké webové rozhranie ponúka?
Aké webové rozhranie ponúka?

U oboch modulov je aj grafické znázornenie čiarového grafu pre vývoj jednotlivých premenných - teplota, vlhkosť za 24 hodín, 7 dní. Webové rozhranie tiež ponúka zobrazenie maximálnej / minimálnej priemernej hodnoty za 24 hodín, 7 dní pre každý teplomer / vlhkomer. V module 1 sa pôvodne uvažovalo o dvojici senzorov SHT21, ale keďže nemajú žiadnu možnosť zmeny adresy I2C, bolo by potrebné použiť multiplexor na komunikáciu jednej zbernice z dvoch senzorov s rovnakou adresou I2C. V prípade chybných údajov senzora je názov senzora uložený v protokole, ktorý môže správca systému kedykoľvek otvoriť, aby napríklad opravil zbernicu OneWire a vymenil chybný senzor.

Watchdog bol implementovaný do programov Arduino, ktoré v prípade chybnej inicializácie, „zamrznutia“, ďalšej chyby bezpečne reštartuje a na začiatku programu vypne všetky výstupy, kým sa nadviaže spojenie s webovým rozhraním, kde je plne synchronizovaný v podmienky výstupov, ktoré následne uplatňuje.

Viac projektov nájdete na: https://arduino.php5.sk?lang=sk Ďalšie príklady darujte:

Odporúča: