termometro temperatura minima e massima

#include <LiquidCrystal.h>
#include <EEPROM.h>
#include <DHT.h>
#define DHTPIN 8
// 8 è il pin di Arduino a cui collego il sensore di temperatura
#define DHTTYPE DHT11
// dht11 è il tipo di sensore che uso
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// connessione display (pin)
const int reset = 10;
int statoreset = 0;
byte MIN;
byte MAX;
// dichiarazione variabili
void setup() {
lcd.begin(16, 2);
// imposto il tipo di display (colonne, righe)
lcd.print("TEMP ATTUALE");
lcd.setCursor(0,1);
lcd.print("MIN");
lcd.setCursor(9,1);
lcd.print("MAX");
//scrivo sul display i caratteri fissi
pinMode(reset, INPUT);
digitalWrite(10, HIGH);
MIN = EEPROM.read(1);
MAX = EEPROM.read(2);
// MIN e MAX assumono i due valori contenuti nella memoria EEPROM
}
void loop() {
int t = dht.readTemperature();
if (t > MAX)
{MAX = t;
EEPROM.write(2, t);}
// se la temperatura supera il dato MAX allora modifico il dato MAX
// scrivo questo dato anche nella eeprom
if (t < MIN)
{MIN = t;
EEPROM.write(1, t);}
// se la temperatura è minore del dato MIN allora modifico il dato MIN
// scrivo questo dato anche nella eeprom
statoreset = digitalRead (reset);
if( statoreset == LOW)
{MIN = t;
MAX = t;}
// premendo il tasto reset porto MIN e MAX al valore di temp attuale
lcd.setCursor(14, 0);
lcd.print(t);
lcd.setCursor(5, 1);
lcd.print(MIN);
lcd.setCursor(14, 1);
lcd.print(MAX);
// scrittura dati sul display
delay(10);
}

allora non so il perchè ma mi segna la temperatura massima e la temperatura attuale ma la minima rimane a 0, è presente qualche errore che non ne vedo ma non funziona la temperatura minima sul lcd grazie in anticipo per eventuali risposte.

ho sistemato moderatore se puoi cancellare il post grazie.

... beh, invece di cancellare, se metti la "soluzione" del problema, rendi utile, un domani, a qualcuno con lo stesso problema, questo tuo thread. ::slight_smile:

Guglielmo

gpb01:
... beh, invece di cancellare, se metti la "soluzione" del problema, rendi utile, un domani, a qualcuno con lo stesso problema, questo tuo thread. ::slight_smile:

Guglielmo

praticamente ho capito che il codice è giusto, ma che quando avvio arduino ha un piccolo ritardo ad avviare il termometro quindi la temperatura mimina è 0 poi basta che clicco il tasto di reset torna tutto apposto

ma allora perchè non aggiungi come ultima riga del setup un ritardo di un paio di secondi... per lo meno così il programma funzionerà correttamente :wink:

Patrick_M:
ma allora perchè non aggiungi come ultima riga del setup un ritardo di un paio di secondi… per lo meno così il programma funzionerà correttamente :wink:

esempio?

Postando la funzione corretta o l'intero codice, specificando che é quello a posto e inserendo la parola risolto nel nome threed

giggi:
esempio?

void setup() {
   lcd.begin(16, 2);
   ....
   ....
   ....
   delay(2000);
}

un normalissimo delay... :wink:

:o Buongiorno a tutti

Ho riscontrato lo stesso problema.....anche aggiungendo il delay di 2 secondi, la MIN risulta sempre a zero. :o

>GIULYREX: essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink: