/a/センサー
Published on

Arduinoに「BMG160」を接続し制御する

1246文字3分で読めます–––
閲覧数
Authors
  • avatar
    Name
    将 有坂
    short bio
    ラズパイやArduinoで電子工作をしてます。

はじめに

Arduinoは様々なセンサーやモジュールと組み合わせて利用でき、その中でもジャイロセンサー「BMG160」は回転や傾きなどの動きを検知するのに優れたデバイスです。この記事では、ArduinoにBMG160を接続し、その動作を制御する方法について詳しく解説します。

※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚

1. BMG160ジャイロセンサーの概要

BMG160は、ボッシュ社が製造した3軸ジャイロセンサーで、高い感度と低消費電力が特徴です。Arduinoとの接続はI2Cプロトコルを通じて行います。このジャイロセンサーを使うことで、デバイスの傾きや回転の速度を検知できます。

2. BMG160の接続

BMG160をArduinoに接続するには、I2C通信用のピンを利用します。通常、BMG160にはVCC、GND、SDA、SCLの4つのピンがあります。これらをArduinoに接続します。

  • VCC(赤色): 5Vの電源
  • GND(茶色): 接地
  • SDA(青色): I2Cデータライン
  • SCL(黄色): I2Cクロックライン

3. Arduinoライブラリのインストール

BMG160をArduinoで使うには、専用のライブラリをインストールする必要があります。Arduino IDEを開き、「スケッチ」 → 「ライブラリをインクルード」 → 「ライブラリを管理」を選択し、検索バーに「BMG160」を入力して対応するライブラリをインストールします。

4. Arduinoコードの作成

BMG160の値を読み取るための基本的なArduinoコードを以下に示します。

#include <Wire.h>
#include <BMG160.h>

BMG160 bmg;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  bmg.begin();
}

void loop() {
  bmg.readGyro();  // ジャイロの値を読み取る
  Serial.print("X: "); Serial.print(bmg.g.x);
  Serial.print(" Y: "); Serial.print(bmg.g.y);
  Serial.print(" Z: "); Serial.println(bmg.g.z);
  
  delay(1000);  // 1秒ごとに更新
}

このコードは、BMG160から得られる3軸のジャイロ値をシリアルモニターに表示するものです。

5. コードのアップロードと動作確認

コードをArduinoにアップロードし、シリアルモニターでジャイロの値が正しく表示されるか確認します。デバイスを傾けると、対応する軸の値が変動することが確認できるでしょう。

これで、ArduinoにBMG160を接続して、ジャイロの値を取得し制御する基本的な手順が完了しました。応用として、これを利用してバランスをとるロボットや動きを制御するプロジェクトを開発することができます。

※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
avatar

将 有坂

電子部品専門家 / ラズベリーパイのプロ / 数多くのセンサーやモジュールの導入実績
ラズベリーパイやArduinoの電子工作に関わるソフトウェアエンジニア。これまで100種類以上のセンサーやモジュールの導入を行い、その知識と経験を活かして、多くの人々に電子工作の楽しさを伝えることを使命としている。

タグ ->