problema con sensore lm35

buonasera,ho realizzato un progetto scolastico con arduino uno e il sensore di temperatura lm35,il programma legge la temperatura, la riporta su un display e in base a due soglie che possono essere aumentate o diminuite tramite 4 pulsanti si attiva una ventola per simulare il raffreddamento o una luce rossa per simulare il riscaldamento.il mio problema avviene quando vado a premere i pulsanti per variare le soglie (in particolare uno dei 4 pulsanti mi fa variare la lettura di 3/4 gradi) o quando si accende uno dei due attuatori collegati al modulo relè,la temperatura letta sballa di circa 2 gradi, ho provato sia ad aggiungere un condensatore ai piedini dell' alimentazione del sensore e sia ad alimentare arduino con un alimentatore a 12 volt senza risolvere il problema.quale potrebbe essere il problema? ringrazio tutti quelli che mi aiuteranno. :)

Buonasera, essendo il tuo primo post, ti chiederei cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo

lux1997: ... il mio problema avviene quando vado a premere i pulsanti per variare le soglie (in particolare uno dei 4 pulsanti mi fa variare la lettura di 3/4 gradi) ...

Hai applicato tecniche di "debouncing" (... o software o hardware) sui pulsanti ?

Guglielmo

per ora ho solamente utilizzato una resistenza da 10k per ogni pulsante..

Allora, il problema è che tu consideri un pulsante “ideale” … nella realtà un pulsante, nel momento in cui lo premi (… o lo rilasci), si comporta così:

inviando al tuo pin ben più di UNA chiusura ed apertura.

Per risolvere il problema si usano tecniche di “debouncing” … che possono essere sia SW che HW. Se provi a cercare con Google “Arduino debouncing” troverai un’infinità di informazioni :wink:

Guglielmo

Per vedere quale tecnica devo usare devo fare delle prove? ad esempio se usare una tecnica software oppure una hardware o entrambi!?

No, è una tua scelta ... ... nel caso di ISR (Interrupt Service Routine) sei praticamente obbligato ad usare la tecnica HW, nel tuo caso puoi decidere se farlo da SW o aggiungere esternamente dell'HW ;)

Guglielmo

quando si accende uno dei due attuatori collegati al modulo relè,la temperatura letta sballa di circa 2 gradi

Non è un problema di debounce sui pulsanti, è piuttosto comune che si abbiano dei valori sballati sulle porte analog anche solo accendendo un led

pablos ... da quanto ho capito io, lui ha DUE problemi ...

[u]PRIMO[/u]

lux1997: ... il mio problema avviene quando vado a premere i pulsanti per variare le soglie (in particolare uno dei 4 pulsanti mi fa variare la lettura di 3/4 gradi) o ...

... quando preme i pulsati per regolare, la regolazione avanza anche di 3/4 gradi e poi ha anche un problema di temperatura che sballa ...

[u]SECONDO[/u]

lux1997: ... o quando si accende uno dei due attuatori collegati al modulo relè,la temperatura letta sballa di circa 2 gradi ...

Però magari voleva dire altro ... ::)

Guglielmo

Ah ok ... quando si tratta di analogReference(INTERNAL); fammi sapere :)

Mah... mi sono perso il post....

Ciao la scheda relè è alimentata da arduino? Se si prova ad alimentarla a parte così dovresti ridurre i disturbi di tensione che potrebbero falsare la misura Stefano

ora provo ad applicare una delle tecniche di "debouncing" e ad alimentare la scheda relè con un altra alimentazione differente da quella di arduino. Ringrazio tutti quelli che mi stanno dando dei consigli e vi farò sapere ;)

p.s. cosa posso utilizzare per poter alimentare i due relè senza usare arduino?

Puoi mettere un link alla scheda relè che usi ? Così possiamo esaminarla. Dicci anche attualmente come l'hai esattamente collegata ...

Guglielmo

ecco il modulo relè che utilizzo, ho collegato il gnd e il vcc prendendo la massa e l’ alimentazione dalla bread board collegata ad arduino (5v e gnd).

Io non capisco … cosa c’è di difficile da capire nella richiesta di … METTERE IL LINK ? ? ? :o :o :o

Una foto serve a poco non credi … le specifiche dove le leggiamo sulla foto ?

Lascia stare che magari io ed altri conosciamo quel modulo, ma devi pensare a TUTTI i lettori e quindi è correttezza, se si chiede il link, dovete mettere il link … no le foto.

Guglielmo

https://cfpmanfredini.wordpress.com/2014/11/14/scheda-di-interfaccia-a-rele-per-arduino-e-altri-circuiti/ mi scuso, pensavo che con la foto sarebbe stata la stessa cosa , ecco il link spero che vada bene.

Il link del sito dove hai comprato la scheda relè.

Ok, devi usare un alimentatore separato a 5V ... ... poi ... il collegamento GIUSTO è questo :

Guglielmo

P.S.: Ha, queste schede hanno un comportamento invertito ... LOW relè eccitato, HIGH relè rilasciato.

Ciao, ecco.... i relè o servomotori, in generale è sempre bene alimentarli diversamente da arduino. Sarebbe bene costruire un riduttore con un LM7805 (ci sono schemi dappertutto) che alimenta i relè. Con i 12v alimenti arduino e riduttore.....

Stefano