2022年4月22日金曜日

[Raspberry Pi 4] Python3 Pillow アップグレード

sudo pip3 install Pillow

pipでPillowをインストールしても5.4.1にしかならなかったのでpipをアップグレード

sudo python3 -m pip install --upgrade pip

そして

sudo python3 -m pip install --upgrade Pillow

を実行したら無事9.1.0になりました。

https://pillow.readthedocs.io/en/stable/installation.html



[Raspberry Pi 4] Python3 x Tkinter sys.exitが効かない

Tkinterで画像を表示させたりしてたら、いつの間にかsys.exit()が効かなくなった。


from PIL import Image,ImageTk
img = Image.open('test.png')
imgTk = ImageTk.PhotoImage(img)


PhotoImageの行をコメントアウトしたらsys.exitが有効になった。
でもPhotoImageは使いたいので、試しにsys.exit手前でimgTkを削除してみたら動いた。

del imgTk
sys.exit()

2022年4月18日月曜日

Python3 pySerialでのtimeoutミリ秒指定

timeoutは秒で指定しなきゃいけないから、小数点以下はダメだと勝手に思い込んでいたが問題ない。
https://pyserial.readthedocs.io/en/latest/pyserial_api.html
floatだったのね。
import serial
serialArduino = serial.Serial("/dev/ttyACM0", 115200, timeout = 0.16)

2022年4月8日金曜日

RaspberryPi4BにArduino2台をUSB接続

1台なら
serial.Serial("/dev/ttyACM0", 115200)
2台目は
serial.Serial("/dev/ttyACM1", 115200)
となる。

「0」と「1」は差し込む位置によって決まる。
RaspberryPi4Bだと
USB3上段→USB3下段→USB2上段→USB2下段
の順でチェックをしているのかも。

例)
ttyACM0とするArduinoをUSB3上段
ttyACM1とするArduinoをUSB2上段
にする。


2022年4月7日木曜日

Arduino Nano 33 BLE x IMU(LSM9DS1) x Madgwick

Arduino Nano 33 BLE x IMU(LSM9DS1) x Madgwickで「ROLL」と「PITCH」を取得してみたがどうも値の反応がおかしい。
Arduinoを90度の状態から0度に素早く動かしたりすると0度に戻るまで数秒かかったり90度以上の値になったりする。

色々調べてみると補正ゲインに設定されている値が原因っぽい。

MadgwickAHRS.cpp内のbetaDefを0.1fから5.0fほどに上げてみたら良さそうな感じ。
(値のばらつきは少し増えたけど。)