9軸センサーが安かったので、ポチってRaspberry Pi Zeroと繋いでみた1
MPU9250
はんだ付け
付属のピンをはんだ付け
小手とはんだ、はんだ吸取線、簡易こて台がセットになったものをポチった [asin:B0072QN66U:detail]
はんだ付けなんて小学校以来?くらいだけど、なんとかなった
配線
Raspberry Pi Zero | MPU9250 |
---|---|
3V3 | VCC |
GPIO02 | SDA |
GPIO03 | SCL |
GND | GND |
I2Cの有効化
sudo raspi-config
- 5 Interfacing Options
- P5 I2C
- YES
でI2Cを有効化
デバイスのチェック
I2Cデバイスとして認識されているかをチェック
i2ctoolsのインストール
sudo apt install i2c-tools
I2Cデバイス一覧の表示
sudo i2cdetect -y 1
これで68が表示されていればOK
pi@raspberrypi:~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- 0c -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
プログラム
pipのインストール
sudo apt install python-pip python-smbus
ライブラリのインストール
sudo pip install FaBo9Axis_MPU9250
動作確認
import FaBo9Axis_MPU9250 import time mpu9250 = FaBo9Axis_MPU9250.MPU9250() while True: accel = mpu9250.readAccel() print('accel:' + str(accel)) gyro = mpu9250.readGyro() print('gyro:' + str(gyro)) magnet = mpu9250.readMagnet() print('magnet:' + str(magnet)) time.sleep(0.1)
pi@raspberrypi:~$ python scan.py accel:{'y': 0.101, 'x': -0.957, 'z': -0.111} gyro:{'y': -0.488, 'x': 3.143, 'z': 0.771} magnet:{'y': 50.33, 'x': -43.91, 'z': 36.58} accel:{'y': 0.1, 'x': -0.958, 'z': -0.108} gyro:{'y': -0.328, 'x': 3.059, 'z': 0.801} magnet:{'y': 0, 'x': 0, 'z': 0} ...
これでセンサーの値が取得できた