#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd (0x27, 16, 2);
int btnec = 13;
int btnap = 12;
Servo ser;
int pinservo = 3;
int ledro = 11;
int ledam = 10;
int ledaz = 9;
void setup() {
pinMode(btnec, INPUT);
pinMode(btnap, INPUT);
pinMode(ledro, OUTPUT);
pinMode(ledam, OUTPUT);
pinMode(ledaz, OUTPUT);
ser.attach(pinservo);
}
void loop() {
int valuebtn2 = digitalRead(btnap);
int valuebtn = digitalRead(btnec);
if (valuebtn == HIGH) {
lcd.begin(16, 2);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
}
int value = analogRead(A0);
float c = 1 / (log(1 / (1023. / value - 1)) / 3950 + 1.0 / 298.15) - 273.15;
lcd.setCursor(0, 1);
lcd.print(c);
lcd.setCursor(6, 1);
lcd.print("C");
if (valuebtn2 == HIGH) {
delay(500);
lcd.clear();
lcd.noBacklight();
lcd.noDisplay();
ser.write(90);
digitalWrite(ledam, LOW);
digitalWrite(ledro, LOW);
digitalWrite(ledaz, LOW);
}
if (c >= -24 && c < 10) {
digitalWrite(ledaz, HIGH);
digitalWrite(ledam, LOW);
digitalWrite(ledro, LOW);
ser.write(0);
}
if (c >= 10 && c < 44) {
digitalWrite(ledaz, LOW);
digitalWrite(ledro, LOW);
digitalWrite(ledam, HIGH);
ser.write(90);
}
if (c >= 44 && c < 81) {
digitalWrite(ledaz, LOW);
digitalWrite(ledro, HIGH);
digitalWrite(ledam, LOW);
ser.write(180);
}
}