ciao a tutti
come da titolo volevo chiedere il vostro aiuto riguardo a un arduino due in mio possesso.
Sto ultimando il mio "lavoretto" per l' esame sul protocollo CAN BUS, e in questi giorni volevo mettere un semplice sensore di temperatura tmp36 sul arduino due. Allora mi metto a fare il mio bel codice, con tutta la formuletta per convertire il segnale analogico in gradi, carico il codice, ma vedo subito che la temperatura oscilla tra i 6 e i 15 gradi tra una lettura e l' altra e mi dico: - ok che il sensore non è preciso, ma in camera mia non c'è tutto sto freddo.... in oltre il sensore dovrebbe avere 2/3 gradi di tolleranza non 10-15...
- e così ho iniziato a fare vari controlli:
- ho controllato i collegamenti (pin1 --> vcc; pin2 --> output; pin3 --> gnd);
- ho cambiato sensore con un altro tmp36, ma anche con un lm35
- ho controllato più volte la formula che vi lascio alla fine del post (comunque nella formula ho tenuto
conto che l' arduino due va a 3.3 volt e ho anche provato a impostare la risoluzione del adc a 12 bit) - ho cambiato porte analogiche
Allora ho provato lo stesso codice e lo stesso sensore sul arduino uno e anche su un altro arduino due e (tenendo sempre conto delle tensioni per la conversione) i valori riportati erano corretti e non sballavano oltre a un grado >:(
E quindi mi son detto: - Qui la scheda a qualcosa che non va.... forse il problema è collegato con quel forte ronzio che fa quando inizio ad alimentarla e non ho ancora posizionato bene i cavi che facciano contatto - (Tutto il pannello è alimentato da una piccola batteria a 12 volt e la tensione prima di entrare dentro alle schede viene abbassata da un 7808).
Questo ronzio lo fa quando non sono veloce a posizionare i contatti di alimentazione, sia dalla batteria che dall' alimentazione via USB e la sempre fatto fin da quando lo comprata (circa 6 mesi fa dal negozio di elettronica del mio paese); Questo ronzio andando a orecchio proviene proprio dal chip e quando lo fa la scheda non lavora
L' altro arduino due comprato un paio di mesi dopo di quello ronzante viene alimentato insieme, ma non lo fa il ronzio e si avvia correttamente.
Un altra cosa... sempre nell' arduino ronzante c'è un potenziometro da 10k e anche la ho visto che i valori non sono molto chiari e oscillano +- di 3 punti.
Domani ritorno in negozio a chiedere se me la possono cambiare (tanto ormai mi vedono più loro che mia madre
), ma volevo sentire anche una vostra oppinione... magari sono io che sbaglio
Gazie mille per le risposte.
ecco il codice (questo è quello con la risoluzione a 12 bit)
void setup(void)
{
Serial.begin(115200);
analogReadResolution(12);
}
void loop(void)
{
int val = analogRead(A5);
int temp = ((val*0.0008)-0.5)/0.01;
Serial.println(temp);
delay(1000);
}
arduino uno --> 0.00488
arduino due a 10 bit --> 0.00322
arduino due a 12 bit --> 0.0008