Oggi vedremo come utilizzare e programmare nuove funzionalità attraverso i sensori e gli attuatori caratteristici della scheda Seeed nRF52840.
In uno scorso articolo abbiamo imparato come configurare il nostro nRF52840, e lanciato il primo programma (blink). Ma la configurazione di una scheda rappresenta solo il primo passo per un utilizzo corretto ed esteso. La scheda su cui lavoriamo, per fortuna, si presta facilmente a diversi tipi di programmazione e di gestione.
Scopriamo come accedere a nuove funzionalità caratteristiche di questo interessante modello di scheda.
Utilizzare il LED built-in 3 in uno
Seeed Studio XIAO nRF52840 (Sense) ha un LED integrato 3 in 1 programmabile dall’utente già inserito sulla scheda. Impariamo come controllare i colori RGB uno per uno usando Arduino IDE.
Intanto occorre sottolineare che il comportamento di questo LED non è quello solito al quale siamo abituati quando lo controlliamo da codice. Il LED si accende quando diamo un segnale BASSO e si spegne quando diamo un segnale ALTO. Questo perché questo LED è controllato da un anodo comune e si accenderà solo con un segnale di basso livello.
Un codice di esempio potrebbe essere:
1 2 3 4 5 6 7 |
void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); } |
In questo caso, anche se viene utilizzato ALTO, il LED sarà SPENTO. È necessario sostituire HIGH con LOW per accendere il LED.
Fare riferimento alle seguenti mappature dei pin dei LED e utilizzarle nei codici:
- LED rosso – LED_BUILTIN o LEDR
- LED verde – LEDG
- LED blu – LEDB
Esempio di programma:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void setup() { pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LEDR, HIGH); digitalWrite(LEDG, HIGH); digitalWrite(LEDB, HIGH); } void loop() { digitalWrite(LEDR, LOW); delay(500) digitalWrite(LEDR, HIGH); digitalWrite(LEDG, LOW); delay(500) digitalWrite(LEDG, HIGH); digitalWrite(LEDB, LOW); delay(500) digitalWrite(LEDB, HIGH); } |
Verifica del consumo elettrico
Il Seeed Studio XIAO nRF52840 è a basso consumo energetico e qui forniamo un metodo per verificarlo. In questo caso si consiglia vivamente di utilizzare la libreria Seeed nRF52 Boards.
Passaggio 1. Utilizzare JLink Downloader per eseguire il flashing del firmware del bootloader per Seeed Studio XIAO nRF52840 (Sense).
Nota: Se si sta utilizzando il firmware di fabbrica del Seeed Studio XIAO nRF52840 o non sono mai state apportate modifiche al firmware del Seeed Studio XIAO nRF52840, è possibile saltare questo passaggio
Passaggio 2. Utilizzare la libreria Seeed nRF52 Boards:
Passaggio 3. Caricare la demo deep_sleep ed eseguirla con Arduino IDE.
Passaggio 4. Regolare la tensione del misuratore della sorgente digitale a una tensione costante di 3,6 V
Passaggio 5. Toccare con il puntale rosso BAT+ e con il puntale nero BAT-.
Passaggio 6. L’output mostra che la corrente è di circa 3 μA.
Corrente di carica della batteria
La corrente di carica della batteria è selezionabile a 50mA o 100mA attraverso il pin 13: è possibile impostare Pin13 su alto o basso per attivare una carica di 50mA o 100mA. COme sempre, operiamo a logica invertita: per impostare la ricarica a bassa corrente occorre impostareil pin 13 ad HIGH LEVEL,e viceversa:
1 2 3 4 5 6 7 |
// Impostazione corretnme a basso livello: void setup(){ pinMode P0_13, OUTPUT); } void loop() { digitalWrite(P0_13, HIGH); } |
1 2 3 4 5 6 7 |
// Impostazione corrente ad alto livello void setup(){ pinMode P0_13, OUTPUT); } void loop() { digitalWrite(P0_13, LOW); } |
Considerazioni finali
E anche per oggi abbiamo terminato. Nei prossimi articoli mostreremo come lavorare sulla scheda Seeed Studio nRF52840 con Bluetooth, come gestire NFT, come accedere alle risorse embedded della scheda (microfono PDM, girosopio a 6 assi), e come lavorare con micropython e TinyML.
Se gli argomenti vi interessano, non perdetevi i prossimi articoli del giovedì!
Link utili:
- Seeed Studio nRF52840
- Seeed Studio nRF52840 sense
- SeeedStudio nRF52840 MDK base dock
- Seeed Studio kit rete per nRF52840
Join our groups on Telegram…