/a/センサー
Published on

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

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

はじめに

Raspberry Piは豊富なGPIOピンと様々な機能を備えたシングルボードコンピュータであり、センサーとの組み合わせにより多岐にわたるプロジェクトを実現できます。この記事では、デジタル三軸磁気センサー「MLX90393」をRaspberry Piに接続し、制御する方法について解説します。

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

1. MLX90393センサーの概要

MLX90393は、三軸磁気センサーであり、非常に高い精度で磁気フィールドを検知できます。これをRaspberry Piに接続することで、周囲の磁場の強さや方向を計測できます。

2. MLX90393の接続

MLX90393をRaspberry Piに接続するためには、通常、以下のような接続が必要です。

  • VCC(赤色): 3.3Vの電源
  • GND(茶色): 接地
  • SDA(データ): I2C通信用のデータライン
  • SCL(クロック): I2C通信用のクロックライン

これらの線をRaspberry PiのGPIOピンに接続します。なお、Raspberry Piには複数のGPIOピンがありますが、I2C通信には通常、GPIO2(SDA)とGPIO3(SCL)が使われます。

3. Raspberry Piコードの作成

MLX90393を制御するためには、Pythonなどのプログラミング言語を使用します。以下は、簡単な例です。

import smbus
import time

# MLX90393のI2Cアドレス
MLX90393_ADDRESS = 0x0C

# I2Cバスの初期化
bus = smbus.SMBus(1)  # Raspberry Pi 3以降の場合は1, それ以前の場合は0を指定

def read_mlx90393():
    # データの読み取り
    data = bus.read_i2c_block_data(MLX90393_ADDRESS, 0x06, 7)
    
    # x, y, z軸の値を取得
    x = (data[1] << 8) | data[0]
    y = (data[3] << 8) | data[2]
    z = (data[5] << 8) | data[4]
    
    return x, y, z

try:
    while True:
        x, y, z = read_mlx90393()
        print(f"X: {x}, Y: {y}, Z: {z}")
        time.sleep(1)

except KeyboardInterrupt:
    pass

finally:
    print("終了")

このコードは、MLX90393から磁場の強さを読み取り、それをX、Y、Z軸ごとに表示するものです。必要に応じてデータの処理を追加し、具体的なプロジェクトに組み込むことができます。

4. コードの実行と確認

Raspberry PiにMLX90393を接続し、コードを実行します。磁場のデータが取得され、正しく表示されれば、接続と制御は成功しています。

これで、Raspberry PiにMLX90393を接続し、簡単な制御を行うための基本的な手順が完了しました。MLX90393のデータを利用して、地磁気や方向を検知するプロジェクトを進めていくことができます。

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

将 有坂

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

タグ ->