Termometro Infrarossi con sensore MLX90614 e Arduino Nano

Termometro Infrarossi con sensore MLX90614 e Arduino Nano

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:

materiale occorrente

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.

Piedinatura sensore MLX90614

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: VCCGNDSCLSDA

Termometro Infrarossi con sensore MLX90614 e Arduino Nano. Modulo GY906

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. 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

Gestione Libreria da Arduino IDE

Nella barra di ricerca del gestore (1) cerchiamo, e installiamo (2), la libreria necessaria come mostrato nell’immagine:

Installazione libreria Adafruit_MLX90614_Library

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)

Termometro Infrarossi con sensore MLX90614 e Arduino Nano. Impostazione Scheda Processore e Porta COM

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)

Carica scketch

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)

Termometro Infrarossi con sensore MLX90614 e Arduino Nano. Risultato valori su monitor seriale

Alla prossima 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *