Seeed Studio XIAO SAMD21 – Presentazione

Il Seeed Studio XIAO SAMD21 è il membro più piccolo della famiglia Seeeduino.
Il modulo misura solamente 20×17.5×3.5mm e utilizza il microcontrollore CORTEX M0 tipo ATSAMD21G18A-MU (datasheet).
Il Seeed Studio XIAO SAMD21 ha 14 PIN, oltre ai pin per l’alimentazione (3V3, 5V, GND). I restanti 11 pin sono configurabili per varie funzioni.  Vediamo le sue principali caratteristiche.

Seeed Studio XIAO SAMD21

Descrizione

Seeed Studio XIAO SAMD21 è perfettamente compatibile con Arduino IDE, in che 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
Ourpcb

Seeed Studio XIAO SAMD21

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, ed 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…, ed inserire 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

Verifica della scheda e della porta di comunicazione

Possiamo ora collegare la scheda al PC utilizzando un cavo dotato di connettore tipo C.
Una volta collegata si dovrebbe accendere il led Verde, presenza tensione, mentre il LED giallo dovrebbe lampeggiare, questo in quanto è già preinstallato dal costruttore il programma Blink.

Seeed Studio XIAO SAMD21

Passeremo ora alla selezione della scheda. Per cui  cliccheremo su Strumenti-> Scheda, e sotto la sezione Seeed SAMD Boards selezioneremo il modello Seeduino XIAO.


Si potrà ora selezionare la porta seriale della scheda prescelta dal menù Strumenti-> Porte seriali.

RESET della scheda

A volte la porta della scheda XIAO SAMD21 può scomparire quando il processo di programmazione dell’utente fallisce.
Viste le ridotte del modulo non è stato dotato di un vero e proprio pulsante di RESET per cui la procedura da attuare è la seguente:

  • Collegare il Seeed Studio XIAO SAMD21 al tuo computer.
  • Utilizzare una pinzetta, un piccolo cavo per collegamenti, un cavallotto , per cortocircuitare i pin RST solo una volta
  • Se l’operazione è andata a buon fine i due LED arancioni lampeggiano brevemente.Seeed Studio XIAO SAMD21

Test di prova

Vediamo ora un piccolo test di prova della scheda Seeed Studio XIAO SAMD21.
Realizzeremo un completo Luxmetro, basato sul sensore luce BH1750FVI dotato di interfaccia I2C i cui valori saranno riportati  su un OLED da  0.96 ”.

Materiale occorrente

Il materiale per realizzare il nostro Luxmetro è formato da:

Scheda Seeed Studio XIAO SAMD21

 Sensore BH1750 GY-302

Display OLED da  0.96 ”

Cavi colorati M/F

Il sensore BH1750

Il sensore BH1750 presente sul breakout  GY-302 è in grado di trasformare l’intensità della luce, compresa in un range da 1 a 65.535 lux, in un segnale digitale disponibile tramite interfaccia I2C.
Il Breakout GY-302 con sensore BH1750  può essere acquistato presso il sito FUTURA ELETTRONICA, il codice prodotto è 1606-GY302BH1750
Per maggiori informazioni sul sensore luce BH1750FVI vedere l’articolo BH1750 GY-302 Sensore di luce

Il display OLED da 0.96″

Questo display di tipo OLED da  0.96 ” ha una risoluzione di 128×64 pixel, sfrutta il driver SSD1306 e si interfaccia tramite la connessioni I2C.
Il display ha la particolarità di avere una parte superiore di colore giallo e quella inferiore di colore blu.
Per altre informazioni sul display vedere l’articolo Display bicolore OLED 0.96″ 128×64 – SSD1306

Schema di collegamento

Sotto è riportato lo schema dei collegamenti tra Seeed Studio XIAO SAMD21, il display OLED e il sensore BH1750 GY-302

Seeed Studio XIAO SAMD21

Seeed Studio XIAO SAMD21

Librerie necessarie

Libreria per il display OLED

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

Libreria di gestione del sensore

Per facilitare l’uso del sensore luce BH1750 è disponibile un’apposita libreria; questa funziona in unione alla libreria Wire.h che è già presente come libreria standard dell’IDE di Arduino che permette l’utilizzo del protocollo I2C
Per il caricamento occorre aprire sotto il menù Sketch, #include libreria, “Gestione Librerie..”

Nel campo ricerca si inserirà “BH1750”,  trovata la libreria  realizzata da Cristopher Laws , premendo su “More info..” apparirà il tasto “Installa” cliccare il tasto, la libreria verrà installata

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

Programma/codice sorgente

Di seguito è riportato invece il codice sorgente di base per la lettura del sensore.  In questo caso i valori letti di illuminamento saranno mostrati sul display con una tempo di campionamento di 1 secondo.
I due dispositivi: sensore e display sono connessi tramite la linea I2C non creano problemi in quanto hanno due diversi indirizzi:  0x23 per il  sensore e 0x3C per il display.
A questo punto è possibile cliccare il tasto “Upload” sulla barra degli strumenti.
Attendere qualche secondo e, se l’upload ha avuto successo, apparirà il messaggio relativo sulla barra di stato.

Video del test

Versione con Arduino UNO

Sotto è riportato il video della versione del Luxmetro basato sulla Scheda Arduino.
Travate le informazioni che lo descrive nell’articolo BH1750 GY-302 Sensore di luce