-
-
Save stefa168/4617656a4b0a426813c0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Programma scritto da Stefano Porta | |
Distribuito con Licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported.*/ | |
#include <LiquidCrystal.h> | |
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); | |
int LM35_1 = A0; | |
int LM35_2 = A1; | |
int mis = 0; | |
float vrif = 1.1; | |
float media1 = 0.00, media2 = 0.00; | |
byte grado[8] = { | |
0b00111, | |
0b00101, | |
0b00111, | |
0b00000, | |
0b00000, | |
0b00000, | |
0b00000, | |
0b00000 | |
}; | |
void setup() { | |
pinMode(13, OUTPUT); | |
digitalWrite(13, LOW); | |
analogReference(INTERNAL); | |
analogRead(LM35_1); | |
analogRead(LM35_2); | |
Serial.begin(9600); | |
Serial.println("ReadTemp\nVersione 2.1\nLicenza CC A N N 3.0\n============"); | |
lcd.begin(20, 4); | |
lcd.createChar(0, grado); | |
lcd.setCursor(6, 0); | |
lcd.print("ReadTemp"); | |
lcd.setCursor(4, 2); | |
lcd.print("Versione 2.1"); | |
lcd.setCursor(0, 3); | |
lcd.print("Licenza CC A N N 3.0"); | |
delay(3000); | |
} | |
void loop() { | |
mis++; | |
media1 += readTemp(LM35_1); | |
media2 += readTemp(LM35_2); | |
if(mis==5){ | |
media1 = media1/5; | |
media2 = media2/5; | |
Serial.println(media1); | |
Serial.println(media2); | |
Serial.println((media1+media2)/2); | |
Serial.println("============"); | |
lcd.clear(); | |
lcd.setCursor(0, 0); | |
lcd.print("Sensore 1: "); | |
lcd.print(media1); | |
lcd.write(" "); | |
lcd.write(byte(0)); | |
lcd.write("C"); | |
lcd.setCursor(0, 1); | |
lcd.print("Sensore 2: "); | |
lcd.print(media2); | |
lcd.write(" "); | |
lcd.write(byte(0)); | |
lcd.write("C"); | |
lcd.setCursor(0, 3); | |
lcd.print("Media: "); | |
lcd.print((media1+media2)/2); | |
lcd.write(" "); | |
lcd.write(byte(0)); | |
lcd.write("C"); | |
mis -= 5; | |
media1 = 0.00; | |
media2 = 0.00; | |
delay(500); | |
} else { | |
delay(25); | |
} | |
} | |
float readTemp (int sensore){ | |
return (100 * vrif * analogRead(sensore)) / 1024.0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Il codice è stato aggiornato per permettere l'utilizzo di un solo LM35 e senza LCD.
Il vecchio codice è sempre disponibile nella scheda delle revisioni.