#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// Pin Configurations
const int ds18b20Pin = 2; // Temperature sensor
const int potPin = A0; // Potentiometer
// Sensor Initialization
OneWire oneWire(ds18b20Pin);
DallasTemperature sensors(&oneWire);
// LCD Initialization
LiquidCrystal_I2C lcd(0x27, 16,2); // I2C address, 16x2 LCD
void setup() {
Serial.begin(9600);
// Start temperature sensor
sensors.begin();
// Start LCD
lcd.begin(16, 2); // 16 columns, 2 rows
lcd.backlight();
}
void loop() {
// Read temperature
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
// Read voltage
int potValue = analogRead(potPin);
float voltage = potValue * 5.0 / 1023.0;
// Print to Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" °C");
Serial.print("Voltage: ");
Serial.print(voltage);
Serial.println(" V");
// Display on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperature: ");
lcd.print(temperatureC);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Volt: ");
lcd.print(voltage);
lcd.print(" V");
delay(1000);
}