Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Arduino DTH22 Suhu Kelembaban Dengan Layar LCD I2C 16x2

Komponen dan persediaan

Arduino UNO
× 1
Sensor Suhu DHT22
× 1
Modul LCD 16×2 Putih di Biru dengan Modul Ransel I2C – 5V
× 1
Ukuran Penuh Papan Tempat Memotong Roti Tanpa Solder
× 1
Baterai 9V (generik)
× 1
Klip baterai 9V Adafruit dengan colokan 5.5mm/2.1mm
× 1
Kabel USB-A ke Mini-USB
× 1
Kabel Jumper Pria/Wanita
× 1
Kabel Jumper Pria/Pria
× 1

Tentang proyek ini

Selama dua tahun anak saya (7) memiliki keinginan untuk memiliki ular peliharaan. Akhirnya dia membeli sepasang ular dengan terarium. Untuk menjaga ular di lingkungan yang nyaman bagi mereka, kita perlu memantau suhu dan kelembabannya.

Jadi kami membeli sensor kelembaban/suhu analog dan menemukan bahwa tidak mudah untuk menjaga keduanya pada level yang baik. Karena saya sangat ingin memulai proyek dengan Arduino Uno yang baru saya beli, sepertinya ide yang baik untuk menggunakan sensor kelembaban / suhu dan membiarkan Arduino melakukan otomatisasi suhu dan kelembaban di terarium. Oleh karena itu saya membeli sensor kelembaban / suhu DTH22 dan layar LCD I2C 16x2 dan mencobanya.

Tutorial ini adalah dasar dari proyek ini. Tidak ada otomatisasi apapun dalam tutorial ini. Hanya penggunaan DTH22 dan layar LCD I2C.

Saya telah melihat tutorial lain untuk tujuan ini, tetapi ini menggunakan LCD tanpa I2C. Jika Anda tidak memiliki I2C yang terhubung ke LCD Anda, silakan lihat tutorial ini oleh ThothLoki

Diperlukan Perangkat Keras

  • Semua Arduino 5V (dalam hal ini Arduino Uno R3)
  • DTH22 Sensor kelembaban / suhu
  • Layar LCD 16x2 dengan I2C terpasang padanya
  • Papan tempat memotong roti
  • 6 kabel jumper pria/pria
  • 4 kabel jumper pria/wanita

Perpustakaan yang Dibutuhkan

  • Adafruit_Sensor
  • DHT
  • Kristal Cairan Baru

Sebelum kita mulai

Saya suka LCD 16x2 dengan I2C terpasang karena menghemat masalah semua pin yang mungkin atau mungkin tidak perlu dihubungkan ke Arduino. Anda hanya perlu 4 kabel jumper dan hanya itu.

Layar memiliki alamat I2C untuk menerima perintah atau mengirim pesan. Kelemahannya adalah Anda perlu mencari tahu alamat mana yang digunakannya sebelum Anda dapat melanjutkan. Saya tidak akan membahas detailnya di sini, tetapi di forum Arduino Anda dapat membaca semua tentangnya.

Dalam kasus saya, perangkat kami menggunakan alamat 0x3F , jika perangkat Anda juga menggunakan alamat ini, Anda beruntung, Anda cukup menyalin kode kami.

Hubungkan papan tempat memotong roti ke Arduino

Sensor DHT22 serta LCD 1602 I2C menggunakan catu daya 5V. Oleh karena itu saya menghubungkan pin 5V pada Arduino saya ke baris + merah di papan tempat memotong roti dan tanah Arduino saya ke biru - di papan tempat memotong roti. Karena saya ingin menjaga warna tetap sinkron, pada skema saya, saya akan menggunakan kabel merah untuk 5V dan kabel biru untuk ground. Dalam kehidupan nyata saya tidak menggunakan warna biru untuk ground, tapi putih... saya rasa terlalu banyak bermain dengan elektronik mobil.

Saya akan menggunakan kabel kuning untuk Data, kabel oranye untuk SDA dan kabel abu-abu untuk SCL. Huruf dua akan ada di I2C.

Menambahkan sensor DHT22

Mari kita lihat pinoutnya. Sensor DHT22 (seperti DHT11) memiliki empat pin. Sensor DHT22 saya letakkan di breadboard dengan bagian depan menghadap ke luar. Dengan cara ini pin pertama (daya 5V) ada di sebelah kanan (lihat skema).

Saya menggunakan kabel jumper merah kecil untuk menghubungkan VCC 5V ke baris 5V (+) di papan tempat memotong roti. Dan kabel jumper biru kecil untuk menghubungkan ground ke ground (-) baris di breadboard. Saya mengambil kabel kuning panjang untuk menghubungkan pin kedua, pin data, ke Arduino. Karena ini adalah data digital, saya menghubungkannya ke port data 4 di Arduino. Dalam contoh lain Anda mungkin akan melihat orang menggunakan port 7, keduanya akan berfungsi. Saya menggunakan port 4 karena saya mengantisipasi bahwa saya akan menggunakan lebih banyak port data dan ingin menyimpan port 7 untuk berjaga-jaga. Anda juga akan melihat ini di skema.

Menambahkan LCD 16x2 I2C

LCD 16x2 I2C juga memiliki 4 pin. Perhatikan gambar di bawah ini, dari kiri ke kanan:

  • Tanah
  • VCC (5V)
  • SDA
  • SCL

Hubungkan pin pertama (kiri) ke baris ground (-) pada papan tempat memotong roti. Hubungkan pin kedua ke merah baris 5V (+) papan tempat memotong roti. Saya menggunakan Arduino Uno yang memiliki koneksi I2C pada A4 (SDA) dan A5 (SCL). Jadi saya menghubungkan pin ketiga ke A4 dan pin keempat ke konektor A5 di Arduino.

Kode

Ingat untuk layar Anda dapat memiliki alamat yang berbeda untuk terhubung. I2C saya menggunakan alamat 0x3F (lihat bagian 'Sebelum kita mulai') jadi berhati-hatilah karena kode saya disiapkan untuk alamat ini.

Ingat perpustakaan yang dibutuhkan (Adafruit_Sensor, DHT, NewliquidCrystal). Unduh perpustakaan ini, unzip dan tempatkan ini di direktori perpustakaan proyek Anda.

Kemudian unggah kode ke Arduino Anda dan periksa kelembaban dan suhu terarium Anda (atau lemari server, atau lemari es atau hanya ruang tamu Anda).

Kode

  • hygroThermo.ino
hygroThermo.inoC/C++
/* Cara menggunakan sensor DHT-22 dengan Arduino uno Sensor suhu dan kelembaban Info lebih lanjut:http://www.ardumotive.com/how-to-use-dht-22-sensor-en.html Pengembang:Michalis Vasilakis // Tanggal:1/7/2015 // www.ardumotive.com *///Libraries#include #include  #include #include //Konstanta#define DHTPIN 4 // pin apa yang kita sambungkan#define DHTTYPE DHT22 // DHT 22 (AM2302)DHT dht(DHTPIN, DHTTYPE); //// Inisialisasi sensor DHT untuk Arduino 16mhz normal// SELALU GUNAKAN INI DENGAN LCD I2C dan Alamat 0x3F#menentukan I2C_ADDR 0x3F#menentukan BACKLIGHT_PIN 3#menentukan En_pin 2#menentukan Rw_pin 1#menentukan Rs_pin 0#menentukan D4_pin 4 #define D6_pin 6#define D7_pin 7LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);//Variablesint chk;float hum; //Menyimpan nilai kelembaban suhu mengambang; //Menyimpan nilai suhuvoid setup(){ Serial.begin(9600); dht.mulai(); lcd.begin(16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIF); lcd.setBacklight(HIGH);}void loop(){ delay(2000); //Membaca data dan menyimpannya ke variabel hum dan temp hum =dht.readHumidity(); suhu =dht.readSuhu(); //Mencetak nilai suhu dan kelembapan ke serial monitor Serial.print("Humidity:"); Serial.print(berdengung); Serial.print("%, Suhu:"); Serial.print(temp); Serial.println("Celcius"); lcd.clear(); lcd.setCursor(0,0); lcd.print("Suhu :"); lcd.print(temp); lcd.print(""); lcd.print((char)223); lcd.print("C"); lcd.setCursor(0,1); lcd.print("Hum:"); lcd.print(berdengung); lcd.print("%"); penundaan(2000); //Tunda 2 detik.}

Skema

Skema Fritzing schema_UcHE1qRu2t.fzz

Proses manufaktur

  1. Komunikasi Arduino I2C dengan Raspi 2 WIOT
  2. Panel LCD dengan Arduino untuk Simulator Penerbangan
  3. Mengambil Tetesan Air Dengan Arduino
  4. Pencatat Data Suhu dan Kelembaban
  5. Bermain Dengan Tampilan Berikutnya
  6. Menampilkan Gambar Pada Layar TFT LCD Dengan Arduino UNO!
  7. Suhu, Kelembaban, dan Tekanan BME280 pada Tampilan Berikutnya
  8. Osiloskop DIY 10Hz-50kHz pada Layar LCD 128x64
  9. u-blox LEA-6H 02 Modul GPS dengan Arduino dan Python
  10. Jam Alarm Sederhana dengan DS1302 RTC