Advertisement
tbatista

Termostato com potenciometro arduino LM35

Dec 4th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 KB | None | 0 0
  1. //potenciometro leitura
  2. int potenciometro = 1; // Define o pino do Arduino que o potenciômetro está conectado
  3. int valPot = 0;   //Variável que irá receber o valor do potenciômetro
  4.  
  5. //LM35
  6. int Temp;
  7. int LM35 = 0; //Define o pino do Arduino que o LM35 está conectado
  8. int valorLm35 = 0;
  9.  
  10. int relay = 12 ; // Define o pino do Arduino que o relay está conectado
  11.  
  12.  
  13. const long interval = 300;
  14. unsigned long previousMillis = 0;
  15.  
  16. void setup() {
  17.   Serial.begin(9600);
  18.  
  19.   pinMode(relay, OUTPUT); // Seta a porta do led como saída
  20. }
  21.  
  22. void termostato() {
  23.   unsigned long currentMillis = millis();
  24.  
  25.   valorLm35 = analogRead(LM35);//Faz a leitura do LM35
  26.   delayMicroseconds(300); //  Tempo de espera de 300us  para terminar o ADC para eliminar ruidos
  27.   Temp = (valorLm35 * 0.48857);// converte a leitura do LM35 em graus Celcius
  28.  
  29.   valPot = analogRead (potenciometro);//Faz a leitura do potenciometro
  30.   valPot  = map(valPot, 0, 1023, 25, 50);// converte a leitura do potenciometro na faixa temp desejada de 25 a 50ºC
  31.  
  32.   if (Temp <= valPot) { // neste caso se temperatura menor que leitura do potenciometro Liga relay
  33.     digitalWrite(relay, HIGH);
  34.     delay(1000);
  35.     Serial.println("  Ligou");
  36.   }
  37.   else {
  38.     digitalWrite(relay, LOW);
  39.     delay(2000);
  40.   }
  41.  
  42.   if (currentMillis - previousMillis >= interval) {
  43.     previousMillis = currentMillis;
  44.     Serial.print("Temp:");
  45.     Serial.print(Temp);
  46.     Serial.print("  Temp Prog:");
  47.     Serial.println(valPot);
  48.   }
  49. }
  50.  
  51. void loop() {
  52.   termostato();
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement