如何將 Adafruit 9-DOF 與 Arduino 結合使用:完整指南

  • 9 自由度感測器在單晶片上提供加速度計、磁力計和陀螺儀以偵測 3D 運動。
  • 它支援 I2C 和 SPI 連接,並且需要在 Arduino 上安裝特定的庫。
  • 感測器配置和使用因型號而異,但共享準確的方向和旋轉資訊是一個常見功能。

adafruit 9 自由度

如果您希望將 9 自由度 (9-DOF) 感測器整合到您的 Arduino 專案中,那麼您來對地方了。這些設備對於測量三維空間中的方向、加速度和旋轉非常有用。在本文中,我們將深入探討如何使用 Adafruit 9-DOF、其與 Arduino 的連接和配置。

9-DOF 感測器結合了三種不同類型的感測器:加速度計、磁力計和陀螺儀。這使得它們成為精確追蹤方向和運動的重要工具。根據這些說明,您可以開始快速且有效率地將 Adafruit 9-DOF 感測器與 Arduino 結合使用。

什麼是 9 自由度 (9-DOF) 感測器?

9-DOF 感測器將三個感測器合而為一: 加速度計磁力計陀螺儀。加速度計測量三個軸上的加速度,使其能夠偵測相對於重力的方向。磁力計偵測磁場,有助於確定磁北的方向。最後,陀螺儀測量角旋轉。

這三個感測器結合起來提供了 運動的三維感知 和方向,使其成為機器人、無人機或穿戴式裝置等應用的理想選擇。

將 9-DOF 感測器與 Arduino 連接

獲得感測器後,下一步是將其連接到 Arduino 板。如果您打算使用 I2C介面最常見的是,Adafruit 9-DOF 感測器的預設 I2C 位址為 0x69。但是,您也可以透過將位址引腳連接到 GND 將其變更為 0x68。

透過 I2C 連接

連接過程很簡單。使用 STEMMA QT 連接器或 無焊接麵包板,您只需匹配電源和數據引腳即可。如果使用 STEMMA 連接器,只需將其連接到 I2C 引腳(SCL 和 SDA)。

使用帶有 SPI 的 9-DOF 感測器

如果您喜歡使用 SPI 接口,則需要啟用 CS、SCK、MOSI 和 MISO 引腳以進行連接,並在程式碼中指定設定。

在 Arduino 上安裝必要的程式庫

Arduino IDE、數據類型、編程

為了讓您的 Adafruit 感測器能夠與 Arduino 正常工作,您需要安裝多個庫。您需要的第一件事是 Adafruit ICM20X 庫,與 ICM20948 和 ICM20649 感測器相容。要安裝它,請打開 圖書館經理 在 Arduino IDE 中搜尋「Adafruit ICM20X」。

除此之外,您還必須安裝 Adafruit BusIO 庫Adafruit 統一感測器庫.

Adafruit 9-DOF 感測器的範例程式碼

連接所有內容並安裝必要的庫後,您可以加載範例之一以檢查一切是否正常。前往 文件 -> 範例 -> Adafruit ICM20X 並選擇與您的感測器相容的測試。

這個例子將會列印類似的值 溫度,以及軸上的值 X、Y 和 Z 陀螺儀、加速度計和磁力計。您可以在設定為 115200 波特的序列監視器上檢查結果。

使用 ICM20948 進行測量的基本範例

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

庫範例中提供的程式碼將允許您從不同的感測器獲取事件。但是,對於更進階的項目,您可以根據需要修改加速度計和陀螺儀的靈敏度範圍設定。

旋轉報告如何在 BNO085 感測器上工作

如果除了 ICM20948 感測器之外,您還使用 9-DOF 感測器,例如 BNO085,這允許您生成 輪調報告,對於獲取有關複雜運動中的方向的更詳細數據非常重要。

您應該記住的一個重要細節是,該感測器需要一個具有以下功能的微控制器: 更大的內存容量,例如 SAMD21、SAMD51 或 nRF52。不建議使用更基本的 Arduino 板,例如 Uno 或 Leonardo,因為它們沒有足夠的 RAM。

此外,BNO085 採用特殊的 I2C 實現,並非所有系統都支援該實現。例如,該感測器無法與諸如 ESP32 或使用 I2C 多工器。不過,它的運作在諸如 RP2040、STM32F4 或 SAMD51.

LSM9DS1 分線器的設計與特性

LSM9DS9 1-DOF 感測器非常適合追蹤方向和運動,與其他類似感測器相比,價格更實惠。它整合了多個測量範圍,使您可以調整專案所需的精度等級。

該感測器有一個 I2C介面 y SPI,使其適用於不同的開發平台。您可以輕鬆地將其連接到 Arduino,提供 3 至 5V 之間的電壓並將 I2C 引腳連接到 SCL y SDA.

與LSM9DS0的差異

主要區別之一在於 加速度計範圍,在 LSM9DS1 中為 ±2、±4、±8 和 ±16 g,而其他感測器(例如 LSM9DS0)則包括 ±6g 的附加範圍。

Adafruit 9-DOF 感測器可以做什麼?

這種類型的感測器非常適合開發諸如 自主機器人、導航系統和基於手勢的設備。利用它提供的加速度、旋轉和方向訊息,您可以建立精確追蹤複雜運動的裝置。


新增為首選來源