Sono nuovo nel mondo di Arduino così come nel mondo dell'elettronica, quindi da subito mi scuso sulle domande un po' scontate che potrò fare
Sto iniziando a giocare un po' con questo bel oggettino e nell specifico, usando una shield ethernet, riesco a leggere lo status di un sensore di luminosità LDS, un termometro LM335Z e riesco a controllare due LED. L'arduino mi restituisce i valori in XML. Io via iPhone mi collego ad un serverino d'appoggio che con visuale "iPhone compliance" (css3) mi permette la visualizzazione e il controllo bello pulito.
Fino a qui tutto bene.
Ringrazio il supporto inglese (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285091539) per l'utilizzo del sensore, ma sono fermo ad un problemino.
Ho notato però un comportamento strano (o normale a conoscerne le conseguenze).
Il sensore della temperatura mi rileva un dato valore "x". Se accendo uno o più led, il sensore della temperatura mi sfasa il valore. Evidentemente perché i LED stessi, da accesi, stanno utilizzando corrente e ne lasciano meno al sensore di temperatura.
Quindi le domande:
Come mai il sensore di luminosità non viene influenzato da questo scenario?
Come posso agire al fine d'avere un circuito che abbia dei led o degli attuatori e non influenzi i valori letti dal sensore? Sono costretto ad avere due arduini diversi, uno per attività?
L'arduino è alimentato da un alimentatore stabilizzato (con preselettore) a ca 8V.
Ogni consiglio è ben accetto, grazie da subito del supporto!
Ciao X3fil
Che amperaggio o che potenza ha l'alimentatore?
Che resistenza hai messo sui LED per limitare la corrente?
Probabilmente consumi troppa corrente quando i LED sono accesi e la tensione va giú. Misura la tensione 5V del Arduino a LED spenti e a LED accesi.
Visto che il LDR lo hai messo con un partitore resistivo sui 5V e nello stesso modo la tensione di alimentazione del ATmega e percui la tensione di riferimento per la conversione si abbassa, leggi sempre lo stesso valore.
Sul LM335 la tensione di uscita temperatura resta stabile e con la tensione di riferimento diversa leggi un valore piú alto.
Soluzione: aggiungi o aumenta il valore delle resistenze dei LED o usa un alimentatore piú potente.
Dunque, risottolineando la mia ignoranza in merito rispondo:
L'alimentatore è, riporto, "Alimentatore Stabilizzato max 1000mA a 12V".
L'arduino lo sto usando settando l'alimentatore a 9, misurato con Multimetro, mi da 8,8V (non ha un selettore fatto proprio bene).
Ehm, poi, sui LED non ho messo alcuna resistenza.... Sono 2 piccoli led da 3mm.
A LED spenti, l'arduino mi da 4,97V (rilevato dalla Breadboard).
A LED accesi:
Con acceso uno: 4,96V
Con accesi entrambi:4,94-4,95V
X la tua spiegazione, se non ho capito male, mentre per LDR si abbassa sia la tensione che il valore letto, il calcolo finalenon cambia, mentre per il termometro,dato che prendo in considerazione i 5V, se calano, anche la temperatura sballa.... ok.
Quindi che consigliate?
Attuatori e led su un arduino e il resto su un secondo?
Grazie della pazienza
scusa ma se tu hai usato i led senza resistenza stai creando un corto circuito sulle uscite di arduino, i led sono pur sempre diodi, quindi polarizzati direttamente creano un corto che assorbe probabilmente tutti i 40mA gestibili dalle sucite del uP.
mettici in serie una resistenza da 1KOhm per ogni led e vedi se questo e' il problema.
se non risolvi cmq e' corretto che le tieni montate.
Eh, come anticipato la mia ingoranza nel mondo eletrtonico non è poca
Ho montato comunque delle resistenza da 360Ohm e devo dire che il problema è sparito. Quantomento con multimetro fisso a rilevare i V, il valore ora non cambia più e i sensori restano stsbili.
Le resistenze usate sono sulla base della formula di Ohm:
R = (VS - VL) / I
VS = supply voltage
VL = LED voltage (usually 2V, but 4V for blue and white LEDs)
I = LED current (e.g. 10mA = 0.01A, or 20mA = 0.02A)
Non avendo specifiche dirette di un led semplice da3mm ho applicato questi valori:
R = (5 - 2) / 0.02 = 150.
Quindi con una resistenza da 360 dovrei star tranquillo. La luce è più fioca, ma alla fine il led non deve mica illuminare
Se ovviamente ho sbagliato qualcosa, corregetemi pure.
ciao X3fil
360 Ohm come resistenza dei led vanno benissimo;
X la tua spiegazione, se non ho capito male, mentre per LDR si abbassa sia la tensione che il valore letto, il calcolo finalenon cambia, mentre per il termometro,dato che prendo in considerazione i 5V, se calano, anche la temperatura sballa.... ok.
Quindi che consigliate?
No, é un po piú complicato; l' arduino per poter fare la conversione A/D necessita di una tensione di riferimento che normalmente sono i 5V del alimentazione (per la cronaca si puó settare diversamente).
Visto che la tensione letta sul LDR varia con la tensione di alimentazione e anche la tensione di riferimento varia nello stesso modo la lettura é costante. Il LM335 da, come valore di uscita, una tensione proporzionale alla temperature ma indipendente ( in un certo campo di valori) dalla tensione di alimentazione. Per questo con piccole variazioni da sempre la stessa tensione che Tu leggi, ma visto che la tensione di riferimento del Arduino cambia, cambia anche i valori ottennuti dalla conversione A/D.