Jeremiah_

Termômetro_Arduíno

Nov 6th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | None | 0 0
  1. #include <LiquidCrystal.h> //Inclui a biblioteca do LCD
  2.  
  3. LiquidCrystal lcd(12, 11, 2, 3, 4, 5); //Configura os pinos do Arduino para se comunicar com o LCD
  4.  
  5. int lmPin = 0; //Define A0 como pino do sensor
  6.  
  7. int tempC = 0; //Var para armazenar a temperatura em Celsius
  8. int tempAux;
  9.  
  10. int maxTempC = 0, minTempC = 100; // Variáveis que guardam a temperatura máxima e mínima
  11. int i;
  12.  
  13. void setup()
  14. {
  15.     Serial.begin(9600); //Anicialização da serial
  16.  
  17.     lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
  18.     lcd.setCursor(0, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD
  19.     lcd.print("Temp: "); //Escreve no LCD "Lumin: "
  20. }
  21.  
  22. void loop(){
  23.     for(i = 0;i<=5;i++){ // Loop que faz a leitura da temperatura 5 vezes
  24.         tempAux = ( 5.0 * analogRead(lmPin) * 100.0) / 1024.0;
  25.         //A cada leitura, incrementa o valor da variavel tempC
  26.         tempC = tempC + tempAux;
  27.         delay(100);
  28.     }
  29.  
  30.     tempC /= 5; // Divide a variavel tempc por 5, para obter precisão na medição
  31.  
  32.     if(tempC > maxTempC) {maxTempC = tempC;} //Armazena a temperatura máxima na variável maxtemp
  33.     if(tempC < minTemp) {minTempC = tempC;} //Armazena a temperatura máxima na vari[avel mintemp
  34.  
  35.     Serial.print("Celsius: "); //Imprime texto na serial
  36.     Serial.println(tempC); //Imprime a temperatura medida
  37.  
  38.     lcd.setCursor(6, 0);
  39.     lcd.print(tempC);
  40.     lcd.setCursor(11, 0);
  41.     lcd.write(byte(223));
  42.     lcd.setCursor(12, 0);
  43.     lcd.print("C");
  44.     delay(1000); //Espera 1s
  45. }
Advertisement
Add Comment
Please, Sign In to add comment