Si cerques integrar un sensor de 9 graus de llibertat (9-DOF) en els teus projectes d'Arduino, has arribat al lloc correcte. Aquests dispositius són extremadament útils per mesurar l'orientació, l'acceleració i la rotació en un espai tridimensional. En aquest article, explorarem a fons com utilitzar l'Adafruit 9-DOF, les seves connexions i configuració amb Arduino.
Els sensors 9-DOF combinen tres tipus diferents de sensors: acceleròmetres, magnetòmetres i giroscopis. Això els converteix en eines essencials per fer un seguiment precís d'orientacions i moviments. Amb aquestes indicacions, podràs començar a utilitzar el teu sensor Adafruit 9-DOF amb Arduino de forma ràpida i eficient.
Què és un sensor de 9 graus de llibertat (9-DOF)?
El sensor 9-DOF compta amb tres sensors en un: un acceleròmetre, un magnetòmetre i un giroscopi. L'acceleròmetre mesura l'acceleració en tres eixos, cosa que permet detectar l'orientació respecte a la gravetat. El magnetòmetre detecta el camp magnètic, sent útil per determinar la direcció del nord magnètic. Finalment, el giroscopi mesura la rotació angular.
Aquests tres sensors es combinen per oferir una percepció tridimensional del moviment i l'orientació, cosa que el fa ideal per a aplicacions com la robòtica, drones o dispositius vestibles.
Connexió del sensor 9-DOF amb Arduino
Quan ja tens el sensor, el següent pas és connectar-lo a la teva placa Arduino. Si planeges fer servir la interfície I2C, que és la més comuna, el sensor Adafruit 9-DOF té una adreça I2C predeterminada de 0x69. Tanmateix, també la pots canviar a 0x68 connectant el pin de direcció a GND.
Connexió mitjançant I2C
El procés de connexió és fàcil. Amb lús dun connector STEMMA QT o una placa de proves sense soldar, simplement has de fer coincidir els pins dalimentació i dades. Si utilitzes un connector STEMMA, només cal connectar-lo als pins I2C (SCL i SDA).
Usar un sensor 9-DOF amb SPI
Si prefereixes utilitzar la interfície SPI, necessitaràs habilitar els pins CS, SCK, MOSI i MIS per a la connexió, a més d'especificar les configuracions al codi.
Instal·lar les biblioteques necessàries a Arduino

Perquè el vostre sensor Adafruit funcioni correctament amb Arduino, haureu d'instal·lar diverses biblioteques. El primer que necessites és la biblioteca Adafruit ICM20X, que és compatible amb els sensors ICM20948 i ICM20649. Per instal·lar-la, obre el Gestor de biblioteca a l'Arduino IDE i busca “Adafruit ICM20X”.
A més d'aquesta, també hauràs d'instal·lar la Biblioteca Adafruit BusIO i la Biblioteca Adafruit Unified Sensor.
Codi d'exemple per al sensor Adafruit 9-DOF
Un cop tens tot connectat i instal·lades les biblioteques necessàries, pots carregar un dels exemples per comprovar que tot funciona bé. Ves a File -> Examples -> Adafruit ICM20X i seleccioneu el test que sigui compatible amb el vostre sensor.
Aquest exemple imprimirà valors com la temperatura, així com els valors als eixos X, Y i Z del giroscopi, l'acceleròmetre i el magnetòmetre. Pots revisar el resultat al monitor serial configurat a 115200 bauds.
Exemple bàsic per a mesuraments amb l'ICM20948
#include <Adafruit_ICM20X.h>#include <Adafruit_ICM20948.h>#include <Adafruit_Sensor.h>#include <Wire.h>
El codi proporcionat als exemples de la biblioteca us permetrà obtenir els esdeveniments dels diferents sensors. No obstant això, per a projectes més avançats, podeu modificar les configuracions dels rangs de sensibilitat tant de l'acceleròmetre com del giroscopi segons les vostres necessitats.
Com funcionen els informes de rotació al sensor BNO085
Si a més dels sensors de l'ICM20948 estàs manejant un sensor 9-DOF com el BNO085, aquest et permet generar informes de rotació, importants per obtenir dades més detallades sobre lorientació en moviments complexos.
Un detall important que cal tenir en compte és que aquest sensor requereix un microcontrolador amb major capacitat de memòria, com el SAMD21, SAMD51 o nRF52. L'ús de plaques Arduino més bàsiques com la Un o Leonardo no és recomanable, atès que no tenen prou RAM.
A més, el BNO085 utilitza una implementació especial de I2C que no és compatible amb tots els sistemes. Per exemple, aquest sensor no funciona correctament amb xips com el ESP32 o amb multiplexors I2C. No obstant això, el seu funcionament és força fiable en plataformes com RP2040, STM32F4 o SAMD51.
Disseny i característiques del breakout LSM9DS1
El sensor 9-DOF LSM9DS1 és ideal per seguir lorientació i moviment amb un preu més assequible en comparació amb altres sensors similars. Integra diversos rangs de mesura que permeten ajustar el nivell de precisió requerit per al teu projecte.
Aquest sensor compta amb una interfície I2C y SCI, el que ho fa versàtil per a diferents plataformes de desenvolupament. Pots connectar-lo fàcilment a un Arduino, proporcionant voltatge entre 3 i 5V i connectant els pins I2C a SCL y SDA.
Diferències amb el LSM9DS0
Una de les principals diferències rau en els rangs de l'acceleròmetre, que al LSM9DS1 són de ±2, ±4, ±8 i ±16 g, mentre que altres sensors com el LSM9DS0 inclouen un rang addicional de ±6g.
Què podeu fer amb un sensor 9-DOF d'Adafruit?
Aquest tipus de sensors és ideal per desenvolupar projectes com robots autònoms, sistemes de navegació i dispositius basats en gestos. Amb la informació d'acceleració, rotació i orientació que proporciona, podeu construir un dispositiu que segueixi moviments complexos amb precisió.