Nel progetto di oggi vedremo come realizzare un Termoscanner con sensore MLX90614 display SSD1306 e Arduino Nano unendo due progetti che abbiamo già visto nel post precedenti:
Utilizzare un display I2C LCD SSD1306 con Arduino
Termometro Infrarossi con sensore MLX90614 e Arduino Nano
Il circuito che andremo a realizzare ci permetterà di visualizzare, attraverso il display LCD SSD1306, le temperature rilevate dal sensore MLX90614BBA.
Materiale occorrente
Per realizzare il termoscanner utilizzeremo i materiali elencati di seguito:
- Arduino Nano: (Link Amazon – Link eBay)
- Modulo GY-906 MLX90614: (Link Amazon – Link eBay)
- Display LCD I2C 0.96 128×64 Pixel SSD1306: (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)
Montaggio e collegamenti
Effettuiamo i collegamenti del display LCD e del modulo GY-906 come mostrato nella tabella seguente:
COLLEGAMENTO PIEDINI | |||
---|---|---|---|
Arduino Nano | MLX90614 | LCD SSD1306 | Jumper Wire |
3.3 | VCC | VCC | Rosso |
GND | GND | GND | Nero |
A4 | SDA | SDA | Giallo |
A5 | SCL | SCL | Verde |
Questo il circuito realizzato con Fritzing
E questo il circuito reale
N.B. entrambi i moduli utilizzano il protocollo di comunicazione I2C, la piedinatura però potrebbe essere (come nel mio caso) differente ed è necessario prestare attenzione al collegamento dei jumper.
Installazione librerie
Per poter gestire i due moduli dobbiamo installare le librerie necessarie:
- Adafruit_SSD1306 (per il display)
- Adafruit_GFX (per il display)
- Adafruit_GFX (per il sensore MLX90614)
Possiamo installarle 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), le librerie necessarie come mostrato nelle immagini seguenti:
Adafruit_SSD1306
Adafruit_GFX
Adafruit_MLX90614_Library
Termoscanner con sensore MLX90614 display SSD1306 e Arduino
Lo sketch
Dopo aver visto come effettuare i collegamenti e come installare le librerie necessarie, possiamo passare all’implementazione dello sketch.
Creiamo un nuovo file con Arduino IDE e copiamo ed incolliamo lo sketch seguente:
Il codice è molto semplice e abbastanza commentato.
Nella prima parte includiamo le librerie (installate in precedenza) e valorizziamo le variabili degli indirizzi I2C e delle dimensioni del display LCD.
Nella funzione setup inizializziamo il display e il modulo MLX.
Nel loop ci occupiamo di aggiornare i valori, delle temperature rilevate, sul display.
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, sul display vedremo comparire i valori delle temperature rilevate. Se proviamo a puntare il sensore MLX90614 verso un oggetto con una temperatura diversa da quella ambientale, la vedremo mostrata sul display
A presto 😉