Advertisement
TolentinoCotesta

LM35

Jul 10th, 2018
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <LiquidCrystal.h>
  2. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  
  3.  
  4. int reading = 0;
  5. int sensorPin = A0;
  6. int relay =7;
  7. void setup() {
  8.   analogReference (INTERNAL);
  9.   analogRead (sensorPin);
  10.   lcd.begin(20, 4);
  11.   pinMode(relay,OUTPUT);
  12.   lcd.setCursor(0, 0);
  13.   lcd.print("Temperatura: ");
  14. }
  15.  
  16. void loop() {
  17.   // float celsius = analogRead(sensorPin)*(1.1F/1024.0F)*100.0F ;
  18.   // equivalente a (fai due operazioni su valori costanti in meno)
  19.  
  20.   float celsius = averageAnalogRead(sensorPin, 50)*0.107421875F ;
  21.   char lcd_buffer[17];
  22.   dtostrf(celsius, 5, 1, lcd_buffer);  
  23.  
  24.   if (celsius >28) {
  25.     digitalWrite(7,HIGH);
  26.     sprintf(lcd_buffer, "%s %cC - ON ", lcd_buffer, (char)223);
  27.   }
  28.   else {
  29.     digitalWrite(7,LOW);
  30.     sprintf(lcd_buffer, "%s %cC - OFF", lcd_buffer, (char)223);
  31.   }
  32.   lcd.setCursor(0,1);
  33.   lcd.print(lcd_buffer);
  34.   delay(500);
  35. }
  36.  
  37.  
  38. long averageAnalogRead(const byte AnChannel, const byte Num) {
  39.   long _val = 0;
  40.   for (int n = 0; n < Num; n++) {
  41.     _val += analogRead(AnChannel);
  42.   }
  43.   return _val / Num;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement