#define pinoSensor A0
#define ledAzul 7
#define ledVerde 6
#define ledAmarelo 5
#define ledVermelho 4
float valorAnalogico, celsius; //se as variáveis forem do mesmo tipo, dá de criar elas separando-as com ","
void setup()
{
Serial.begin(9600);
pinMode(ledAzul, OUTPUT);
pinMode(ledVerde, OUTPUT);
pinMode(ledAmarelo, OUTPUT);
pinMode(ledVermelho, OUTPUT);
}
void loop()
{
// código base para a leitura e tratamento dos dados do sensor
// nosso sensor possui 2 pinos: 5V e Dado, não tendo diferença entre elas.
valorAnalogico = analogRead(pinoSensor);
celsius = 1 / (log(1 / (1023. / valorAnalogico - 1)) / 3950 + 1.0 / 298.15) - 273.15;
if(celsius <= 0) // se a temperatura for MENOR ou IGUAL A zero, faz isso...
{
digitalWrite(4, LOW); // desativa o pino digital quatro
digitalWrite(5, LOW); // desativa o pino digital cinco
digitalWrite(6, LOW); // desativa o pino digital seis
digitalWrite(7, HIGH); // energiza o pino digital sete
}
else // ...se não for, faz isso...
{
if (celsius < 15) // se a temperatura for MENOR que quinze, faz isso...
{
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
}
else // ...se não for, faz isso...
{
if (celsius < 30) // se a temperatura for MENOR que trinta, faz isso...
{
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
else // ...se não for (ou seja, MAIOR ou IGUAL A trinta), faz isso!
{
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
}
}
Serial.print("Temperatura: ");
Serial.print(celsius);
Serial.println(" ℃");
delay(500);
}