Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- int reading = 0;
- int sensorPin = A0;
- int relay =7;
- void setup() {
- analogReference (INTERNAL);
- analogRead (sensorPin);
- lcd.begin(20, 4);
- pinMode(relay,OUTPUT);
- lcd.setCursor(0, 0);
- lcd.print("Temperatura: ");
- }
- void loop() {
- // float celsius = analogRead(sensorPin)*(1.1F/1024.0F)*100.0F ;
- // equivalente a (fai due operazioni su valori costanti in meno)
- float celsius = averageAnalogRead(sensorPin, 50)*0.107421875F ;
- char lcd_buffer[17];
- dtostrf(celsius, 5, 1, lcd_buffer);
- if (celsius >28) {
- digitalWrite(7,HIGH);
- sprintf(lcd_buffer, "%s %cC - ON ", lcd_buffer, (char)223);
- }
- else {
- digitalWrite(7,LOW);
- sprintf(lcd_buffer, "%s %cC - OFF", lcd_buffer, (char)223);
- }
- lcd.setCursor(0,1);
- lcd.print(lcd_buffer);
- delay(500);
- }
- long averageAnalogRead(const byte AnChannel, const byte Num) {
- long _val = 0;
- for (int n = 0; n < Num; n++) {
- _val += analogRead(AnChannel);
- }
- return _val / Num;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement