/******************************************************************************* * * Projeto 45 - Controle de cooler com sensor de temperatura LM35 * http://squids.com.br/arduino * *******************************************************************************/ #include //Carrega a biblioteca LiquidCrystal nativa na IDE //Define os pinos que serão utilizados para ligação ao display LiquidCrystal lcd(12, 11, 5, 4, 3, 2); const int pinFan = 13; // declara o pino digital 13 para acionar o cooler const int pinSensor = 0; // declara o pino analígico A0 para ler o sensor float temperature; // declara a variável temperature void setup() { lcd.begin(16, 2); // Define o display com 16 colunas e 2 linhas lcd.clear(); // limpa a tela do display pinMode(pinFan, OUTPUT); pinMode(pinSensor, INPUT); } void loop() { /*Para evitar as grandes variações de leitura do componente LM35 são feitas 1000 leituras onde calculamos a média*/ for (int i=0;i<1000;i++) { temperature = temperature + float(analogRead(pinSensor))*500/(1023); } temperature = temperature/1000; // calcula a média das leituras if(temperature > 30) {// Indica condição para acionamento do cooler // Define a coluna 0 e linha 1 do LCD onde será impresso a string lcd.setCursor(0,1); lcd.write("Fan ligado !"); // Imprime no LCD digitalWrite(pinFan, HIGH); // Liga o cooler } else { lcd.setCursor(0,1); lcd.write("Fan desligado !"); // Imprime no LCD digitalWrite(pinFan, LOW); // Desliga o cooler } delay(1000); // aguarda 1 segundo // Exibindo valor da leitura do sensor de temperatura no display LCD lcd.clear(); // Limpa o display do LCD lcd.print("Temp.: "); // Imprime a string no display do LCD lcd.print(temperature); lcd.write(B11011111); // Símbolo de graus Celsius lcd.print("C"); }