#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS_1 2 // Pin digital 2 untuk sensor DS18B20 pertama
#define fan A1 // deklarasi pin led pada PIN A1
OneWire oneWire1(ONE_WIRE_BUS_1);
DallasTemperature sensors1(&oneWire1);
// Alamat 0x20 dan 16 kolom x 2 baris
LiquidCrystal_I2C lcd(0x20, 16, 2);
void setup() {
lcd.init();
lcd.backlight();
// Cetak "Ready" pada layar LCD saat dihidupkan
lcd.setCursor(0, 0);
lcd.print("-----Ready-----");
delay(1000);
lcd.setCursor(0, 0);
lcd.print(" Temp MCC ");
// Inisialisasi sensor suhu DS18B20
sensors1.begin();
//Menginisialisasi fan sebagai Output
pinMode(fan, OUTPUT);
}
void loop() {
// Meminta suhu dari kedua sensor
sensors1.requestTemperatures();
// Membaca suhu sensor
float temperatureC_1 = sensors1.getTempCByIndex(0);
// Tampilkan suhu di layar LCD
lcd.setCursor(0, 1);
lcd.print(" Temp : ");
lcd.print(temperatureC_1);
lcd.print(" C");
delay(1000);
//instruksi untuk menyaakan FAN saat suhu lebih dari 32 derajat
if (temperatureC_1 > 32.0) {
digitalWrite(fan, HIGH);
}
//instruksi untuk mematikan FAN saat suhu kurang dari 30 derajat
else if (temperatureC_1 < 30.0){
digitalWrite(fan, LOW);
}
}