İçindekiler:

Sıcaklık, Nem Monitörü - Arduino Mega + Ethernet W5100: 5 Adım
Sıcaklık, Nem Monitörü - Arduino Mega + Ethernet W5100: 5 Adım

Video: Sıcaklık, Nem Monitörü - Arduino Mega + Ethernet W5100: 5 Adım

Video: Sıcaklık, Nem Monitörü - Arduino Mega + Ethernet W5100: 5 Adım
Video: #74 Интернет. Включите Arduino (ENC28J60 или Ethernet-контроллер W5100). 2024, Kasım
Anonim
Sıcaklık, Nem Monitörü - Arduino Mega + Ethernet W5100
Sıcaklık, Nem Monitörü - Arduino Mega + Ethernet W5100

Modül 1 - DÜZ - donanım:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet kalkanı
  • OneWire veriyolunda 8x DS18B20 sıcaklık sensörü - 4 OneWire veriyoluna (2, 4, 1, 1) bölünmüştür
  • 2 adet dijital sıcaklık ve nem sensörü DHT22 (AM2302)
  • 1 adet sıcaklık ve nem sensörü SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 sıcaklık ve nem (ve hava basıncı) sensörü
  • Tüm sensörlerden birkaç dakika içinde aynı anda veri gönderir (değiştirilebilir)

Modül 2 - KAZAN - donanım:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet kalkanı
  • OneWire veriyolunda 16x DS18B20 sıcaklık sensörü - 7 OneWire veriyoluna bölünmüştür (2, 2, 2, 2, 2, 2, 4)
  • 8x dijital giriş
  • 8x dijital çıkış - solenoid / röle için
  • Tüm sensörlerden birkaç dakika içinde aynı anda veri gönderir (değiştirilebilir)
  • Web arayüzünden tek tek çıkışların durumlarını okur, uygular Dijital giriş durumlarını gönderir

Adım 1: Giriş

Tanıtım
Tanıtım
Tanıtım
Tanıtım
Tanıtım
Tanıtım

Bugün, işlevsellik, kullanılan sensör sayısı, Arduino kartları, kullanılan veri yolları açısından oldukça karmaşık olan son gerçekleştirilen projeyi detaylı olarak sunacağım. Proje iki modülden oluşmaktadır. Fiziksel olarak her modül ayrı bir Arduino Mega 2560, Ethernet kalkanı W5100 (R3 uyumlu) ve kullandığı sensörlerden oluşur.

Her modül, web sunucusunun veri sattığı veya bazı verileri, örneğin POST isteği (yalnızca modül 2) aracılığıyla talep ettiği HTTP POST istekleri aracılığıyla İnternet üzerindeki web arayüzü ile iletişim kurar. Web arayüzü bir giriş sistemi ile tamamlanırken, tüm aile her biri kendi adı ve şifresi ile sisteme kayıt olabilir. Bu nedenle, her aile üyesinin her iki modüle de genel bir bakışa sahip olduğu ve farklı eylemler gerçekleştirebildiği çok kullanıcılı bir uygulamadır - referans sıcaklığının ayarlanması, termometre kontrolü, vb. Web arayüzü PHP'de programlanmıştır, veriler MySQL veritabanında depolanır. Modüllerin her birinin veri tabanında ayrı bir tablosu vardır. Bireysel modülleri daha ayrıntılı olarak düşünün.

Adım 2: Modül 1 - DÜZ

Modül 1 - DÜZ
Modül 1 - DÜZ
Modül 1 - DÜZ
Modül 1 - DÜZ

1- FLAT modülünün tamamı sadece bireysel odalarda sıcaklık monitörü olarak hizmet eder, başka bir rolü yoktur. DHT22 sensörleri, banyolardaki nemi kaydetmek için uygun bir 10kohm çekme direnci kullanılarak uzun bir mesafe boyunca kullanıldı. BME280 ve SHT21, I2C veriyolu üzerinden haberleştiğinden ve bu veri yolu sürücü uzunlukları açısından oldukça sınırlı olduğundan, odalarda Arduino yakınında sensörler kullanılmaktadır.

DS18B20 sıcaklık sensörleri 4 bus'a bölünmüştür, iki harici sensör kullanıldığından, bunları ayrı Arduino çıkışlarına bağlamayı kolaylaştırır ve sensör düşmesi durumunda işlevselliği felç etmediği için değiştirilmesi daha kolaydır. sistemin.

Örneğin, 4 sensörün endekslendiği bu OneWire veri yollarından biri durumunda. İndeks, termometrelerin fiziksel adresi ile bağlantılıdır, bu nedenle sensörlerden biri değiştirilirse, yeni sensör 0 - ilk veya hatta 2, 3 veya son indekste görünebilir. Böylece otobüslerdeki sensör sayısını azaltarak, sensör değiştirildiğinde oluşabilecek böyle bir komplikasyonun önüne geçebiliriz.

Adım 3: Modül 2 - KAZAN

Modül 2 - KAZAN
Modül 2 - KAZAN
Modül 2 - KAZAN
Modül 2 - KAZAN
Modül 2 - KAZAN
Modül 2 - KAZAN

Monitör işlevine ek olarak, modül 2 - KAZAN ayrıca solenoidlerin veya radyatör vanalarının kontrolü için rölelerin kontrolü gibi daha önemli bir role sahiptir. Modül, ev ısıtmasından bağımsız olarak çalışır. Modül, ısıtma veya kazanı değiştirmez. Modül, yalnızca oda sıcaklığı ayarlanandan daha düşük / daha yüksekse - sözde - radyatör vanasını açıp kapamakla ilgilenir. Referans sıcaklığı. Radyatör vanasının kontrol edildiği her odaya modül 2'den belirli bir termometre atanabilir. Bu otomatik moda ek olarak, vananın web arayüzünden manuel olarak süresiz olarak açılıp/kapatılabileceği manuel mod da vardır - sert. Dijital girişler, Arduina ile talep üzerine solenoid / röle / vananın açılıp / kapatıldığını doğrulamak için kullanılabilir - çıkışın girişe eşit olup olmadığını karşılaştırma yeteneği.

Adım 4: Web Arayüzü Neler Sunar?

Web Arayüzü Neler Sunar?
Web Arayüzü Neler Sunar?
Web Arayüzü Neler Sunar?
Web Arayüzü Neler Sunar?

Her iki modül için de bireysel değişkenlerin gelişimi için bir çizgi grafiğin grafiksel bir gösterimi vardır - sıcaklık, nem 24 saat, 7 gün. Web arayüzü ayrıca her termometre / higrometre için maksimum / minimum, ortalama değerin 24 saat, 7 gün içinde görüntülenmesini sağlar. Modül 1'de başlangıçta bir çift SHT21 sensörü düşünüldü, ancak I2C adresini değiştirme olasılıkları olmadığından, aynı I2C adresine sahip iki sensörden bir bus iletişimi için çoklayıcı kullanmak gerekli olacaktır. Arızalı sensör verileri olması durumunda, sensör adı, sistem yöneticisinin herhangi bir zamanda OneWire veriyoluna servis vermek ve arızalı sensörü değiştirmek için açabileceği bir günlükte saklanır.

Arduino programlarında, hatalı başlatma, "donma" durumunda başka bir hatanın güvenli bir şekilde yeniden başlatıldığı ve programın başlangıcında tamamen senkronize olduğu web arayüzüne bağlantı kurulana kadar tüm çıkışları kapatan Watchdog uygulandı. daha sonra uygulayacağı çıktılar açısından.

Daha fazla projeyi şurada bulabilirsiniz: https://arduino.php5.sk?lang=en Daha fazla örnek için bağış yapın:

Önerilen: