// membutuhkan library Arduino :
// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library
// - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor
#include "DHT.h";
#define DHTPIN 2 // Pin 2 Digital arduino dihubungkan ke out(data) DHT sensor
#define DHTTYPE DHT22 // menggunakan type DHT 11 (DHT ada 2 jenis DHT11 dan DHT22)
DHT dht(DHTPIN, DHTTYPE); // Inisialisasi sensor DHT.
//Fungsi yang pertama dibaca arduino
void setup() {
Serial.begin(9600); //memulai komunikasi serial arduino (serial monitor) dengan baudrate 9600
Serial.println("Birolistrik.com"); //menampilkan text (serial monior) Birolistrik.com melalui serial komunikasi
Serial.println("DHT22 Testing"); //menampilkan text (serial monior) DHT11 Testing melalui serial komunikasi
dht.begin(); //memulai komunikasi dengan sensor DHT11
}
void loop() {
//menunda waktu selama 2 detik
delay(2000);
float h = dht.readHumidity(); //membaca kelembaban sensor DHT dan menyimpan pembacaannya pada variable h dengan type data float/bilangan berkoma
float t = dht.readTemperature(); //membaca suhu sensor DHT dalam Celcius dan menyimpan pembacaannya pada variable t dengan type data float/bilangan berkoma
// membaca suhu dengan satuan Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// isnan adalah apakah variable tersebut bukan sebuah angka?
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Gagal Membaca DHT sensor!");
return;
}
// hitung index panas dalam Fahrenheit (default)
float hif = dht.computeHeatIndex(f, h);
//hitung index panas dalam Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Kelembaban: ");
Serial.print(h);
Serial.print("% Suhu: ");
Serial.print(t);
Serial.print("°C ");
Serial.print(f);
Serial.print("°F index panas: ");
Serial.print(hic);
Serial.print("°C ");
Serial.print(hif);
Serial.println("°F");
}