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