Obsah:

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

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

Video: Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100: 5 kroků
Video: Arduino a AD prevodník - Meranie teploty s LM35 2024, Listopad
Anonim
Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100
Monitor teploty, vlhkosti - Arduino Mega + Ethernet W5100

Modul 1 - FLAT - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 ethernetový štít
  • 8x snímač teploty DS18B20 na sběrnici OneWire - rozdělen na 4 sběrnice OneWire (2, 4, 1, 1)
  • 2x digitální 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
  • Odesílá data ze všech senzorů najednou za několik minut (lze upravit)

Modul 2 - KOTLE - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 ethernetový štít
  • 16x snímač teploty DS18B20 na sběrnici OneWire - rozdělen na 7 sběrnic OneWire (2, 2, 2, 2, 2, 2, 4)
  • 8x digitální vstup
  • 8x digitální výstup - pro solenoid / relé
  • Odesílá data ze všech senzorů najednou za několik minut (lze upravit)
  • Čte stavy jednotlivých výstupů z webového rozhraní, aplikuje je Odesílá stavy digitálního vstupu

Krok 1: Úvod

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

Dnes podrobně představím poslední realizovaný projekt, který je z hlediska funkčnosti, počtu použitých senzorů, desek Arduino, použitých datových sběrnic dosti složitý. Projekt se skládá ze dvou modulů. Fyzicky se každý modul skládá ze samostatného Arduino Mega 2560, ethernetového štítu W5100 (kompatibilní s R3) a senzorů, které používá.

Každý modul komunikuje s webovým rozhraním na internetu pomocí požadavků HTTP POST, pomocí kterých webový server prodává data nebo požaduje některá data, například prostřednictvím požadavku POST (pouze modul 2). Webové rozhraní je doplněno o přihlašovací systém, přičemž se do systému může zaregistrovat celá rodina, každý se svým jménem a heslem. Jedná se tedy o víceuživatelskou aplikaci, kde má každý člen rodiny přehled o obou modulech a může provádět různé akce - nastavení referenční teploty, ovládání teploměru atd. Webové rozhraní je naprogramováno v PHP, data jsou uložena v databázi MySQL. Každý z modulů má v databázi samostatnou tabulku dat. Zvažte jednotlivé moduly podrobněji.

Krok 2: Modul 1 - FLAT

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

Celý modul 1- FLAT slouží pouze jako hlídač teploty v jednotlivých místnostech, žádnou jinou roli nemá. Senzory DHT22 byly použity na dlouhou vzdálenost pomocí vhodného 10kOhm stahovacího odporu pro záznam vlhkosti v koupelnách. Vzhledem k tomu, že BME280 a SHT21 komunikují po sběrnici I2C, a to je z hlediska délek ovladačů autobusů značně omezeno, používají se v místnostech v blízkosti Arduina senzory.

Teplotní čidla DS18B20 byla rozdělena do 4 sběrnic, protože jsou použity dva externí snímače, což usnadňuje jejich připojení k samostatným výstupům Arduino a v případě poklesu čidla je jednodušší je vyměnit, protože to neochromuje funkčnost systému.

Například v případě jednoho z těchto autobusů OneWire, na kterém jsou indexovány 4 senzory. Index je spojen s fyzickou adresou teploměrů, takže pokud dojde k výměně jednoho ze senzorů, nový senzor se může objevit na indexu 0 - počáteční nebo dokonce 2, 3 nebo poslední. Snížením počtu senzorů v autobusech se tedy můžeme vyhnout takové komplikaci, která může nastat při výměně senzoru.

Krok 3: Modul 2 - KOTLE

Modul 2 - KOTLE
Modul 2 - KOTLE
Modul 2 - KOTLE
Modul 2 - KOTLE
Modul 2 - KOTLE
Modul 2 - KOTLE

Modul 2 - KOTLE má kromě funkce monitoru ještě důležitější roli, a to ovládání solenoidů nebo relé pro ovládání radiátorových ventilů. Modul pracuje nezávisle na vytápění domácnosti. Modul nespíná topení ani kotel. Modul se stará pouze o otevírání, zavírání radiátorového ventilu, pokud je pokojová teplota nižší / vyšší než nastavená - tzv. referenční teplota. Ke každé místnosti, kde je ventil radiátoru ovládán, lze přiřadit konkrétní teploměr z modulu 2. Kromě toho - automatický režim, existuje také manuální režim, kdy lze ventil neomezeně otevírat / zavírat ručně z webového rozhraní - těžké. Digitální vstupy lze použít k ověření, že solenoid / relé / ventil byl otevřen / zavřen na vyžádání pomocí Arduiny - schopnost porovnat, zda je výstup stejný jako vstup.

Krok 4: Jaké webové rozhraní nabízí?

Jaké webové rozhraní nabízí?
Jaké webové rozhraní nabízí?
Jaké webové rozhraní nabízí?
Jaké webové rozhraní nabízí?

U obou modulů je také grafické znázornění spojnicového grafu pro vývoj jednotlivých proměnných - teplota, vlhkost za 24 hodin, 7 dní. Webové rozhraní také nabízí zobrazení maximální / minimální průměrné hodnoty za 24 hodin, 7 dní pro každý teploměr / vlhkoměr. V modulu 1 byla původně uvažována dvojice senzorů SHT21, ale protože nemají žádnou možnost změny adresy I2C, bylo by nutné použít multiplexor pro komunikaci po jedné sběrnici ze dvou senzorů se stejnou adresou I2C. V případě chybných dat senzoru je název senzoru uložen do protokolu, který může správce systému kdykoli otevřít, aby například opravil sběrnici OneWire a vyměnil vadný senzor.

Watchdog byl implementován do programů Arduino, které v případě chybné inicializace, „zamrznutí“, další chyby bezpečně restartuje a na začátku programu vypne všechny výstupy, dokud není navázáno připojení k webovému rozhraní, kde je plně synchronizováno v podmínky výstupů, které následně aplikuje.

Další projekty najdete na: https://arduino.php5.sk?lang=cs Darujte další příklady:

Doporučuje: