ARDUINO-lgoo

ARDUINO GY87 組合傳感器測試示意圖

ARDUINO-GY87-組合傳感器測試草圖產品

介紹

如果您是狂熱的創客或機器人愛好者,您會遇到這個小巧但功能強大的模塊 如果您是狂熱的創客或機器人愛好者,您會遇到這個小巧但功能強大的模塊 BMP085 氣壓計。 GY-87 IMU 模塊是為您的項目添加運動感應的絕佳方式,例如自平衡機器人或四軸飛行器。
但在開始試驗 GY-87 IMU 模塊之前,您需要知道如何將它與 Arduino 板連接。 這就是這個博客的用武之地! 在接下來的段落中,我們將介紹 GY-87 IMU 模塊的基礎知識、如何設置它,以及如何編寫 Arduino 代碼來讀取傳感器數據。 我們還將提供一些提示和資源來解決常見問題。
所以,如果您準備好開始,讓我們深入了解如何將 GY-87 IMU 模塊與 Arduino 連接起來!

什麼是GY-87 IMU MPU6050

GY-87 等慣性測量單元 (IMU) 模塊將許多傳感器組合到一個封裝中,例如 MPU6050 加速度計/陀螺儀、HMC5883L 磁力計和 BMP085 氣壓傳感器。 因此,GY-87 IMU MPU6050 是一款一體化 9 軸運動跟踪模塊,結合了 3 軸陀螺儀、3 軸加速度計、3 軸磁力計和數字運動處理器。 它在機器人項目中大量使用,例如四軸飛行器和其他無人駕駛飛行器 (UAV),因為它可以準確地測量和跟踪方向和運動。 它還用於其他應用程序,例如導航、遊戲和虛擬現實。

硬體組件

您將需要以下硬件來連接 GY-87 IMU MPU6050 HMC5883L BMP085 模塊與 Arduino。

成分 價值 數量
Arduino UNO 1
主控板6050 傳感器模塊 GY-87 1
麵包板 1
跳線 1

GY-87 與 Arduino 

現在您已經了解了 GY-87,是時候與 Arduino 進行交互了。 要做到這一點,請按照 既然您已經了解了 GY-87,是時候與 Arduino 進行交互了。 為此,請遵循

概要

根據下面給出的電路圖進行連接

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-組合傳感器測試草圖圖 1接線/連接

Arduino MPU6050傳感器
5V 電壓控制電路
接地 接地
A4 SDA
A5 斯卡

安裝 Arduino 集成開發環境 

首先,您需要從其官方安裝Arduino IDE軟件 web網站Arduino。 這是關於“如何安裝 Arduino IDE”的簡單分步指南。

安裝庫 

在開始上傳代碼之前,請在 /Program 下載並解壓以下庫 Files (x86)/Arduino/Libraries(默認)以便將傳感器與 Arduino 板一起使用。 這是關於“如何在 Arduino IDE 中添加庫”的簡單分步指南。

  • 主控板6050
  • Adafruit_BMP085
  • HMC5883L_簡單

程式碼 

現在復制以下代碼並將其上傳到 Arduino IDE 軟件。

#include “I2Cdev.h” #include “MPU6050.h” #include #包括MPU085 加速陀螺儀; Adafruit_BMP5883 bmp; HMC6050L_簡易指南針; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = false; void setup() { Serial.begin(16); 連線開始(); // 初始化設備 Serial.println(“正在初始化 I13C 設備……”); // 初始化 bmp9600 if (!bmp.begin()) { Serial.println(“找不到有效的 BMP2 傳感器,檢查 (!bmp.begin()) { Serial.println(“找不到有效的 BMP085 傳感器,檢查 Serial.println(accelgyro.testConnection()?“MPU085 連接成功”:“MPU085 連接失敗”);accelgyro.setI6050CBypassEnabled(真);// 設置 hmc6050L 網關的旁路模式// 初始化 hmc2l Compass.SetDeclination(5883, 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
指南針.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // 配置 Arduino LED 以檢查活動 pinMode(LED_PIN, OUTPUT); } 無效循環(){
Serial.print(“溫度=”); Serial.print(bmp.readTemperature());
Serial.println(" *C"); Serial.print(“壓力=”);
Serial.print(bmp.readPressure()); Serial.println("Pa"); // 假設“標準”氣壓計算高度 // 壓力為 1013.25 毫巴 = 101325 帕斯卡 Serial.print(“Altitude =”); Serial.print(bmp.readAltitude()); Serial.println(“米”); Serial.print(“海平面壓力(計算)=”);
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print(“實際海拔=”); Serial.print(bmp.readAltitude(101500));
Serial.println("米"); // 從設備 accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz) 讀取原始加速度/陀螺儀測量值; // 顯示製表符分隔的加速器/陀螺儀 x/y/z 值 Serial.print(“a/g:\t”); 序列號.print(ax);
Serial.print(“\t”); 串行打印(ay); Serial.print(“\t”); 串行打印(az);
Serial.print(“\t”); 串行打印(gx); Serial.print(“\t”); 串行打印(gy);
Serial.print(“\t”); 序列號.println(gz); 浮動標題 =
Compass.GetHeadingDegrees(); Serial.print(“標題:\t”); Serial.println(標題); // 閃爍 LED 指示活動 blinkState = !blinkState;
數字寫入(LED_PIN,閃爍狀態); 延遲(500); }

讓我們測試一下 

上傳代碼後,就可以測試電路了! Arduino 程序中的代碼使用它們的庫與傳感器接口,這允許它讀取傳感器數據並設置傳感器的各種配置。 然後它通過串行端口打印出傳感器數據。 LED用於顯示電路正在做某事。 這意味著每次運行循環功能時 LED 都會閃爍,表明代碼正在主動讀取傳感器值。

工作說明 

代碼是電路工作的主要依據。 那麼,讓我們理解代碼:

  • 首先,它包括幾個與傳感器接口的庫:
  • “I2Cdev.h”和“MPU6050.h”是 MPU6050 6 軸加速度計/陀螺儀傳感器的庫
  • “Adafruit_BMP085.h”是 BMP085 氣壓傳感器的庫。
  • “HMC5883L_Simple.h”是 HMC5883L 磁力計傳感器的庫。
  • 然後它為三個傳感器創建全局對象:MPU6050 accelgyro、Adafruit_BMP085 bmp 和 HMC5883L_Simple Compass。
  • 接下來,它定義了一些變量來存儲傳感器值,例如用於 MPU6050 的加速度計的 ax、ay 和 az 以及用於 HMC5883L 的磁力計的 head。 並且它定義了一個 LED_PIN 常量和一個 blinkState 變量。
  • setup() 函數啟動串行通信並開始 I2C 通信。 然後它初始化三個傳感器:
  • BMP085 傳感器通過調用 begin() 方法進行初始化。 如果返回 false,表示找不到傳感器,程序將進入無限循環並通過串行端口打印一條錯誤消息。
  • MPU6050 傳感器通過調用 initialize() 方法並檢查其是否正常工作來初始化。 並設置為 MPU2 啟用 I6050C 旁路。
  • HMC5883L傳感器通過調用一些函數進行初始化,例如SetDeclination、SetSamplingMode、SetScale 和 SetOrientation,用於為傳感器設置不同的配置。
  • 在 loop() 函數中,代碼從三個傳感器讀取數據並通過串口打印出來:
  • 它從傳感器讀取溫度、壓力、高度和海平面壓力。
  • 它從 MPU6050 傳感器讀取原始加速度和陀螺儀測量值。
  • 它從 HMC5883L 傳感器讀取航向,即傳感器指向的方向與磁北所在方向之間的角度。
  • 最後,它使 LED 閃爍以指示活動並等待片刻,然後重新讀取傳感器。

文件/資源

ARDUINO GY87 組合傳感器測試示意圖 [pdf] 使用者手冊
GY87 組合傳感器測試草圖 GY87 組合傳感器測試草圖 傳感器測試草圖 測試草圖

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *