Esso traduce i gradi centigradi rilevati dalla sonda termica in porzioni di angolo che variano nell'arco che va da 0 a 90.
La precisione delle misure non è buona per motivi da attribuire ai componenti usati e alla meccanica del complesso ma sufficiente a garantire un risultato accettabile specialmente per quelle letture che sono localizzate oltre la meta della scala.
Per avere una valutazione dell'errore che si commette con questo strumento artigianale ho collegato alla scheda Arduino un display LCD 1602.
Dopo aver eseguito un rilievo di temperatura ambientale, metto la sonda dentro un recipiente dove si trova acqua a temperatura più alta per vedere come si comporta lo strumento.
Per la realizzazione del progetto mi sono servito di :
1) una sonda termica DS18B20 (già utilizzata in un progetto precedente);
2) un servomotore il cui asse è collegato con l'indice (anch'esso realizzato in cartoncino);
3) un display LCD 1602 con interfaccia I2C per mostrare la temperatura rilevata dalla sonda;
4) due LED, uno rosso ed uno verde, che rispettivamente segnalano una variazione di temperatura o la sua stasi;
5) un buzzer/speacker che emette un beep ogni qualvolta la temperatura varia.
Collegamenti:
a) sonda DS18B20
Essa è provvista di tre terminali due dei quali vanno collegati all'alimentazione(+5V GND) mentre il terzo al pin digitale 7. Faccio notare che tra di esso e i 5V è derivata una resistenza di 10 Kohm.
b) display LCD
Due terminali all'alimentazione e gli altri due ai pin analogici A5(SCL) ed A4(SDA)
c) LED
Connessi, da un lato, ai pin digitali, tramite una resistenza di 220 ohm : ROSSO(12), VERDE(13) e dal'altro al GND;
d) servomotore
Due terminali all'alimentazione (+5V e GND) mentre il terzo al pin digitale 9;
e) buzzer
Un terminale al GND e l'altro al pin digitale 2.
Il codice relativo al progetto è disponibile al seguente link: termo_analog.
Nessun commento:
Posta un commento