Pokud hledáte integraci snímače 9 stupňů volnosti (9-DOF) do vašich projektů Arduino, jste na správném místě. Tato zařízení jsou mimořádně užitečná pro měření orientace, zrychlení a rotace v trojrozměrném prostoru. V tomto článku důkladně prozkoumáme, jak používat Adafruit 9-DOF, jeho připojení a konfiguraci s Arduinem.
Senzory 9-DOF kombinují tři různé typy senzorů: akcelerometry, magnetometry a gyroskopy. To z nich dělá základní nástroje pro přesné sledování orientací a pohybů. S těmito pokyny můžete začít používat svůj senzor Adafruit 9-DOF s Arduinem rychle a efektivně.
Co je senzor 9 stupňů volnosti (9-DOF)?
Nebyly nalezeny žádné produkty.
Senzor s 9 stupni volnosti obsahuje tři senzory v jednom: akcelerometr , magnetometr a gyroskop . Akcelerometr měří zrychlení na třech osách, což mu umožňuje detekovat orientaci vzhledem k gravitaci. Magnetometr detekuje magnetické pole, což je užitečné pro určení směru magnetického severu. Gyroskop také měří úhlovou rotaci.
Tyto tři senzory dohromady nabízejí trojrozměrné vnímání pohybu a orientace, což je ideální pro aplikace, jako je robotika, drony nebo nositelná zařízení.
Připojení 9-DOF senzoru k Arduinu
Jakmile máte senzor, dalším krokem je jeho připojení k desce Arduino. Pokud plánujete používat rozhraní I2C , které je nejběžnější, má senzor Adafruit 9-DOF výchozí adresu I2C 0x69. Můžete ji však také změnit na 0x68 připojením adresového pinu k GND.
Připojení přes I2C
Proces připojení je snadný. Pomocí konektoru STEMMA QT nebo nepájivého nepájivého pole jednoduše propojíte napájecí a datové piny. Pokud používáte konektor STEMMA, stačí jej připojit pouze k pinům I2C (SCL a SDA).
Použijte 9-DOF senzor s SPI
Pokud dáváte přednost použití rozhraní SPI, budete muset pro připojení povolit piny CS, SCK, MOSI a MISO a také zadat nastavení v kódu.
Nainstalujte potřebné knihovny na Arduino

Aby váš senzor Adafruit správně fungoval s Arduinem, budete muset nainstalovat několik knihoven. První, kterou budete potřebovat, je knihovna Adafruit ICM20X , která je kompatibilní se senzory ICM20948 a ICM20649. Chcete-li ji nainstalovat, otevřete Správce knihoven v Arduino IDE a vyhledejte „Adafruit ICM20X“.
Kromě toho budete muset nainstalovat také knihovnu Adafruit BusIO a knihovnu Adafruit Unified Sensor.
Příklad kódu pro senzor Adafruit 9-DOF
Jakmile máte vše připojené a nainstalované potřebné knihovny, můžete načíst jeden z příkladů a ověřit, zda vše funguje správně. Přejděte do Soubor -> Příklady -> Adafruit ICM20X a vyberte test, který je kompatibilní s vaším senzorem.
Tento příklad vytiskne hodnoty, jako je teplota , a také hodnoty os X, Y a Z z gyroskopu, akcelerometru a magnetometru. Výstup si můžete prohlédnout na sériovém monitoru nastaveném na 115200 baud.
Základní příklad pro měření s ICM20948
#include <Adafruit_ICM20X.h>#include <Adafruit_ICM20948.h>#include <Adafruit_Sensor.h>#include <Wire.h>
Kód uvedený v příkladech knihovny vám umožní získat události z různých senzorů. U pokročilejších projektů však můžete upravit nastavení rozsahu citlivosti jak akcelerometru, tak gyroskopu podle vašich potřeb.
Jak fungují hlášení rotace na snímači BNO085
Pokud kromě senzorů ICM20948 používáte senzor s 9 stupni volnosti, jako je například BNO085 , umožňuje vám to generovat zprávy o rotaci , které jsou důležité pro získání podrobnějších dat o orientaci při složitých pohybech.
Důležitý detail, který je třeba mít na paměti, je, že tento senzor vyžaduje mikrokontrolér s větší kapacitou paměti , jako je SAMD21, SAMD51 nebo nRF52. Používání jednodušších desek Arduino, jako jsou Uno nebo Leonardo, se nedoporučuje, protože nemají dostatek paměti RAM.
BNO085 navíc používá speciální implementaci I2C, která není kompatibilní se všemi systémy. Například tento senzor nefunguje správně s čipy jako ESP32 nebo s multiplexery I2C. Jeho provoz je však poměrně spolehlivý na platformách jako RP2040, STM32F4 nebo SAMD51.
Design a vlastnosti breakoutu LSM9DS1
Snímač LSM9DS9 1-DOF je ideální pro sledování orientace a pohybu s dostupnější cenou ve srovnání s jinými podobnými snímači. Integruje několik rozsahů měření, které vám umožňují upravit úroveň přesnosti požadovanou pro váš projekt.
Tento senzor je vybaven rozhraním I2C a SPI , díky čemuž je všestranný pro různé vývojové platformy. Můžete jej snadno připojit k Arduinu napájením napětí mezi 3 a 5 V a připojením pinů I2C k SCL a SDA.
Rozdíly oproti LSM9DS0
Jeden z hlavních rozdílů spočívá v rozsazích akcelerometru , které jsou u LSM9DS1 ±2, ±4, ±8 a ±16 g, zatímco jiné senzory, jako například LSM9DS0, obsahují další rozsah ±6 g.
Co můžete dělat se senzorem Adafruit 9-DOF?
Tento typ senzoru je ideální pro vývoj projektů, jako jsou autonomní roboti , navigační systémy a zařízení založená na gestech. S daty o zrychlení, rotaci a orientaci, která poskytuje, můžete vytvořit zařízení, které přesně sleduje složité pohyby.