/a/センサー
Published on

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

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

はじめに

Raspberry Piは小型で高性能なシングルボードコンピューターであり、様々なセンサーやモジュールを組み合わせて利用することができます。この記事では、加速度センサー「BMG160」をRaspberry Piに接続し、制御する方法について解説します。

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

1. BMG160の概要

BMG160は、Bosch Sensortecが提供する三軸加速度センサーであり、高い精度で動きを検知することができます。I2C通信プロトコルを使用してデータを取得することができ、Raspberry Piと組み合わせて様々なプロジェクトに利用されています。

2. BMG160の接続

BMG160は一般的に、VCC、GND、SCL(クロック)、SDA(データ)の4本のピンから構成されています。これらをRaspberry Piに接続します。例えば、SCLをRaspberry Piのピン3(GPIO2)、SDAをピン5(GPIO3)に接続します。

3. Raspberry Piコードの作成

Raspberry PiではPythonやC言語を使用してBMG160を制御することができます。以下は、Pythonを使用した例です。

Pythonコード例:

import smbus
import time

# BMG160のI2Cアドレス
BMG160_I2C_ADDR = 0x69

# BMG160のレジスタアドレス
BMG160_REG_X_LSB = 0x02

# I2Cバスの初期化
bus = smbus.SMBus(1)

def read_bmg160_data():
    data_x = bus.read_i2c_block_data(BMG160_I2C_ADDR, BMG160_REG_X_LSB, 6)
    x = (data_x[1] * 256 + data_x[0]) / 1.0
    return x

try:
    while True:
        acceleration_x = read_bmg160_data()
        print(f"Acceleration X: {acceleration_x}")
        time.sleep(1)

except KeyboardInterrupt:
    pass

このコードはBMG160からX軸方向の加速度データを読み取り、1秒ごとに表示します。適宜、他の軸のデータを取得するためにコードを修正することができます。

4. コードの実行と確認

最後に、書いたPythonコードを実行してBMG160からのデータを確認します。正しく接続されていれば、Raspberry PiからBMG160の加速度データが取得できるはずです。

これで、Raspberry PiにBMG160を接続し、Pythonを使用して制御する基本的な手順が完了しました。BMG160のデータを活用して、傾きや動きを検知するさまざまなプロジェクトを開発することができます。

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

将 有坂

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

タグ ->