#include <Arduino.h>
#include <DHT.h>
#define DHT_PIN 2 // Hubungkan pin data DHT22 ke pin GPIO2 pada Arduino
#define DHT_TYPE DHT22 // Gunakan DHT22, atau DHT11 jika Anda menggunakan sensor DHT11
#define BUTTON_PIN 7 // Hubungkan push button ke pin digital 7
#define LED_PIN 13 // Hubungkan LED ke pin digital 13
DHT dht(DHT_PIN, DHT_TYPE);
bool buttonState = false; // Menggunakan bool untuk status tombol
void setup() {
Serial.begin(9600);
pinMode(BUTTON_PIN, INPUT_PULLUP); // Aktifkan resistor pull-up internal
pinMode(LED_PIN, OUTPUT);
dht.begin();
}
void loop() {
// Baca suhu dan kelembaban dari DHT22
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Baca status tombol
buttonState = digitalRead(BUTTON_PIN) == HIGH; // Respon ketika tombol ditekan (karena pull-up)
// Tampilkan data DHT22 di Serial Monitor
Serial.print("Kelembaban: ");
Serial.print(humidity);
Serial.print("%\t");
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.println("°C");
// Kontrol LED dengan tombol
if (buttonState) {
digitalWrite(LED_PIN, HIGH); // Hidupkan LED jika tombol ditekan
} else {
digitalWrite(LED_PIN, LOW); // Matikan LED jika tombol tidak ditekan
}
delay(100); // Tunggu sejenak sebelum membaca ulang data
}