int tempPin = 23;
int redLedPin = 25;
int greenLedPin = 27;
int sliderPin = 26;
int relayPin = 4;
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
const float BETA = 3950; // should match the Beta Coefficient of the thermistor
void setup() {
Serial.begin(9600);
analogReadResolution(10);
lcd.init();
lcd.backlight();
lcd.setCursor(3, 0);
lcd.print("Hello, world!");
pinMode(tempPin, INPUT);
pinMode(sliderPin, INPUT);
pinMode(redLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(relayPin, OUTPUT);
}
void loop() {
int analogValue = analogRead(tempPin);
int celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
Serial.print("Temperature: ");
Serial.print(celsius);
Serial.println(" ℃");
int sliderValue = analogRead(sliderPin);
Serial.print("Slider Value: ");
Serial.println(sliderValue);
if (celsius >= 35) {
digitalWrite(redLedPin, HIGH);
digitalWrite(greenLedPin, LOW);
// digitalWrite(relayPin, HIGH);
}
else {
digitalWrite(redLedPin, LOW);
digitalWrite(greenLedPin, HIGH);
// digitalWrite(relayPin, LOW);
}
delay(1000);
}