BME680 con Demo board XIAO METER per XIAO SAMD21

Vediamo in questo articolo come interpretare i valori letti dal sensore  BME680 utilizzando la Demo board XIAO METER su cui è istallato un XIAO SAMD21 della SEEED STUDIO.

BME680 demo board XIAO samd21

La demo board XIAO METER

La Demo board XIAO METER utilizzata in questo articolo è una scheda autoprodotta che permette di testare facilmente un elevato numero di sensori tramite l’utilizzo di un XIAO SAMD21 della SEEED STUDIO che è il membro più piccolo della famiglia Seeeduino.
Il modulo misura solamente 20×17.5×3.5mm e dispone di un microprocessore Cortex-M0, 11 porte di I/O, connessioni seriali UART, I2C ed SPI. Compatibile con l’IDE di Arduino.

BMP180 demo board XIAO samd21Sotto le caratteristiche della Demo board XIAO METER.

DescrizioneValore
Tensione di esercizioBatteria al litio da 5 V / 3,7 V
Corrente di carica1A (massimo)
DisplayOLED da 0,96" 128×64 pixel - driver SSD1306
Porte I2C2
Porte digitali1
Porte analogiche1
Altre apparecchiature esternepulsante utente
Modulo alimentatore /caricabatteriaLX-LCBS
Dimensioni48.96 x 49.53 mm
Ourpcb

Il modulo Seeed Studio XIAO SAMD21

Il modulo Seeed Studio XIAO SAMD21 è perfettamente compatibile con Arduino IDE, questo permette di sviluppare facilmente piccoli progetti con l’aiuto della vasta e completa libreria Arduino.
Ecco le sue principali caratteristiche:

DescrizioneValore
ProcessoreCPU ARM Cortex-M0+ (SAMD21G18) fino a 48 MHz
Memoria flash256KB
Sram32KB
Pin I/O11 PIN analogici (10 o 12 bit), 11 PIN digitali, 1 pin di uscita DAC
Interfaccia I2C1
Interfaccia SPI1
Interfaccia UART1
LED1 LED utente, 1 LED di alimentazione, due LED per il download della porta seriale
Porta alimentazione e interfaccia di downloadTipo-C
Alimentazione3,3 V/5 V CC
Dimensioni20 × 17,5 × 3,5 mm
Compatibilità softwareCompatibile con Arduino IDE

Seeed Studio XIAO SAMD21

Maggiori informazioni nell’articolo Seeed Studio XIAO SAMD21 – Presentazione

Realizzazione del PCB con PCBWay

Il PCB è stato disegnato con il programma online EasyEDA, mentre è stato realizzato tramite il servizio offerto dal sito PCBWay

Sito online per creazioni schemi e PCB  Sito produzione PCB

Dove trovare il progetto

Il progetto completo può essere scaricato dal mio account presso OSHWLabutilizzando questo link.

Per realizzare il PCB si può anche utilizzare il mio progetto presente sulla piattaforma di condivisione offerta dalla PCBWay, ecco in link.

demo board XIAO METER

Per maggiori informazioni relative alla costruzione della Demo Board vedere l’articolo Demo board XIAO METER per XIAO SAMD21 – Progetto completo

Descrizione del sensore BME680

Il sensore BME680  costituito da un package LGA che misura 3 x 3 x 1 mm con coperchio metallico e 8 pin , integra sensori di gas, pressione, umidità e temperatura a elevata linearità e accuratezza.
Il BME680 contiene un piccolo sensore MOX (Metal- OXide).
L’ossido metallico riscaldato modifica la resistenza in base ai composti organici volatili (COV – Volatile Organic Compounds ) presenti nell’aria, quindi può essere utilizzato per rilevare gas e alcoli come etanolo, alcool e monossido di carbonio ed eseguire misurazioni della qualità dell’aria.
Il BME680 consente all’utente di regolare individualmente le velocità di campionamento per ciascun componente del sensore (temperatura, umidità, pressione e gas), nonché di impostare il ritardo di inter-misurazione e il coefficiente di campionamento del filtro IIR .
La combinazione di queste impostazioni consente un controllo molto preciso dei tempi di misurazione e della precisione della misurazione, nonché la gestione dell’energia.
Vedere anche l’articolo BME680 Sensore: pressione, temperatura, umidità, VOC

Rilevamento della temperatura

Il BME680 misura temperature tra -40 ° C e 85 ° C con un intervallo di precisione tra 0 ° C e + 65 ° C. La precisione è di ± 0,5 ° C con una risoluzione completa di 0,01 ° C.

Rilevazione dell’umidità

L’umidità senza condensa tra lo 0% e il 100% viene misurata con una precisione di ± 3% a una risoluzione massima dello 0,008%.

Rilevamento della pressione

Il sensore di pressione funziona a temperature  comprese tra 0 ° C a + 65 ° C. La pressione viene misurata tra 300 hPa e 1100 hPa con una precisione di ± 1,0 hPa e una risoluzione di 0,2 Pa

Rilevamento di gas nell’ambiente

Il sensore di gas funziona riscaldando internamente una piccola superficie e misurando la resistenza dello strato di gas.
Ciò indica la quantità di componenti volatili nell’aria e può essere utilizzato come mezzo indiretto per misurare la qualità dell’aria.

Tipologia del sensore utilizzato

Il modulo su cui è installato il sensore  misura 19 x 16 mm con un peso di 1,3 g. Il modulo sensore può essere alimentato con una tensione compresa tra 3,3 V cc e 5 V cc, mentre i dati in uscita sono disponibili sia su I2C sia su SPI.

Pin del modulo

BME680 demo board XIAO samd21

PinDescrizione
VCCPin alimentazione , compresa tra 3,3-5 V CC
GNDPin di massa
SCLI2C / SPI Clock line
SDAI2C / SPI data line
SDOSPI data line
CSSPI Slave Device Enable

Dove trovare il sensore

Il sensore BME680 , può essere acquistato presso il sito Homotix, codice HMTBME680.
Se lo acquisterete presso il sito potrete usufruire di uno sconto inserendo il codice di sconto ADRIROBOT

Video dimostrativo

Test BME680 su Demo board XIAO SAMD21

I primi passi saranno quelli di configurare il sistema, per cui dovremo aggiungere, se non l’abbiamo già fatto, all’IDE la possibilità di gestire il modulo XIAO SAMD1 e il display OLED.  Vediamo come.

Come aggiungere Seeed Studio XIAO SAMD21 all’Arduino IDE

Il modulo Seeed Studio XIAO SAMD21 può essere programmato attraverso l’IDE di Arduino,  basta aggiungere la scheda tra quelle riconosciute.
Cominceremo accedendo alla voce di menù File > Impostazioni, e aggiungeremo alla sezione URL aggiuntive per il Gestore schede, la seguente URL :

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Seeed Studio XIAO SAMD21

Ora cliccheremo su Strumenti-> Scheda-> Gestore di schede…, e inseriremo la keyword “Seeeduino xiao” nella casella di ricerca. Comparirà la voce “Seeed SAMD Boards“, che dovrà essere installata.

Seeed Studio XIAO SAMD21

Seeed Studio XIAO SAMD21

Per maggiori informazioni vedere l’articolo Seeed Studio XIAO SAMD21 – Presentazione

Libreria di gestione del display

Per utilizzare il display OLED è necessario installare l’apposita libreria. Può essere cercata tra le librerie installabili nell’IDE, basterà inserire nel campo di ricerca “Adafruit_SSD1306“.
Sarà anche mostrata una finestra che segnala che la libreria ha una dipendenza con la libreria grafica “Adafruit GFX Library“.  Procedete premendo su “Install all”.
Per altre informazioni su come installare le librerie vedete l’articolo Arduino – Tutorial, come installare una libreria

Per altre informazioni vedere l’articolo Display bicolore OLED 0.96″ 128×64 – SSD1306

Libreria di gestione del sensore

Per facilitare la gestione come sempre ci vengono in aiuto delle librerie già pronte. Tra le tante presenti la scelta è andata a quella fornita dal sito Adafruit, anche se è stata creata per un altro modulo sensore, la libreria è perfettamente compatibile.
Per il caricamento occorre aprire sotto il menù Sketch, #include libreria, “Gestione Librerie..”

Nel campo ricerca si inserirà “BME680” trovata la libreria “Adafruit BME680 Libray“, premendo su “More info..” apparirà il tasto “Installa” cliccare il tasto

a fine installazione apparirà la scritta “INSTALLED”

Per utilizzare la libreria BME680, è necessario installare anche la libreria Adafruit_Sensor.
Anche  in questo caso faremo uso della Gestore librerie  ricercando ” Adafruit Unified Sensor “, occorrerà scorrere la cartella e una volta trovata installarla.

Per altre informazioni vedere anche l’articolo Arduino – Tutorial, come installare una libreria

Collegamento del sensore BME680 alla Demo board XIAO SAMD21

Se avremo realizzato la Demo Board XIAO METER per SAMD21  basterà posizionare il modulo sensore BME680 in uno dei due connettori I2C disponibili controllando l’orientamento.

BME680 demo board XIAO samd21

BME680 demo board XIAO samd21

BME680 demo board XIAO samd21 - dettaglio

Nel caso non aveste realizzato la Demo Board è sempre possibile realizzare il circuito utilizzando una bread board. In questo caso vi occorreranno:

Bread Board

Scheda XIAO SAMD21

Display bicolore OLED 0.96″ 128×64 – SSD1306

Modulo BME680

cavi colorati di collegamento

Il modulo Caricabatteria e la batteria potranno essere omessi in quanto il modulo XIAO SAMD21 può essere alimentato direttamente tramite il connettore USB

BME680 demo board XIAO samd21 - schema su breadboard

Sketch utilizzato

Lo sketch proposto mostrerà sul display i seguenti valori letti dal sensore:

  • Temperatura espresso in °C
  • Pressione atmosferica espressa in hPa
  • Umidità, espressa in %
  • Gas, espresso in valore delle resistenza rilevata dal sensore in KΩ relativo al contenuto complessivo di VOC, ma non può differenziare gas o alcoli.

I valori saranno aggiornati ogni 2 secondi.

Nota: Si consiglia, per misure accurate, di lasciare in funzione il sensore per almeno 48 ore quando lo si utilizza la prima volta per eliminare residui sul sensore.
Per i successivi utilizzi,  il periodo di preriscaldo potrà essere limitata a 30 minuti.
Questo perché i livelli di sensibilità del sensore cambieranno durante l’uso precoce e la resistenza aumenterà lentamente nel tempo mentre il MOX si riscalda fino alla lettura di base.

BME680 demo board XIAO samd21

BME680 demo board XIAO samd21

Altri articoli dedicati al sensore BME680

Lettura dei valori forniti dal sensore BME 680 con un modulo ESP32 Devkit V1.

La stessa applicazione utilizzando lo Shield per ESP32 DevKIT V1 – Progetto completo

Gestione del sensore  BME680 tramite il modulo Wemos D1 mini, i dati rilevato saranno riportati su un display TFT a colori.

Altri sensori testati

Sotto potete trovare altri test effettuati con la Demo Board XIAO METER per SAMD21

Valore della temperatura ambiente letto dal sensore BMP180

Prossimamente

Sono attualmente in preparazione gli articoli relativi ai seguenti utilizzi della Demo Board XIAO METER per SAMD21

demo board XIAO METER

Valore della luminosità ambiente letto tramite sensore BMH1750

demo board XIAO METER

Gestione ingressi/uscita digitali, gestione led tramite pulsante

demo board XIAO METER

Lettura valore tensione tramite ingresso analogico