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
ライブラリのインストール
github.com
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}
...
これでセンサーの値が取得できた