// Setup awal DHT22
#include <DHT.h> // Library DHT22
#define DHTPIN 2 // Pin sinyal (out) sensor DHT22 terhubung
#define DHTTYPE DHT22 // Tipe sensor DHT (DHT22)
DHT dht(DHTPIN, DHTTYPE);
// Setup awal modul NTC
const int sensorntc = 3; // Pin sinyal (D0) modul NTC
int sensorValue = 0;
// Setup awal sensor ultrasonic HCSR04
// Library HCSR04
#define TRIGGER_PIN 4 // Pin Trigger
#define ECHO_PIN 5 // Pin Echo
#define MAX_DISTANCE 400 // Maksimal jarak 400 cm
// Setup awal DS18B20
#include <OneWire.h> // Library DS18B20
#include <DallasTemperature.h> // Library DS18B20
const int oneWireBusPin = 6; // Pin sinyal DS18B20 (kuning)
OneWire oneWire(oneWireBusPin);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
dht.begin(); // Memulai program DHT22
pinMode(sensorntc, INPUT); // Inisialisasi pin sinyal modul NTC sebagai input
sensors.begin(); // Memulai program DS18B20
}
void loop() {
// Program DHT22
float humidity = dht.readHumidity(); // Program membaca kelembaban
float temperatureC = dht.readTemperature(); // Suhu dalam Celsius
float temperatureF = (temperatureC * 9 / 5) + 32; // Konversi Celsius ke Fahrenheit
Serial.print("Humidity DHT22 : ");
Serial.print(humidity);
Serial.println("%");
Serial.print("Temperature DHT22 (°C): ");
Serial.print(temperatureC);
Serial.println("°C");
Serial.print("Temperature DHT22 (°F): ");
Serial.print(temperatureF);
Serial.println("°F");
// Program NTC
sensorValue = digitalRead(sensorntc);
if (sensorValue == LOW) {
Serial.println("(NTC) Suhu di atas titik referensi");
} else {
Serial.println("(NTC) Suhu di bawah titik referensi");
}
// Program Ultrasonic HCSR04
Serial.print("Ping: ");
Serial.println(" cm");
// Program DS18B20
sensors.requestTemperatures(); // Program membaca suhu
float celsius = sensors.getTempCByIndex(0); // Suhu dalam celcius
float fahrenheit = sensors.toFahrenheit(celsius); // Suhu dalam fahrenheit
Serial.print("Suhu Celsius (DS18B20): ");
Serial.print(celsius);
Serial.print("°C | Suhu Fahrenheit (DS18B20): ");
Serial.print(fahrenheit);
Serial.println("°F");
Serial.println("-----------------------------------");
delay(1000);
}