2020年1月3日金曜日

microbitとRaspberry PiでUSBシリアル通信を通してA/Bボタンの状態を取得する

microbitとRaspberry PiでUSBシリアル通信を通してA/Bボタンの状態を取得するには、以下の手順を実行します。

1. microbitで以下のようにMakeコードでプログラムを作成して、microbitに転送しておきます。

2. Raspberry Piでpyserialのインストール
※pipの場合
pip install pyserial

※pipenvの場合は、以下の手順を実行します
sudo apt-get -y install pipenv

mkdir serial-usb
cd serial-usb
pipenv --python 3.7
pipenv install
pipenv install pyserial
pipenv shell

3. Raspberry Piでプログラムの実行

serial-usb-microbit-button.py
import serial

try:
  ser = serial.Serial('/dev/ttyACM0',115200,timeout=None)
  while True:
    line = ser.readline()
    if line.decode('utf-8').strip() == 'button_a':
      print("Button A is pressed.")
    if line.decode('utf-8').strip() == 'button_b':
      print("Button B is pressed.")
finally:
  ser.close()

プログラムの実行
python3 serial-usb-microbit-button.py

0 件のコメント:

コメントを投稿