#include <Wire.h>
#include <LiquidCrystal.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Servo.h>
// Pin yang terhubung ke data sensor Dallas
#define ONE_WIRE_BUS 2
// Setup untuk komunikasi dengan sensor dan LCD
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
// Pin LCD (contoh: 12, 11, 5, 4, 3, 2)
LiquidCrystal lcd(11, 11, 10, 9, 3, 2);
// Servo motor
Servo myservo;
void setup() {
// Inisialisasi servo
myservo.attach(9); // Pastikan pin servo terhubung ke pin yang benar
// Inisialisasi LCD
lcd.begin(16, 2);
// Inisialisasi serial monitor
Serial.begin(9600);
// Mulai sensor suhu
sensors.begin();
}
void loop() {
// Minta sensor untuk membaca suhu
sensors.requestTemperatures();
// Mendapatkan suhu dalam Celcius
float tempC = sensors.getTempCByIndex(0);
// Tampilkan suhu di Serial Monitor
lcd.print("Suhu: ");
Serial.print(tempC);
Serial.print((char)176); // Simbol derajat
Serial.print("C | ");
Serial.print(DallasTemperature::toFahrenheit(tempC));
Serial.print((char)176); // Simbol derajat
Serial.println("F");
// Tampilkan suhu di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(tempC);
lcd.print((char)223); // Simbol derajat untuk LCD
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("F: ");
lcd.print(DallasTemperature::toFahrenheit(tempC));
lcd.print((char)223); // Simbol derajat untuk LCD
lcd.print("F");
// Tunggu sebelum update berikutnya
delay(2000);
}