1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi PicoでMMA8452Qを使う

Posted at

やってること

加速度センサmma8452qで加速度を測定し、表示させる。

環境

マイコン:Raspberry Pi Pico
プログラミング言語:MicroPython (Thony)
加速度センサ:MMA8452Q

ライブラリのインストール

Picoへ事前に以下ライブラリをインストールしておいてください。
GitHub→micropython_mma8452q→「i2c_helpers.py」と「mma8452q.py」をダウンロード→Picoをパソコンに接続してThonyを開く→左下のPicoの内部ストレージのlibフォルダを開く→何もない所を右クリックで新しいディレクトリを作成→名前を「micropython_mma8452q」にしておく→その中にダウンロードした2つのファイルを入れる→libフォルダにも「mma8452q.py」を入れておく(こうするとうまくいく。)

接続

Pico BME 280
GP0 SDA
GP1 SCL
VSYS 3.3v
GND GND

確認

以下のプログラムを実行して、BME280が正しく接続されているか確認

from machine import I2C, Pin
i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=100000)
print(i2c.scan())

何か数字が表示されればOK。されなかったら接続を再確認。

プログラム

mma8452q.py
import time
import utime
import machine
from machine import Pin, I2C
import mma8452q
  
# MMA8452 (I2C setting)
i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=100000)
mma = mma8452q.MMA8452Q(i2c, address=0x1D)  # アドレスが0x1Dの場合

        
# Listen for connections, serve client
while True:
    try:
        x, y, z = mma.acceleration
        #print(f"X: {x:0.2f} m/s^2 | Y: {y:0.2f} m/s^2 | Z: {z:0.2f} m/s^2")
        #print(f"X: {x:0.2f} m/s^2 | Y: {y:0.2f} m/s^2 | Z: {z:0.2f} m/s^2       ", end="\r")
        print(f"{x:0.2f} m/s^2 | {y:0.2f} m/s^2 | {z:0.2f} m/s^2")
        time.sleep(0.1)
    except OSError as e:
        print('Process error:', e)

終わり

csvファイルにデータを記録して、Pico本体に保存するプログラムもあります。必要でしたらコメントで教えてください。何かご質問等があればとりあえず聞いてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?