Mündəricat:

Temperatur, Nəmlik Monitoru - Arduino Mega + Ethernet W5100: 5 Addım
Temperatur, Nəmlik Monitoru - Arduino Mega + Ethernet W5100: 5 Addım

Video: Temperatur, Nəmlik Monitoru - Arduino Mega + Ethernet W5100: 5 Addım

Video: Temperatur, Nəmlik Monitoru - Arduino Mega + Ethernet W5100: 5 Addım
Video: Modkam - Zigbee станция для капельного полива растений 2024, Noyabr
Anonim
Temperatur, Nəmlik Monitoru - Arduino Mega + Ethernet W5100
Temperatur, Nəmlik Monitoru - Arduino Mega + Ethernet W5100

Modul 1 - FLAT - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet qalxanı
  • OneWire avtobusundakı 8x DS18B20 temperatur sensoru - 4 OneWire avtobusuna bölünür (2, 4, 1, 1)
  • 2x rəqəmsal temperatur və rütubət sensoru DHT22 (AM2302)
  • 1x temperatur və rütubət sensoru SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 temperatur və rütubət (və hava təzyiqi) sensoru
  • Bütün sensorlardan bir neçə dəqiqə ərzində məlumat göndərir (dəyişdirilə bilər)

Modul 2 - QAZAN - hardware:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet qalxanı
  • OneWire avtobusundakı 16x DS18B20 temperatur sensoru - 7 OneWire avtobusuna bölünür (2, 2, 2, 2, 2, 2, 4)
  • 8x rəqəmsal giriş
  • 8x rəqəmsal çıxış - solenoid / röle üçün
  • Bütün sensorlardan bir neçə dəqiqə ərzində məlumat göndərir (dəyişdirilə bilər)
  • Veb interfeysindən fərdi çıxış vəziyyətlərini oxuyur, tətbiq edir Rəqəmsal giriş vəziyyətlərini göndərir

Addım 1: Giriş

Giriş
Giriş
Giriş
Giriş
Giriş
Giriş

Bu gün funksionallıq, istifadə edilən sensorların sayı, Arduino lövhələri, istifadə olunan məlumat avtobusları baxımından olduqca mürəkkəb olan son həyata keçirilən layihəni ətraflı təqdim edəcəyəm. Layihə iki moduldan ibarətdir. Fiziki olaraq hər bir modul ayrı bir Arduino Mega 2560, Ethernet qalxanı W5100 (R3 uyğun) və istifadə etdiyi sensorlardan ibarətdir.

Hər bir modul İnternetdəki veb interfeysi ilə HTTP POST istəkləri ilə əlaqə qurur, bunun vasitəsilə veb server məlumat satır və ya bəzi məlumatlar tələb edir, məsələn POST sorğusu ilə (yalnız modul 2). Veb interfeysi bir giriş sistemi ilə tamamlanır, bütün ailə hər biri adı və şifrəsi ilə sistemə qeydiyyatdan keçə bilər. Buna görə də hər bir ailə üzvünün hər iki modulun ümumi görünüşünə malik olduğu və fərqli hərəkətlər edə biləcəyi çox istifadəçi bir tətbiqdir - istinad temperaturu, nəzarət termometri və s. Veb interfeysi PHP -də proqramlaşdırılır, məlumatlar MySQL verilənlər bazasında saxlanılır. Modulların hər birinin məlumat bazasında ayrıca bir cədvəli var. Fərdi modulları daha ətraflı nəzərdən keçirin.

Addım 2: Modul 1 - FLAT

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

Bütün modul 1- FLAT yalnız ayrı otaqlarda temperatur monitoru kimi xidmət edir, başqa heç bir rolu yoxdur. Hamamdakı rütubəti qeyd etmək üçün uyğun 10 kohm çəkmə müqavimətindən istifadə edərək DHT22 sensorlar uzun məsafədə istifadə edilmişdir. BME280 və SHT21 I2C avtobusu ilə ünsiyyət qurduğundan və bu avtobus sürücüsünün uzunluğu baxımından xeyli məhdud olduğu üçün otaqlarda Arduino yaxınlığında sensorlar istifadə olunur.

DS18B20 temperatur sensörleri iki xarici sensordan istifadə edildiyindən 4 avtobusa bölünmüşdür ki, bu da onları ayrı Arduino prizlərinə bağlamağı asanlaşdırır və sensorun düşməsi halında funksiyanı iflic etmədiyi üçün dəyişdirilməsi daha asandır. sistemin.

Məsələn, 4 sensorun indeksləşdirildiyi OneWire avtobuslarından birində. İndeks, termometrlərin fiziki ünvanı ilə əlaqədardır, buna görə də sensorlardan biri dəyişdirilərsə, yeni sensor 0 indeksində görünə bilər - ilkin, hətta 2, 3 və ya son. Beləliklə, avtobuslardakı sensorların sayını azaltmaqla, sensor dəyişdirilərkən baş verə biləcək belə bir komplikasiyadan qaça bilərik.

Addım 3: Modul 2 - QAZAN

Modul 2 - QAZAN
Modul 2 - QAZAN
Modul 2 - QAZAN
Modul 2 - QAZAN
Modul 2 - QAZAN
Modul 2 - QAZAN

Monitor funksiyasına əlavə olaraq, 2 - BOILER modulu daha vacib bir rola malikdir, yəni solenoidlərin idarə edilməsi və ya radiator klapanlarının idarə edilməsi üçün rölelər. Modul daxili istilikdən asılı olmayaraq işləyir. Modul qızdırıcını və ya qazanı dəyişdirmir. Modul, yalnız otaq temperaturu setdən aşağı / yüksəkdirsə, radiator valfının açılması və bağlanması ilə məşğul olur. istinad temperaturu. Radiator klapanının idarə olunduğu hər bir otağa 2 -ci moduldan xüsusi bir termometr təyin edilə bilər. Bundan əlavə - avtomatik rejim, klapanın veb interfeysdən əl ilə sonsuza qədər açıla / bağlana biləcəyi bir əl rejimi də var. Rəqəmsal girişlər, Arduina ilə sorğu əsasında solenoid / röle / valfın açıldığını / bağlandığını yoxlamaq üçün istifadə edilə bilər - çıxışın girişə bərabər olub olmadığını müqayisə etmək imkanı.

Addım 4: Hansı Veb İnterfeysi Təklif Edir?

Hansı Veb İnterfeysi Təklif Edir?
Hansı Veb İnterfeysi Təklif Edir?
Hansı Veb İnterfeysi Təklif Edir?
Hansı Veb İnterfeysi Təklif Edir?

Hər iki modul üçün ayrıca dəyişənlərin inkişafı üçün bir xətt diaqramının qrafik təsviri var - temperatur, 24 saat ərzində rütubət, 7 gün. Veb interfeysi, hər bir termometr / higrometr üçün 7 gün ərzində 24 saat ərzində maksimum / minimum, ortalama dəyərə baxmağı da təklif edir. Modul 1 -də, əvvəlcə bir cüt SHT21 sensoru nəzərdən keçirildi, lakin I2C ünvanını dəyişdirmək imkanı olmadığından, eyni I2C ünvanlı iki sensordan bir avtobus ünsiyyəti üçün bir multipleksor istifadə etmək lazım olardı. Sensor məlumatlarının səhv olması halında, sensor adı sistem idarəçisinin OneWire avtobusuna xidmət göstərmək və məsələn, qüsurlu sensoru dəyişdirmək üçün istənilən vaxt aça biləcəyi bir jurnalda saxlanılır.

Watchdog, Arduino proqramlarında tətbiq edildi, səhv işə salınma, "donma" halında, başqa bir səhv etibarlı şəkildə yenidən başlayır və proqramın əvvəlində veb interfeysi ilə əlaqə qurulana qədər bütün çıxışları söndürür. sonradan tətbiq olunan çıxış şərtləri.

Daha çox layihə tapa bilərsiniz: https://arduino.php5.sk?lang=en Daha çox nümunə üçün bağışlayın:

Tövsiyə: