Kako koristiti Adafruit 9-DOF sa Arduinom: Potpuni vodič

  • 9-DOF senzor nudi akcelerometar, magnetometar i žiroskop na jednom čipu za detekciju 3D pokreta.
  • Podržava i I2C i SPI vezu i zahtijeva posebne biblioteke instalirane na Arduino.
  • Konfiguracija i upotreba senzora variraju ovisno o modelu, ali dijeljenje tačnih informacija o orijentaciji i rotaciji je uobičajena karakteristika.

adafruit 9-dof

Ako želite da integrišete senzor od 9 stepeni slobode (9-DOF) u svoje Arduino projekte, došli ste na pravo mesto. Ovi uređaji su izuzetno korisni za mjerenje orijentacije, ubrzanja i rotacije u trodimenzionalnom prostoru. U ovom članku ćemo detaljno istražiti kako koristiti Adafruit 9-DOF, njegove veze i konfiguraciju sa Arduinom.

9-DOF senzori kombinuju tri različite vrste senzora: akcelerometre, magnetometre i žiroskope. To ih čini osnovnim alatima za precizno praćenje orijentacije i kretanja. Uz ove upute, možete brzo i efikasno početi koristiti svoj Adafruit 9-DOF senzor s Arduinom.

Šta je senzor od 9 stepeni slobode (9-DOF)?

Nije pronađen nijedan proizvod.

9-DOF senzor ima tri senzora u jednom: a akcelerometar, a magnetometar i a žiroskop. Akcelerometar mjeri ubrzanje u tri ose, omogućavajući mu da otkrije orijentaciju u odnosu na gravitaciju. Magnetometar detektuje magnetno polje, što je korisno za određivanje smjera magnetskog sjevera. Na kraju, žiroskop mjeri ugaonu rotaciju.

Ova tri senzora zajedno nude a trodimenzionalna percepcija pokreta i orijentaciju, što ga čini idealnim za aplikacije kao što su robotika, dronovi ili nosivi uređaji.

Povezivanje 9-DOF senzora sa Arduinom

Nakon što dobijete senzor, sljedeći korak je da ga povežete na vašu Arduino ploču. Ako planirate da koristite I2C interfejs, koji je najčešći, Adafruit 9-DOF senzor ima zadanu I2C adresu 0x69. Međutim, možete ga promijeniti i na 0x68 tako što ćete povezati pin adrese na GND.

Povezivanje preko I2C

Proces povezivanja je jednostavan. Uz upotrebu STEMMA QT konektora ili a matična ploča bez lemljenja, jednostavno morate uskladiti pinove za napajanje i podatke. Ako koristite STEMMA konektor, trebate ga spojiti samo na I2C pinove (SCL i SDA).

Koristite 9-DOF senzor sa SPI

Ako više volite da koristite SPI interfejs, moraćete da omogućite CS, SCK, MOSI i MISO pinove za vezu, kao i da navedete podešavanja u kodu.

Instalirajte potrebne biblioteke na Arduino

Arduino IDE, tipovi podataka, programiranje

Da bi vaš Adafruit senzor ispravno radio s Arduinom, morat ćete instalirati nekoliko biblioteka. Prva stvar koju trebate je Adafruit ICM20X biblioteka, koji je kompatibilan sa senzorima ICM20948 i ICM20649. Da biste ga instalirali, otvorite Library Manager u Arduino IDE i potražite “Adafruit ICM20X”.

Pored ovoga, moraćete i da instalirate Adafruit BusIO biblioteka I to Adafruit Unified Sensor Library.

Primjer koda za Adafruit 9-DOF senzor

Kada sve povežete i instalirate potrebne biblioteke, možete učitati jedan od primjera kako biste provjerili da li sve radi dobro. Idi na Datoteka -> Primjeri -> Adafruit ICM20X i odaberite test koji je kompatibilan s vašim senzorom.

Ovaj primjer će ispisati vrijednosti poput temperatura, kao i vrijednosti na osi X, Y i Z žiroskopa, akcelerometra i magnetometra. Rezultat možete provjeriti na serijskom monitoru postavljenom na 115200 baud.

Osnovni primjer za mjerenja sa ICM20948

#include <Adafruit_ICM20X.h>#include <Adafruit_ICM20948.h>#include <Adafruit_Sensor.h>#include <Wire.h>

Kod koji se nalazi u primjerima biblioteke omogućit će vam da dobijete događaje od različitih senzora. Međutim, za naprednije projekte, možete modificirati postavke raspona osjetljivosti i akcelerometra i žiroskopa prema vašim potrebama.

Kako izvještaji o rotaciji rade na senzoru BNO085

Ako pored ICM20948 senzora koristite i 9-DOF senzor kao što je BNO085, ovo vam omogućava da generišete izvještaji o rotaciji, važno za dobijanje detaljnijih podataka o orijentaciji u složenim pokretima.

Važan detalj koji treba da imate na umu je da je za ovaj senzor potreban mikrokontroler veći kapacitet memorije, kao što su SAMD21, SAMD51 ili nRF52. Ne preporučuje se upotreba osnovnih Arduino ploča kao što su Uno ili Leonardo, jer nemaju dovoljno RAM-a.

Dodatno, BNO085 koristi posebnu I2C implementaciju koju ne podržavaju svi sistemi. Na primjer, ovaj senzor ne radi ispravno sa čipovima kao što su ESP32 ili sa I2C multipleksorima. Međutim, njegov rad je prilično pouzdan na platformama kao što su RP2040, STM32F4 ili SAMD51.

Dizajn i karakteristike LSM9DS1 breakout-a

Senzor LSM9DS9 1-DOF idealan je za praćenje orijentacije i kretanja uz pristupačniju cijenu u odnosu na druge slične senzore. Integrira nekoliko raspona mjerenja koji vam omogućavaju da prilagodite nivo preciznosti koji je potreban za vaš projekat.

Ovaj senzor ima a I2C interfejs y SPI, što ga čini raznovrsnim za različite razvojne platforme. Možete ga jednostavno spojiti na Arduino, osiguravajući napon između 3 i 5V i povezujući I2C pinove na SCL y prirodni resursi.

Razlike sa LSM9DS0

Jedna od glavnih razlika leži u rasponi akcelerometara, koji u LSM9DS1 iznose ±2, ±4, ±8 i ±16 g, dok drugi senzori kao što je LSM9DS0 uključuju dodatni raspon od ±6g.

Šta možete učiniti sa Adafruit 9-DOF senzorom?

Ova vrsta senzora je idealna za razvoj projekata kao npr autonomni roboti, navigacijski sistemi i uređaji zasnovani na pokretima. Uz informacije o ubrzanju, rotaciji i orijentaciji koje pruža, možete napraviti uređaj koji precizno prati složene pokrete.


Dodaj kao preferirani izvor na Googleu