Kazalo:

Nadzor temperature, vlažnosti - Arduino Mega + Ethernet W5100: 5 korakov
Nadzor temperature, vlažnosti - Arduino Mega + Ethernet W5100: 5 korakov

Video: Nadzor temperature, vlažnosti - Arduino Mega + Ethernet W5100: 5 korakov

Video: Nadzor temperature, vlažnosti - Arduino Mega + Ethernet W5100: 5 korakov
Video: Погода в доме: управление обогревателем с помощью ̶г̶о̶в̶н̶а̶ ̶и̶ ̶п̶а̶л̶о̶к̶ Arduino Mega 2560 2024, Julij
Anonim
Nadzor temperature, vlažnosti - Arduino Mega + Ethernet W5100
Nadzor temperature, vlažnosti - Arduino Mega + Ethernet W5100

Modul 1 - FLAT - strojna oprema:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet ščit
  • 8x temperaturni senzor DS18B20 na vodilu OneWire - razdeljen na 4 vodila OneWire (2, 4, 1, 1)
  • 2x digitalni senzor temperature in vlažnosti DHT22 (AM2302)
  • 1x senzor temperature in vlažnosti SENSIRION SHT21 (Si7021)
  • 1x senzor temperature in vlažnosti (in zračnega tlaka) BOSCH BME280
  • Pošlje podatke iz vseh senzorjev hkrati v nekaj minutah (lahko jih spremenite)

Modul 2 - KOTEL - strojna oprema:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet ščit
  • 16x temperaturni senzor DS18B20 na vodilu OneWire - razdeljen na 7 vodilov OneWire (2, 2, 2, 2, 2, 2, 4)
  • 8x digitalni vhod
  • 8x digitalni izhod - za solenoid / rele
  • Pošlje podatke iz vseh senzorjev hkrati v nekaj minutah (lahko jih spremenite)
  • Bere stanja posameznih izhodov iz spletnega vmesnika, jih uporablja Pošilja stanja digitalnega vhoda

1. korak: Uvod

Uvod
Uvod
Uvod
Uvod
Uvod
Uvod

Danes bom podrobno predstavil zadnji realizirani projekt, ki je glede na funkcionalnost, število uporabljenih senzorjev, plošče Arduino, uporabljena podatkovna vodila precej zapleten. Projekt je sestavljen iz dveh modulov. Fizično je vsak modul sestavljen iz ločenega Arduino Mega 2560, Ethernet ščita W5100 (združljiv z R3) in senzorjev, ki jih uporablja.

Vsak modul komunicira s spletnim vmesnikom na internetu z zahtevami HTTP POST, s katerimi spletni strežnik prodaja podatke ali zahteva nekatere podatke, na primer prek zahteve POST (samo modul 2). Spletni vmesnik je opremljen s sistemom za prijavo, v sistem pa se lahko prijavi vsa družina, vsaka s svojim imenom in geslom. Gre torej za aplikacijo za več uporabnikov, kjer ima vsak družinski član pregled nad obema moduloma in lahko izvaja različna dejanja - nastavitev referenčne temperature, nadzorni termometer itd. Spletni vmesnik je programiran v PHP, podatki so shranjeni v bazi podatkov MySQL. Vsak od modulov ima v bazi podatkov ločeno tabelo za podatke. Podrobneje razmislite o posameznih modulih.

2. korak: Modul 1 - FLAT

Modul 1 - FLAT
Modul 1 - FLAT
Modul 1 - FLAT
Modul 1 - FLAT

Celoten modul 1- FLAT služi le kot nadzornik temperature v posameznih prostorih, nima druge vloge. Senzorji DHT22 so bili uporabljeni na dolge razdalje z uporabo ustreznega 10 -ohmskega upornega upora za beleženje vlažnosti v kopalnicah. Ker BME280 in SHT21 komunicirata prek vodila I2C in je to precej omejeno glede na dolžino voznika vodila, se senzorji uporabljajo v bližini Arduina v prostorih.

Temperaturni senzorji DS18B20 so razdeljeni na 4 vodila, saj se uporabljata dva zunanja senzorja, kar olajša njihovo povezavo z ločenimi vtičnicami Arduino, v primeru padca senzorja pa jih je lažje zamenjati, saj ne paralizira funkcionalnosti sistema.

Na primer v primeru enega od teh vodilov OneWire, na katerem so indeksirani 4 senzorji. Indeks je povezan s fizičnim naslovom termometrov, zato se lahko ob zamenjavi enega od senzorjev novi senzor pojavi na indeksu 0 - začetni ali celo 2, 3 ali zadnji. Tako se lahko z zmanjšanjem števila senzorjev na vodilih izognemo takemu zapletu, ki se lahko pojavi ob zamenjavi senzorja.

3. korak: Modul 2 - KOTEL

Modul 2 - KOTEL
Modul 2 - KOTEL
Modul 2 - KOTEL
Modul 2 - KOTEL
Modul 2 - KOTEL
Modul 2 - KOTEL

Poleg funkcije nadzora ima pomembnejšo vlogo tudi modul 2 - KOTEL, in sicer krmiljenje solenoidov ali relejev za krmiljenje radiatorskih ventilov. Modul deluje neodvisno od ogrevanja doma. Modul ne preklopi ogrevanja ali kotla. Modul skrbi le za odpiranje, zapiranje radiatorskega ventila, če je sobna temperatura nižja / višja od nastavljene - t.i. referenčna temperatura. Vsakemu prostoru, kjer je krmiljen radiatorski ventil, je mogoče iz modula 2. dodeliti poseben termometer. Poleg tega - samodejni način, obstaja tudi ročni način, kjer lahko ventil odprete / zaprete ročno iz spletnega vmesnika za nedoločen čas - trdo. Digitalni vhodi se lahko uporabijo za preverjanje, ali je bil elektromagnet / rele / ventil odprt / zaprt na zahtevo z Arduino - možnost primerjave, ali je izhod enak vhodu.

4. korak: Kaj ponuja spletni vmesnik?

Kaj ponuja spletni vmesnik?
Kaj ponuja spletni vmesnik?
Kaj ponuja spletni vmesnik?
Kaj ponuja spletni vmesnik?

Za oba modula obstaja tudi grafični prikaz linijskega grafikona za razvoj posameznih spremenljivk - temperatura, vlažnost v 24 urah, 7 dneh. Spletni vmesnik ponuja tudi ogled največje / minimalne, povprečne vrednosti v 24 urah, 7 dni za vsak termometer / higrometer. V modulu 1 je bil sprva obravnavan par senzorjev SHT21, a ker nimajo možnosti spreminjanja naslova I2C, bi bilo treba uporabiti multiplekser za eno komunikacijo vodila iz dveh senzorjev z istim naslovom I2C. V primeru napačnih podatkov senzorja se ime senzorja shrani v dnevnik, ki ga lahko skrbnik sistema kadar koli odpre za servisiranje vodila OneWire in zamenjavo okvarjenega senzorja, na primer.

Watchdog je bil implementiran v programe Arduino, ki se v primeru napačne inicializacije, "zamrznitve", še ena napaka varno znova zažene in na začetku programa izklopi vse izhode, dokler ni vzpostavljena povezava s spletnim vmesnikom, kjer je v celoti sinhroniziran v pogoje, ki jih pozneje uporablja.

Več projektov najdete na: https://arduino.php5.sk?lang=en Donirajte za več primerov:

Priporočena: