Sommario:
- Passaggio 1: come funziona generalmente?
- Passaggio 2: collegamento e cablaggio corretto
- Passaggio 3: tipo di utilizzo
- Passaggio 4: il grosso problema con il codice durante la misurazione
- Passaggio 5: il codice parte 1
- Passaggio 6: il codice parte 2
- Passaggio 7: risultati
Video: Termometro Arduino AD8495: 7 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Una guida rapida su come risolvere i tuoi problemi con questo termometro di tipo K. Speriamo che aiuti:)
Per il seguente progetto avrai bisogno di:
1x Arduino (di qualsiasi tipo, sembrava che avessimo 1 Arduino Nano gratis)
1x AD8495 (generalmente viene fornito in kit con il sensore e tutto)
6x cavi jumper (che collega AD8495 ad Arduino)
saldatore e filo di saldatura
OPZIONALE:
1x batteria da 9V
2x resistori (abbiamo usato 1x 10kOhm e 2x5kOhm perché abbiamo collegato il 2x5k insieme)
Si prega di fare attenzione a procedere con cautela e di prestare attenzione alle dita. Il saldatore può causare ustioni se non maneggiato con cura.
Passaggio 1: come funziona generalmente?
Generalmente questo termometro è un prodotto di Adafruit, è dotato di un sensore di tipo K che può essere utilizzato per quasi tutto, dalla misurazione della temperatura di casa o seminterrato alla misurazione del calore del forno e del forno. Resiste a temperature da -260 gradi C fino a 980, e con alcune piccole regolazioni dell'alimentazione arriva fino a 1380 gradi C (che è abbastanza notevole) ed è anche abbastanza preciso, con i +/-2 gradi variazione è straordinariamente utile. Se lo fai come abbiamo fatto con Arduino Nano, puoi anche imballarlo in una piccola scatola (considerando che creerai la tua scatola che non è inclusa in questo tutorial).
Passaggio 2: collegamento e cablaggio corretto
Come abbiamo ricevuto il pacco era così come puoi vedere dalle foto sopra. Puoi usare i cavi dei ponticelli per collegarlo alla scheda Arduino, ma consiglierei di saldare i fili perché funziona su tensioni molto piccole, quindi qualsiasi leggero movimento può rovinare i risultati.
Le foto sopra sono prese di come abbiamo saldato i fili sul sensore. Per il nostro progetto abbiamo utilizzato Arduino Nano e come puoi vedere abbiamo modificato un po' anche il nostro Arduino per ottenere risultati ottimali dalle nostre misurazioni.
Passaggio 3: tipo di utilizzo
Secondo la scheda tecnica questo sensore può essere utilizzato per misurare da -260 a 980 gradi C con il normale alimentatore Arduino 5V oppure è possibile aggiungere una fonte di alimentazione esterna e questo ti darà l'opportunità di misurare fino a 1380 gradi. Ma attenzione, se il termometro restituisce più di 5 V all'Arduino per leggerlo, potrebbe danneggiare il tuo Arduino e il tuo progetto potrebbe essere destinato a fallire.
Per ovviare a questo problema mettiamo sul dispositivo un partitore di tensione che nel nostro caso è Vout alla metà della tensione Vin.
Link alla scheda tecnica:
www.analog.com/media/en/technical-documenta…
www.analog.com/media/en/technical-documenta…
Passaggio 4: il grosso problema con il codice durante la misurazione
Secondo la scheda tecnica del termometro la tensione di riferimento è 1,25V. Nelle nostre misurazioni questo non è stato il caso… Come abbiamo testato ulteriormente abbiamo scoperto che la tensione di riferimento è variabile e abbiamo testato su due computer, su entrambi era diverso (!?!). Bene, mettiamo un pin sulla scheda (come mostrato nell'immagine sopra) e inseriamo una riga nel codice per leggere ogni volta il valore della tensione di riferimento prima del calcolo.
La formula principale per questo è Temp=(Vout-1.25) / 0.005.
Nella nostra formula l'abbiamo fatto: Temp=(Vout-Vref) / 0.005.
Passaggio 5: il codice parte 1
const int AnalogPin= A0; //Pin analogico per temp readconst int AnalogPin2= A1; //Pin analogico per lettura valore referentefloat Temp; //Temperaturefloat Vref; //Voltaggio di riferimento Vout; //Tensione dopo adcfloat SenVal; //valore del sensore float SenVal2; //Valore del sensore dal referente pinvoid setup() {Serial.begin(9600); } void loop() { SenVal = analogRead(A0); //Valore analogico dalla temperatura SenVal2 =analogRead(A1); //Valore analogico dal referente pinVref = (SenVal2 *5.0) / 1024.0; //Conversione da analogico a digitale per referente valueVout = (SenVal * 5.0) / 1024.0; //Conversione da analogico a digitale per la tensione di lettura della temperatura Temp = (Vout - Vref) / 0.005; //Calcolo della temperatura Serial.print("Temperature= ");Serial.println(Temp);Serial.print("Tensione di riferimento= ");Serial.println(Vref);delay (200);}
Questo codice viene utilizzato quando si utilizza l'alimentazione da Arduino (nessuna fonte di alimentazione esterna). Questo limiterà la tua misurazione fino a 980 gradi C secondo la scheda tecnica.
Passaggio 6: il codice parte 2
const int AnalogPin= A0; //Pin analogico per temp readconst int AnalogPin2= A1; //Pin analogico da cui leggiamo il valore di riferimento (Abbiamo dovuto farlo perché il valore di riferimento del sensore è instabile) float Temp; //Temperaturefloat Vref; //Voltaggio di riferimento Vhalf; //Tensione sull'arduino letta dopo il divisorefloat Vout; //Tensione dopo la conversionefloat SenVal; //valore del sensore float SenVal2; //Valore del sensore da dove otteniamo il referente valuevoid setup() {Serial.begin(9600); }loop vuoto() {SenVal = analogRead(A0); //Valore uscita analogicaSenVal2= analogRead(A1); // Output analogico da cui otteniamo il valore di riferimento Vref = (SenVal2 * 5.0) / 1024.0; //Trasformazione del valore analogico dal pin di riferimento al valore digitaleVhalf = (SenVal * 5.0) / 1024.0; //Trasforma valore analogico in digitaleVout = 2 * Vhalf; //Calcolo della tensione dopo il dimezzamento del divisore di tensioneTemp = (Vout - Vref) / 0.005; //Calcolo della formula della temperaturaSerial.print("Temperatura= ");Serial.println(Temp);Serial.print("Vout= ");Serial.println(Vout);Serial.print("Tensione di riferimento= ");Serial.println(Vref);ritardo (100);}
Questo è il codice se stai usando una fonte di alimentazione esterna e per questo usiamo il partitore di tensione. Ecco perché abbiamo il valore "Vhalf" all'interno. Il nostro partitore di tensione utilizzato (vedi nella parte 3) è alla metà della tensione in ingresso (R1 ha gli stessi valori di ohm di R2) perché abbiamo usato una batteria da 9V. Come accennato in precedenza, qualsiasi tensione superiore a 5 V può danneggiare il tuo Arduino, quindi siamo riusciti a ottenere un massimo di 4,5 V (che è impossibile in questo caso, poiché la massima potenza in uscita dal sensore dopo il partitore di tensione può essere intorno a 3,5 V).
Passaggio 7: risultati
Come puoi vedere dagli screenshot qui sopra, l'abbiamo testato e funziona. Inoltre ti abbiamo fornito i file originali di Arduino.
Questo è tutto, speriamo che ti aiuti con i tuoi progetti.