salve a tutti, sono alle prime armi con arduino e ho bisogno di aiuto XD
il mio intento è quello di riuscire a far scattare il relè arrivato ad una determinata temperatura.
sono quasi riuscito nell'intento ma ho un piccolo problema : arrivato alla temperatura scelta, il relè scattando manda in tilt il sensore che di botto sale, mettendoci una vita ad abbassarsi di temperatura. chiedo il vostro aiuto
Fermi, non è un problema di schema elettrico. Nel tuo sketch ci sono un bel pò di problemi.
prima di tutto tu calcoli in tempC la temperatura e stampi questo valore su lcd. Usi una variabile float con tutti i calcoli con virgola (ovvero costanti come 5.0) e questo è okay.
Poi fai un if per verificare se superi 28 MA ricalcoli la temperatura ripartendo da valore facendo calcoli SENZA le virgole.
O ripeti gli stessi calcoli oppure utilizzi semplicemente tempC:
if (tempC > 28.0) { // invece di if ((5*valore*100/1024) > 28){
poi che è sto macello?
long valore = analogRead (A0);
lcd.print("Temperatura"); // stampa della prima riga sull'lcd
tempC = analogRead(tempPin); //lettura valore del sensore
tempC = (5.0 * tempC * 100.0)/1024.0; //conversione del dato analogico in temperatura
Il sensore di temperatura è su A0, perchè poi leggi con analogRead(tempPin) ? tempPin=0 quindi stai leggendo da pin 0, non ha senso.
Codice che mi pare corretto:
long valore = analogRead (A0);
lcd.print("Temperatura"); // stampa della prima riga sull'lcd
tempC = (5.0 * float(valore) * 100.0)/1024.0; //conversione del dato analogico in temperatura
a occhi sembra correto, ma come gia detto, dipende come lo hai fatto realmente e con fritzing non lo si capisce, per cui sarebbe meglio vedere lo schema e una bella foto su come è fatto (se ne nedono di cose curiose!)
per il programma lascia la parola agli altri (in effetti sembra piu un problema software)
allora, per cominciare dai sfogo al tuo nik (se si scrive cosi), chiudi gli occhi, respira, attendi un po (delay), relax ecc.
poi, non urlare che non serve a niente, anzi a volte porta a non avere più aiuto dagli altri utenti del forum.
detto questo immagino che a matrinix non importi quale programma usi per disegnare lo schema, basta che alla fine lo possa vedere (lo schema).
anche carta e penna seguita da foto immagino vada benissimo
ero talmente di fretta che avevo inserita la maiuscola , e non ho fatto caso ,ma davvero non ce l'ho con voi ,per cortesia aiutatemi ora vi invierò la foto grazie e scusate ancora per l'equivoco
mmh.. azardo...
se la cosa non è software potrebbe esssere che quando il rele è eccitato (quindi consuma corrente) essendo che relè e sensore son sullo stesso "canalae" di alimentazione, non vorrei che esso (il relè) andasse a immettere rumore o creasse problemi a quella linea (sbalzini di tensione) che possa andar a compremettere la lettura... prova magari a mettere tra l'ngresso della tensione del sensore e massa un condensatorino (10nF dicono i DS).
Puoi anche provare ad usare 2 alimentazioni separate (una per il rele e Arduino per il resto) con GND in comune.
Per il software, il primo punto può funzionare ma non facendo due analogRead() una in coda all'altra.
Per il punto due, quel tuo if è errato (rifai i calcoli senza float).
Hai corretto il codice? Hai riprovato?
buon giorno , ho fatto come mi avevate consigliato voi ,il probelma è che mi visualizza sempre i soliti valori tipo 27,32 ecc.... come potrei fare per visualizzare ogni tipo di temperatura ?? vi sarei grato se mi aiutasse per favore