lo sketch l'ho fatto prima del post, grazie >Claudio_FF
#define BUTTON 7
#define RELEY 12
#define temPin A0
int stato = 0;
float celsius = 0, farhenheit = 0; // temperature variables
float millivolts; //dichiarazione di variabile tensione (float è per i numeri con la virgola)
int sensor;
const int B_LED = 2;
const int V_LED = 3;
void setup() {
pinMode(B_LED, OUTPUT); //stato automatico
pinMode(V_LED, OUTPUT); //stato manuale
pinMode(BUTTON, INPUT); // imposta il pin digitale come input pulsante
pinMode(RELEY, OUTPUT); // imposta il pin digitale come output
Serial.begin (9600);
}
void loop() {
sensor = analogRead(temPin); //lettura valore del sensore LM35 messo sull'ingresso analogico A0
millivolts = ( sensor / 1023.0) * 5000; //formula per ottenere la tensione di uscita dell'LM35 in millivolts
celsius = millivolts / 10; // valore espresso in gradi Celsius (l'out del sensore è 10mv per grado)
farhenheit = celsius * 1.8 + 32; // valore espresso in gradi Farhenheit
Serial.println(sensor); //stampa su serial monitor del valore restituito dal conv. A/D a 10 bit di Arduino(da 0 a 1024)
Serial.print(millivolts); //stampa su serial monitor del valore di tensione in millivolts
Serial.println(" millivolts");
Serial.print(celsius); Serial.println(" C"); // stampa su serial monitor del valore di temperatura in gradi Celsius
Serial.print(farhenheit); Serial.println(" F"); //stampa su serial monitor del valore di temperatura in gradi Farhenheit
// vnetola temperatura
if (digitalRead(BUTTON) == HIGH) {
stato = !stato;
delay(200);
}
if (analogRead(farhenheit) > 90 and stato == LOW) { // 41 corrisponde a 20°C
digitalWrite(V_LED, LOW);
digitalWrite(B_LED, HIGH);
digitalWrite(RELEY, HIGH);
}delay(500);
if (analogRead(farhenheit) < 40){
digitalWrite(B_LED, LOW);
}
if (stato == HIGH and (temPin) < 46) {
digitalWrite(RELEY, stato);
digitalWrite(V_LED, stato);
digitalWrite(B_LED, 0);
} else {
digitalWrite(RELEY, stato);
digitalWrite(V_LED, stato);
digitalWrite(B_LED, 0);
}
}
ok io sono arrivato sin qui, ad problemi sul valore della temperatura, se imposto 50° e la temperatura percepita dal sensore è nella fascia impostata il rele accende e spegne. grazie per l'aiuto