Tutorial Arduino Sensor Suhu dan Kelembapan DH2 22

Tutorial Arduino Sensor Suhu dan Kelembapan DHT 22

Sensor suhu dan kelembapan sering digunakan sebagai alat Internet of Things (IoT). Salah satu jenis sensor yang populer adalah DHT 22, yang bisa mengukur nilai suhu negatif dan nilai suhu panas yang cukup tinggi.

Penerapannya mencangkup smart home, smart office, smart factory dan smart agriculture. Bisa menyalakan fan jika suhu terlalu panas. Bisa menyalakan air jika kelembapannya rendah (kering). Bisa mematikan alat jika suhu terlampau panas. Masih banyak lagi bentuk penerapannya.

Video ini menjelaskan mengenai DHT 22, bagaimana mengaitkan DHT 22 ke papan Arduino Uno dan Breadboard, dan menunjukkan hasil pengukuran dalam kondisi normal.

Sebagai bonus, video juga menunjukkan perilaku sensor DHT 22 ketika sensor ini dicelupkan ke dalam air dan dimasukkan ke dalam kulkas. Ada dua DHT 22 yang digunakan. Satu diberikan lapisan coating dan yang satunya tidak diberikan lapisan coating. Dua sensor tersebut dimasukkan ke dalam air.

Kode program dan skema Breadboard bisa ditemukan pada link berikut:

// ProgressTech www.progresstech.co.id
// Protus Tanuhandaru

#include <DHT.h>  //menyertakan library DHT kedalam program
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Mengatur alamat I2C dan ukuran LCD
#define DHTPIN4 4  //pasang sensor pada pin 4 digital
#define DHTPIN6 6  //pasang sensor pada pin 6 digital
#define DHTTYPE22 DHT22 //kita menggunakan jenis sensor DHT22
DHT dht4(DHTPIN4, DHTTYPE22); //deklarasi pin sensor pada PIN 4 dengan jenis sensor yang dipilih
DHT dht6(DHTPIN6, DHTTYPE22); //deklarasi pin sensor pada PIN 6 dengan jenis sensor yang dipilih

void setup() {
  dht4.begin(); //program komunikasi atau setup untuk sensor DHT pada PIN 4
  dht6.begin(); //program komunikasi atau setup untuk sensor DHT pada PIN 6

  lcd.begin(); // Inisiasi LCD I2C
  lcd.backlight(); // Menyalakan backlight LCD
  lcd.setCursor(0, 0); // Tempatkan cursor pada posisi 0 dan 0
  lcd.print("ProgressTech");
  lcd.setCursor(0, 1); // Tempatkan cursor pada posisi 0 dan 0
  lcd.print("Protus");
  Serial.begin(9600); //program komunikasi atau setup untuk serial monitor dan kecepatan komunikasi (baudrate)
}

void loop() {

  float kelembapan4 = dht4.readHumidity(); //menyimpan nilai kelembapan pada variabel kelembapan sensor PIN 4
  float suhu4 = dht4.readTemperature(); //menyimpan nilai suhu pada variabel suhu sensor PIN 4

  float kelembapan6 = dht6.readHumidity(); //menyimpan nilai kelembapan pada variabel kelembapan sensor PIN 6
  float suhu6 = dht6.readTemperature(); //menyimpan nilai suhu pada variabel suhu sensor PIN 6

  //suhu2F = (suhu2*9/5)+32;
  //suhu2K = suhu2 + 273.15;
  
  Serial.print("P4 ");
  Serial.print(kelembapan4); //menampilkan nilai kelembapan PIN 4 pada Serial Monitor
  Serial.print("%"); //Simbol persen satuan kelembapan
  Serial.print(" "); //menambahkan spasi
  Serial.print(suhu4); //menampilkan nilai suhu pada Serial Monitor
  Serial.println("*C ||"); //Satuan Derajat Suhu

  Serial.print("P6 ");
  Serial.print(kelembapan6); //menampilkan nilai kelembapan PIN 6 pada Serial Monitor
  Serial.print("%"); //Simbol persen satuan kelembapan
  Serial.print(" "); //menambahkan spasi
  Serial.print(suhu6); //menampilkan nilai suhu pada Serial Monitor
  Serial.println("*C ||"); //Satuan Derajat Suhu


  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Hum:");
  lcd.print((int) kelembapan4); //menampilkan nilai kelembapan PIN 4 pada LCD
  lcd.print("%"); 
  lcd.setCursor(8,0);
  lcd.print("Tem:");
  lcd.print((int) suhu4); //menampilkan nilai suhu PIN 4 pada LCD
  lcd.print((char)223);
  lcd.print("C"); 

  lcd.setCursor(0,1);
  lcd.print("Hum:");
  lcd.print((int) kelembapan6); //menampilkan nilai kelembapan PIN 6 pada LCD
  lcd.print("%"); 
  lcd.setCursor(8,1);
  lcd.print("Tem:");
  lcd.print((int) suhu6); //menampilkan nilai suhu PIN 6 pada LCD
  lcd.print((char)223);
  lcd.print("C"); 
  
  delay(2000); //mengatur jeda waktu pembacaan sensor selama 1000 milidetik
}

Leave a Reply

Your email address will not be published. Required fields are marked *