- Published on
Raspberry Piに「BMG160」を接続し制御する
1209文字3分で読めます–––
閲覧数
- Authors
- 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 🚚