In questo periodo di coronavirus si sente parlare molto di rilevazione della temperatura corporea utilizzando dei termoscanner (termometri senza contatto). Nel post di oggi vedremo come realizzare un Termometro Infrarossi con sensore MLX90614 e Arduino Nano.
Materiale occorrente
Per la realizzazione ci servono i materiali elencati di seguito:
- Arduino Nano: (Link Amazon – Link eBay)
- Modulo GY-906 MLX90614: (Link Amazon – Link eBay)
- Breadboard: basetta forata sperimentale (Link Amazon – Link eBay)
- Jumper Wire: cavetti elettrici (Link Amazon – Link eBay)
- Arduino IDE: ambiente di sviluppo per programmare il micro controllore Arduino (per l’installazione e la configurazione vi rimando a questi post)
Panoramica sul Modulo MLX90614
A differenza della maggior parte dei sensori di temperatura, il sensore MLX90614 misura la luce infrarossa che rimbalza su oggetti remoti in modo da poter rilevare la temperatura senza doverli toccare fisicamente. Basta puntare il sensore verso ciò che si desidera misurare e rileverà la temperatura assorbendo le onde IR emesse.
Queste sono le caratteristiche principali del sensore:
- Temperatura ambientale: da -40°C a +125°C
- Temperatura oggetto: da -70°C a +380°C
- Precisione: ±0.5°C
- Alimentazione: da 2.7v a 3.6V (ci sono anche versioni che supportano 5 volt)
Nel progetto di oggi utilizzeremo per comodità il modulo GY-906 che comprende il sensore MLX90614BBA e altri componenti necessari per il funzionamento.
Sul modulo sono presenti i quattro PIN necessari per poterlo collegare al micro-controllore: VCC – GND – SCL – SDA
Utilizza il protocollo di comunicazione seriale I2C e di default ha l’indirizzo 0x5A.
Per maggiori informazioni sul sensore MLX90614 potete consultare il datasheet a questo link.
Montaggio e collegamenti
Effettuiamo i collegamenti tra il Modulo e il micro-controllore come mostrato nella tabella seguente:
COLLEGAMENTO PIEDINI | ||
---|---|---|
Arduino Nano | MLX90614 | Jumper Wire |
3.3 | VCC | Rosso |
GND | GND | Nero |
A4 | SDA | Giallo |
A5 | SCL | Verde |
Questo il circuito realizzato con Fritzing
E questo il circuito reale
Termometro Infrarossi con sensore MLX90614 e Arduino Nano
Installazione libreria
Per poter utilizzare il sensore con Arduino è necessario installare la libreria Adafruit_MLX90614_Library.
Possiamo installarla direttamente dall’IDE di Arduino utilizzando il gestore delle librerie cliccando su Sketch -> #include librerie -> Gestione librerie
Nella barra di ricerca del gestore (1) cerchiamo, e installiamo (2), la libreria necessaria come mostrato nell’immagine:
Lo Sketch
Dopo aver visto come effettuare i collegamenti e come installare la libreria necessaria, possiamo passare all’implementazione dello sketch.
Creiamo un nuovo file con Arduino IDE e copiamo ed incolliamo lo sketch seguente
Configurazione IDE e test dello sketch
Ora non ci resta che caricare il nostro sketch sul Micro-Controllore e vedere se tutto funziona correttamente.
Cominciamo collegando la board Arduino Nano al nostro PC, tramite la porta USB, e configuriamola dal pannello Strumenti dell’IDE in questo modo
- Scheda -> Arduino Nano
- Processore -> ATmega328P
- Porta -> COM3 (N.B. la porta potrebbe essere differente)
Incolliamo lo sketch, che abbiamo visto poco prima, e carichiamolo sulla board Arduino Nano cliccando sul pulsante Carica (contrassegnato da una freccia rivolta verso destra)
Se non ci sono errori e lo sketch viene caricato correttamente, aprendo il Monitor Seriale da Strumenti -> Monitor Seriale vedremo visualizzati i valori delle temperature rilevate. Se proviamo ad orientare il sensore MLX90614 verso un oggetto più caldo (ad esempio avvicinando la nostra mano) vedremo aumentare il valore della temperatura (Object)
Alla prossima 😉