mi chiamo Emanuele e mi sono avvicinato ad arduino da un paio di mesi. Sono all'inizio, di elettronica ricordo molto poco degli studi passati (tecnico industriale), ed ora dopo dieci anni circa vorrei riprendere a sperimentare un po'.
L'idea che ho è di progettare una "mini serra" con controllo di temperatura, umidità dell'aria e del terreno e luminosità (e magari altro).
Come detto prima, sto partendo proprio dalle basi, e lavoro su breadboard.
Sto utilizzando un sensore di temperatura LM35, un sensore di luminosità "precision light sensor" della Phidgets ed un display 4x20 seriale, tutto con arduino 2009.
Riesco a misurare la temperatura e visualizzarla correttamente sul display, ma se collego anche il sensore di luminosità ho questo problema:
all'aumentare della luminosità letta dal sensore, la misura di temperatura si abbassa, e viceversa.
Per far aumentare la misura di luminosità semplicemente porto il sensore sotto una luce della scrivania, mentre per farla diminuire ci metto un dito sopra.
Il sensore di temperatura rimane sempre ben lontano dalla lampadina (difatti se scollego il segnale dal sensore di luminosità la temperatura rimane costante).
L'LM35 è collegato ad un ingresso analogico ed il sensore di luminosità ad un altro ingresso analogico.
Non ho al momento a disposizione il codice che ho usato, lo posso postare stasera.
Spero di avervi fornito dati sufficienti, altrimenti chiedete che mi segno tutto e stasera posto!
purtroppo non hai ancora fornito abbastanza informazioni.
Sarebbe necessario sapere come hai collegato i 2 dispositivi al arduino, ci hai messo una resistenza o altro?
Il sensore ottico hai collegato la massa; i 5V ai rispettivi pin e l' usicta direttamente al Arduino?
La stessa cosa per il LM35?
Hai aggiunto delle resistenze?
Ciao Uwe
non ho aggiunto resistenze, sono entrambe collegati direttamente ad un pin analogico di input....
il ground è in comune, è quello della basetta (parte superiore con i collegamente in orizzontale) che è collegata al ground di arduino. Stessa cosa per il vcc.
Il problema del crosstalk sulle entrate analogiche è dovuto al multiplexing sull'adc di arduino, e si manifesta quando si collega ai pin roba ad alta impedenza...
In verità non ci sono 6 adc separati...
se sul Aref non c'è attaccato niente, prova a mettergli un condensatore da 0.1 uF e vedi se le letture impazziscono uguale...
@brain: Aref sarebbe il pin del segnale del sensore di luminosita'? :-[
Se e' cosi' metto un condensatore fra il sensore e l'ingresso ad arduino, giusto?
Aref non è il pin dove devi collegare il sensore di luminosità ! Aref è il riferimento per gli ingressi analogici. Se per esempio metti Aref a +2 V collegando un sensore otterrai un valore di 1023 quando sull'ingresso saranno presenti 2 volt, 512 quando sull'ingresso sarà presente 1 volt e così via ... Se su Aref non colleghi niente il riferimento è di 5V, cioè otterrai 1023 con un ingresso di 5 Volt, 512 con un ingresso di 2,5 Volt, 102 con un ingresso di 0,5 volt.
Scusa ma stavo guardando il tuo codice è ho notato che quando dichiari i pin analogici li chiami senplicemente 0 e 2, non si dovrebbero chiamare A0 e A2 ? Se no come fa a distinguerli dagli ingressi digitali ? Magari non centra niente, ma vedo che nei reference usano sempre A0, A1 A2 ...
grazie a tutti per le informazioni, stasera proverò a mettere il condensatore in parallelo fra i due segnali in ingresso (giusto?).
Un altro problema riscontrato ieri sera:
sempre per sperimentare ho aggiunto sulla breadboard un potenziometro con il quale muovere un servo digitale hitech. Ho preso spunto da un esempio sul sito di arduino.
Il servo si muove correttamente, solo che ad ogni movimento si abbassava drasticamente la luminosità del LCD (retroilluminato). Ho pensato fosse normale magari a causa dell'assorbimento di corrente del servo che la sottrae al LCD. Ho cercato un alimentatore da 5V ma non l'ho trovato e quindi non ho potuto utilizzare una alimentazione esterna.
no, il condensatore da ciascun entrata a massa.
Sí il Servo potrebbe asorbire troppo e fare abbassare la tensione del alimentatore.
Procurati un alimentatore piú potente.
Ciao Uwe
Ho messo un condensatore da 10uF in parallelo ad ognuno dei due ingressi e funziona! Ora la temperatura rimane costante mentre la luminosita' si muove correttamente. Ho anche usato un alimentatore stabilizzato da 9V, ma senza condensatori mi dava lo stesso problema.
Nel ringraziarvi vorrei chiedere magari se si trovano delle spiegazioni a questo fenomeno per me misterioso!
Vorrei iniziare a studiare un po' sul serio, quindi magari indirizzatemi a qualche lettura online o qualche libro.
Se sono testi tecnici va bene lo stesso, anzi essendo ingegnere quasi quasi li preferisco (pero' non sono ingegnere elettronico, non so se si era capito ;D ;D ;D ;D)