- Arduino Nano 33 BLE Sense
- Descripció general del maquinari Arduino Nano 33 BLE Sense
- Millores de programari amb Arduino Nano 33 BLE sense
- Preparant el vostre IDE Arduino per a Arduino Nano 33 BLE sense
- Programa per llegir i visualitzar les dades del sensor al monitor sèrie
- Arduino Nano 33 BLE- Carregant el codi
Arduino ha estat la plataforma de desenvolupament de prototipatge ràpid i validació d’idees. Molts de nosaltres hauríem començat amb el tauler de desenvolupament d’Arduino UNO, però avui, a mesura que avancem cap a l’Internet de les coses, la Visió per Computador, la Intel·ligència Artificial, l’aprenentatge automàtic i altres tecnologies futuristes, l’humil Arduino UNO ja no podia fer front al seu 8. Microcontrolador de bits. Això requeria el llançament de noves plaques amb processadors més potents que incorporen funcions Wi-Fi, Bluetooth, GSM i altres connexions sense fils, com els populars MKR1000 o MKR GSM 1400. En aquest context, Arduino ha llançat recentment una nova versió del seu Nano anomenada Arduino Nano 33.
Hi ha totalment dos tipus de taules Arduino Nano 33, a saber, Arduino Nano 33 IoT i Arduino Nano 33 BLE sense. La principal diferència entre ambdós mòduls és que el mòdul de sentit Arduino Nano 33 BLE té alguns sensors incorporats (s’informarà més endavant), mentre que l’Arduino Nano 33 IoT no en té. En aquest article revisarem la placa de sentit Arduino Nano 33 BLE, us presentarem les seves característiques i funcionalitats i, finalment, escriurem un codi de mostra per llegir els valors del sensor i mostrar-lo al monitor sèrie. Comencem, doncs, a aprendre…!
Arduino Nano 33 BLE Sense
El nom "Arduino Nano 33 BLE Sense" és plàcid, però el mateix nom proporciona una informació important. Es diu "Nano" perquè les dimensions, el pinout i el factor de forma són molt similars al clàssic Arduino Nano, en realitat està previst que s'utilitzi com a substitució d'Arduino Nano en els vostres projectes existents, però el nou mòdul funciona 3,3V mentre que el clàssic Nano funciona amb 5V. Per tant, crec que aquí és on entra el nom "33", per indicar que la placa funciona a 3,3V. A continuació, el nom "BLE" indica que el mòdul admet Bluetooth Low Energy (BLE5 5.0)i el nom "sentit" indica que té a bord sensors com acceleròmetre, giroscopi, magnetòmetre, sensor de temperatura i humitat, sensor de pressió, sensor de proximitat, sensor de color, sensor de gest i fins i tot un micròfon incorporat. Entrarem en els detalls de BLE i altres sensors més endavant, però per ara és així com una placa de sentit Arduino Nano 33 BLE sembla directa de la caixa lliure.
Descripció general del maquinari Arduino Nano 33 BLE Sense
A la primera mirada del tauler, podeu trobar molts components amuntegats a la part superior, la majoria dels quals són sensors que he dit anteriorment. Però el cervell principal s’amaga darrere de la carcassa metàl·lica del costat dret. Aquesta carcassa conté el processador nRF52840 nòrdic que conté un potent Cortex M4F i el mòdul NINA B306 per a la comunicació BLE i Bluetooth 5. Això permet que la placa funcioni amb molt poca potència i es comuniqui mitjançant Bluetooth 5, cosa ideal per a aplicacions de xarxa de malla de baix consum en domòtica i altres projectes connectats. També des que el processador nRF admet el sistema operatiu ARM Mbedtambé proporciona algunes millores de programari que parlarem més endavant. A la imatge següent es marquen els sensors, els LED, els botons i altres elements importants que heu de saber al tauler.

Com podeu veure a la imatge anterior, el tauler està ple de sensors que us poden ajudar a construir la part dreta de la caixa sense haver de connectar la placa a cap sensor extern. La placa està pensada per utilitzar-se en dispositius portàtils i altres dispositius portàtils intel·ligents, com ara bandes de fitness, control de glucosa, podòmetres, rellotge intel·ligent, estació meteorològica, seguretat domèstica, etc. I com sempre, tots aquests sensors tenen biblioteques pre-construïdes per a Arduino que podeu utilitzar fàcilment. Al final d'aquest article llegirem els valors de tots aquests sensors i els mostrarem al monitor sèrie. A continuació es detallen els detalls del sensor de la placa sensible Arduino Nano 33 BLE juntament amb les biblioteques necessàries
|
Nom del sensor |
Paràmetres |
Enllaços |
|
LSM9DSI - ST Microelectronics |
Acceleròmetre, giroscopi, magnetòmetre |
Full de dades LSMDSI Biblioteca Arduino_LSM9DS1 |
|
LPS22HB - ST Microelectronics |
Pressió |
Full de dades LPS22HB Biblioteca Arduino_LPS22HB |
|
HTS221 - ST Microelectronics |
Temperatura i humitat |
Full de dades LPS22HB Biblioteca Arduino_HTS221 |
|
APDS9960 - Avago Tech. |
Proximitat, llum, color, gest |
Full de dades LPS22HB Biblioteca Arduino_APDS9960 |
|
MP34DT05 - ST Microelectronics |
Micròfon |
MP34DT05 Full de dades Biblioteca PDM incorporada |
La majoria d’aquests sensors són de ST Microelectronics i admeten un funcionament de baixa potència, cosa que el fa ideal per a dissenys amb bateria. Poques persones poden estar familiaritzades amb el sensor APDS9960, ja que ja està disponible com a mòdul alternatiu i anteriorment també hem utilitzat el sensor APDS9960 amb Arduino. Per obtenir més informació sobre aquests sensors, podeu visitar el full de dades respectiu i assegurar-vos que heu afegit tota la biblioteca proporcionada al vostre IDE Arduino per començar a utilitzar-los amb la vostra placa de detecció Arduino Nano 33 BLE. Per afegir una biblioteca, podeu fer servir l'enllaç indicat per accedir a la pàgina GitHub respectiva i descarregar el fitxer ZIP i, a continuació, utilitzar Sketch -> Inclou biblioteca -> Biblioteca Add.ZIP o també podeu utilitzar el gestor de biblioteca a Arduino IDE i afegir-los biblioteques.
Especificacions tècniques de la placa Arduino Nano 33 BLE sense:
Alimentat pel processador nRF52840 nòrdic, la placa Arduino Nano 44 BLE té les següents especificacions tècniques
- Voltatge de funcionament: 3,3 V.
- Voltatge d'entrada USB: 5V
- Voltatge del pin d'entrada: 4,5V a 21V
- Xip: NINA-B3 - RF52840
- Rellotge: 64 MHz
- Flash: 1 MB
- SRAM: 256 KB
- Connectivitat sense fils: Bluetooth 5.0 / BLE
- Interfícies: USB, I2C, SPI, I2S, UART
- Pins d'E / S digitals: 14
- Pins PWM: 6 (resolució de 8 bits)
- Pins analògics: 8 (configurable de 10 o 12 bits)
Millores de programari amb Arduino Nano 33 BLE sense
Igual que totes les plaques Arduino que hi ha, el sentit Arduino Nano 33 BLE es pot programar amb l'IDE Arduino. Però heu d’utilitzar el gestor de la junta i afegir les dades del tauler al vostre IDE abans de començar. Com sabem, el nRF 52840 es pot programar mitjançant ARM Mbed OS, això significa que la nostra placa Arduino Nano 33 admet el sistema operatiu en temps real (RTOS). Amb la programació del sistema operatiu Mbed podem executar diversos fils al mateix temps al programa per realitzar tasques múltiples. A més, el consum d’energia de la placa es reduirà molt, cada vegada que cridem a la funció de retard, la placa entrarà en mode de pessigolles durant el temps de retard per estalviar energia i tornaria a funcionar un cop finalitzat el retard. S'ha informat que aquesta operació consumirà 4,5 uA menys que una operació de retard Arduino normal.
Dit això, la integració del sistema operatiu Mbed amb Arduino IDE és relativament nova i passarà una mica de temps abans que puguem aprofitar al màxim tota la potència del sistema operatiu Mbed amb Arduino IDE. Per a una ràpida posada en marxa, escriurem un programa per llegir tots els valors del sensor i mostrar-lo als monitors de sèrie.
Preparant el vostre IDE Arduino per a Arduino Nano 33 BLE sense
Inicieu el vostre IDE Arduino i aneu a Eines -> Taulers -> Board Manger per iniciar el gestor de la vostra placa Arduino. Ara cerqueu "Mbed OS" i instal·leu el paquet. La instal·lació hauria de passar un temps.

Un cop feta la instal·lació, tanqueu el quadre de diàleg i connecteu la placa Arduino 33 mitjançant un cable micro USB amb el portàtil. Tan bon punt es connecti el tauler, Windows començarà a instal·lar automàticament els controladors necessaris per al tauler. A continuació, obriu el vostre Arduino IDE i seleccioneu Eines -> Tauler -> Arduino Nano 33. A continuació, seleccioneu el port COM adequat marcant Eines -> Port, el meu està connectat al port COM3, però el vostre pot variar. Un cop seleccionat el port, la vostra cantonada inferior dreta de l'IDE hauria de ser així

Ara, per comprovar ràpidament si tot funciona, podem utilitzar un programa d’exemple, provem el que es proporciona a Fitxer -> Exemples -> PDM -> PDMSerialPlotter. Aquest programa utilitzarà el micròfon incorporat per escoltar àudio i traçar-lo en un traçador en sèrie. Podeu carregar el programa i comprovar si el tauler i l'IDE funcionen.
Ara bé, si teniu una compilació ridículament lenta, no esteu sols, molta gent, inclosa jo, enfrontem aquest problema i, en el moment d’escriure aquest article, sembla que no hi ha cap solució. Em triga uns 2-3 minuts a compilar i penjar programes senzills i quan vaig provar alguns programes BLE o vaig intentar treballar amb Mbed OS el temps de compilació va augmentar a més de 10 minuts, cosa que no em va animar a provar res més. Això es deu a la integració del sistema operatiu Mbed amb Arduino IDE, esperem que algú de la meravellosa comunitat Arduino trobi una solució per això.
Programa per llegir i visualitzar les dades del sensor al monitor sèrie
Si no fem servir les funcions BLE o bàsiques del sistema operatiu Mbed de la placa, el temps de compilació era raonable. Així que vaig escriure un esbós senzill per llegir tots els valors del sensor i mostrar-lo al monitor sèrie com es mostra a continuació

El codi complet per fer el mateix es dóna a la part inferior d'aquesta pàgina, però assegureu-vos que heu instal·lat totes les biblioteques esmentades anteriorment. L’explicació del codi és la següent.
Inicieu el programa incloent tots els fitxers de capçalera necessaris. Aquí utilitzarem els quatre sensors, excepte el micròfon
#include // Inclou la biblioteca per a IMU de 9 eixos #include // Inclou biblioteca per llegir Pressió #include // Inclou biblioteca per llegir Temperatura i humitat #include // Inclou biblioteca per al reconeixement de color, proximitat i gestos
Dins de la funció de configuració inicialitzem el monitor sèrie a una velocitat de 9600 baud per mostrar tots els valors del sensor i inicialitzar també totes les biblioteques necessàries. A continuació es mostra el codi dins de la configuració
configuració nul·la () {Serial.begin (9600); // Monitor de sèrie per mostrar tots els valors del sensor si (! IMU.begin ()) // Inicialitza el sensor IMU {Serial.println ("No s'ha pogut inicialitzar IMU!"); while (1);} if (! BARO.begin ()) // Inicialitza el sensor de pressió {Serial.println ("No s'ha pogut inicialitzar el sensor de pressió!"); while (1);} if (! HTS.begin ()) // Inicialitza el sensor de temperatura i humitat {Serial.println ("No s'ha pogut inicialitzar el sensor de temperatura i humitat!"); while (1);} if (! APDS.begin ()) // Inicialitza el sensor de color, proximitat i gest {Serial.println ("No s'ha pogut inicialitzar el sensor de color, proximitat i gest!"); mentre (1);}}
Dins de la funció de bucle, llegim els valors necessaris del sensor de la biblioteca i els imprimim al monitor sèrie. La sintaxi es pot referir des del programa d’exemple de cada biblioteca; hem llegit els valors del sensor d’acceleròmetre, giroscopi, magnetòmetre, pressió, temperatura, humitat i proximitat i els hem mostrat al monitor sèrie. A continuació es mostra el codi per mesurar el valor de l’acceleròmetre, de la mateixa manera que podem mesurar per a tots els sensors.
// Valors de l’acceleròmetre if (IMU.accelerationAvailable ()) {IMU.readAcceleration (accel_x, accel_y, accel_z); Serial.print ("Accelerometer ="); Serial.print (accel_x); Serial.print (","); Serial.print (accel_y); Serial.print (","); Serial.println (accel_z); } retard (200);
Arduino Nano 33 BLE- Carregant el codi

La càrrega del codi a Nano 33 és similar a qualsevol altra placa, però tingueu en compte que la placa té dos ports COM. Quan feu clic al botó de càrrega, l'IDE d'Arduino compila el codi i després restableix la placa automàticament mitjançant l'ordre del programari, això posarà la placa en mode de carregador d'arrencada i carregarà el vostre codi. Per això, un cop feta la càrrega, és possible que observeu que l'IDE d'Arduino ha canviat automàticament el port COM a un número diferent i és possible que vulgueu canviar-lo abans d'obrir el monitor sèrie.
Per tant, aquesta és pràcticament la meva experiència amb la placa Arduino Nano 33 fins ara, intentaré construir alguna cosa amb els seus sensors i les seves funcions BLE alguna vegada més endavant. Com va ser la vostra experiència amb la junta? Què voldries que construís amb ell? Deixeu les respostes a la secció de comentaris i en parlarem més.
