Isi kandungan:

Monitor Suhu, Kelembapan - Arduino Mega + Ethernet W5100: 5 Langkah
Monitor Suhu, Kelembapan - Arduino Mega + Ethernet W5100: 5 Langkah

Video: Monitor Suhu, Kelembapan - Arduino Mega + Ethernet W5100: 5 Langkah

Video: Monitor Suhu, Kelembapan - Arduino Mega + Ethernet W5100: 5 Langkah
Video: Home automation dengan arduino ethernet dan monitoring suhu kelembaban 2024, Julai
Anonim
Monitor Suhu, Kelembapan - Arduino Mega + Ethernet W5100
Monitor Suhu, Kelembapan - Arduino Mega + Ethernet W5100

Modul 1 - FLAT - perkakasan:

  • Arduino Mega 2560
  • Perisai Ethernet Wiznet W5100
  • Sensor suhu 8x DS18B20 pada bas OneWire - dibahagikan kepada 4 bas OneWire (2, 4, 1, 1)
  • Sensor suhu dan kelembapan digital 2x DHT22 (AM2302)
  • Sensor suhu dan kelembapan 1x SENSIRION SHT21 (Si7021)
  • Sensor suhu dan kelembapan (dan tekanan udara) BOSCH BME280 1x
  • Menghantar data dari semua sensor sekaligus dalam beberapa minit (boleh diubah suai)

Modul 2 - BOILER - perkakasan:

  • Arduino Mega 2560
  • Perisai Ethernet Wiznet W5100
  • Sensor suhu 16x DS18B20 pada bas OneWire - dibahagikan kepada 7 bas OneWire (2, 2, 2, 2, 2, 2, 4)
  • Input digital 8x
  • Output digital 8x - untuk solenoid / geganti
  • Menghantar data dari semua sensor sekaligus dalam beberapa minit (boleh diubah suai)
  • Ia membaca keadaan output individu dari antara muka web, menerapkannya Menghantar keadaan input digital

Langkah 1: Pengenalan

Pengenalan
Pengenalan
Pengenalan
Pengenalan
Pengenalan
Pengenalan

Hari ini saya akan membentangkan secara terperinci projek terakhir yang direalisasikan, yang cukup kompleks dari segi fungsi, jumlah sensor yang digunakan, papan Arduino, bas data terpakai. Projek ini terdiri daripada dua modul. Secara fizikal setiap modul terdiri daripada Arduino Mega 2560, pelindung Ethernet W5100 (serasi R3) dan sensor yang digunakannya.

Setiap modul berkomunikasi dengan antara muka web di Internet dengan permintaan HTTP POST, di mana pelayan web menjual data atau meminta beberapa data, misalnya melalui permintaan POST (modul 2 saja). Antara muka web dilengkapi dengan sistem log masuk, sementara seluruh keluarga dapat mendaftar ke sistem, masing-masing dengan nama dan kata laluannya. Oleh itu, ini adalah aplikasi multiuser di mana setiap ahli keluarga mempunyai gambaran keseluruhan kedua modul dan dapat melakukan tindakan yang berbeza - menetapkan suhu rujukan, termometer kawalan, dll. Antara muka web diprogram dalam PHP, data disimpan dalam pangkalan data MySQL. Setiap modul mempunyai jadual terpisah dalam pangkalan data untuk data. Pertimbangkan modul individu dengan lebih terperinci.

Langkah 2: Modul 1 - FLAT

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

Keseluruhan modul 1- FLAT hanya berfungsi sebagai monitor suhu di setiap bilik, ia tidak mempunyai peranan lain. Sensor DHT22 digunakan dalam jarak jauh menggunakan resistor penarik 10kohm yang sesuai untuk merakam kelembapan di bilik mandi. Oleh kerana BME280 dan SHT21 berkomunikasi melalui bas I2C dan ini sangat terhad dari segi panjang pemandu bas, sensor digunakan berhampiran Arduino di bilik.

Sensor suhu DS18B20 telah dibahagikan kepada 4 bas, kerana dua sensor luaran digunakan, menjadikannya lebih mudah untuk menyambungkannya untuk memisahkan outlet Arduino dan, sekiranya berlaku penurunan sensor, lebih mudah diganti kerana tidak melumpuhkan fungsi sistem.

Sebagai contoh, untuk salah satu bas OneWire ini, di mana 4 sensor diindeks. Indeks dihubungkan dengan alamat fizikal termometer, jadi jika salah satu sensor ditukar, sensor baru mungkin muncul pada indeks 0 - awal, atau bahkan 2, 3 atau terakhir. Oleh itu, dengan mengurangkan jumlah sensor pada bas, kita dapat mengelakkan komplikasi seperti itu yang dapat terjadi ketika sensor diganti.

Langkah 3: Modul 2 - Dandang

Modul 2 - Dandang
Modul 2 - Dandang
Modul 2 - Dandang
Modul 2 - Dandang
Modul 2 - Dandang
Modul 2 - Dandang

Selain fungsi monitor, modul 2 - BOILER juga mempunyai peranan yang lebih penting, iaitu kawalan solenoid atau relay untuk kawalan injap radiator. Modul ini beroperasi secara bebas dari pemanasan domestik. Modul tidak menukar pemanasan atau dandang. Modul hanya mengurus pembukaan, penutupan injap radiator, jika suhu bilik lebih rendah / lebih tinggi dari set - yang disebut. suhu rujukan. Setiap ruangan di mana injap radiator dikendalikan dapat diberikan termometer khusus dari modul 2. Selain itu - mod automatik, ada juga mod manual di mana injap dapat dibuka / ditutup secara manual dari antara muka web tanpa batas - keras. Input digital boleh digunakan untuk mengesahkan bahawa solenoid / relay / injap telah dibuka / ditutup atas permintaan dengan Arduina - kemampuan untuk membandingkan apakah outputnya sama dengan input.

Langkah 4: Apa yang ditawarkan antara muka Web?

Apa yang ditawarkan oleh Antara Muka Web?
Apa yang ditawarkan oleh Antara Muka Web?
Apa yang ditawarkan oleh Antara Muka Web?
Apa yang ditawarkan oleh Antara Muka Web?

Untuk kedua-dua modul terdapat juga gambaran grafik carta garis untuk pengembangan pemboleh ubah individu - suhu, kelembapan dalam 24 jam, 7 hari. Antara muka web juga menawarkan tontonan nilai maksimum / minimum, rata-rata dalam 24 jam, 7 hari untuk setiap termometer / hygrometer. Pada modul 1, sepasang sensor SHT21 pada mulanya dipertimbangkan, tetapi kerana mereka tidak mempunyai kemungkinan untuk mengubah alamat I2C, perlu menggunakan multiplexer untuk satu komunikasi bus dari dua sensor dengan alamat I2C yang sama. Sekiranya terdapat data sensor yang salah, nama sensor disimpan dalam log yang dapat dibuka oleh pentadbir sistem pada bila-bila masa untuk melayani bas OneWire dan menggantikan sensor yang rosak, misalnya.

Watchdog telah dilaksanakan dalam program Arduino, yang dalam kes inisialisasi yang salah, "beku", ralat lain selamat dimulakan semula dan pada awal program mematikan semua output sehingga sambungan ke antara muka web terjalin, di mana ia diselaraskan sepenuhnya dalam terma output, yang kemudiannya berlaku.

Lebih banyak projek yang anda dapati di: https://arduino.php5.sk?lang=en Sumbang untuk lebih banyak contoh:

Disyorkan: