ラベル pyserial の投稿を表示しています。 すべての投稿を表示
ラベル pyserial の投稿を表示しています。 すべての投稿を表示

2021年2月16日火曜日

MicroPythonを使用してUSBシリアルで送信した文字列をmicro:bitのLEDマトリックスに表示する

micro:bitはMicroPythonでプログラミングする事もできます。MicroPythonを使用してUSBシリアルで送信した文字列をmicro:bitのLEDマトリックスに表示するには、以下の手順を実行します。

実行手順

1.pipenvのインストール
pipenvをインストール済みでない場合は、以下のコマンドでインストールします。
sudo dnf -y install python3

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

2. pyserialのインストール
以下のコマンドでpyserialをインストールした仮想環境を作成します
mkdir -p ~/pyserial

cd ~/pyserial

pipenv --python 3

pipenv install pyserial

pipenv shell

3. PC側送信プログラムの保存
以下をsend_message.pyとして保存します。
import serial

try:
  ser = serial.Serial('/dev/ttyACM0',115200,timeout=None)
  ser.write(b"microbit sample")
finally:
  ser.close()

4. micro:bitとPCを接続して、Thonnyなどで以下のプログラムをmain.pyとして保存します。
from microbit import *

uart.init(115200)
display.show(Image.HEART)
while True:
    line = uart.readline()
    if line is not None:
        display.scroll(line)
    if button_a.is_pressed() and button_b.is_pressed():
        display.clear()
        break
    sleep(100)
uart.init(115200)

プログラムをmicrobitに保存後、Thonnyを閉じておきます(※受信プログラムを使用せずにUSBシリアルの出力を見たい場合は、閉じないでおきます)
Micro:bitが反応しなくなった場合は「ThonnyからMicoPythonのプログラムをmicro:bitに転送する設定」の手順でMicroPythonを再インストールします。

5. PC側の送信プログラムの実行
シェルで以下を実行後、micro:bitのLEDマトリックスに文字列が表示されることを確認します。AボタンやBボタンを押したときのメッセージが表示されることを確認します。最後にAボタンとBボタンを同時押してmicro:bit側のプログラムを終了します。
python send_message.py

関連情報

・Thonnyに関する記事は、こちらを参照してください。

・Micro:bitに関する記事は、こちらを参照してください。

2021年2月6日土曜日

micro:bitの加速度センサーの3軸の値をMicroPythonを使用して取得・USBシリアルで送信する

micro:bitはMicroPythonでプログラミングする事もできます。micro:bitの加速度センサーの3軸の値を取得してUSBシリアルで送信して、PCで受信するには、以下の手順を実行します。

実行手順

1.pipenvのインストール
pipenvをインストール済みでない場合は、以下のコマンドでインストールします。
sudo dnf -y install python3

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

2. pyserialのインストール
以下のコマンドでpyserialをインストールした仮想環境を作成します
mkdir -p ~/pyserial

cd ~/pyserial

pipenv --python 3

pipenv install pyserial

pipenv shell

3. PC側受信プログラムの保存
以下をoutput_accelerometer.pyとして保存します。
import serial

try:
  ser = serial.Serial('/dev/ttyACM0',115200,timeout=None)
  while True:
    line = ser.readline()
    ary = line.decode('utf-8').strip().split(',')
    if len(ary) == 3:
      print(ary)
finally:
  ser.close()

4. micro:bitとPCを接続して、Thonnyなどで以下のプログラムをmain.pyとして保存します。
from microbit import *

uart.init(115200)
display.show(Image.HEART)
while True:
    values = "{},{},{}".format(accelerometer.get_x(), accelerometer.get_y(), accelerometer.get_z())
    uart.write(values + "\n")
    if button_a.is_pressed() and button_b.is_pressed():
        display.clear()
        break
    sleep(100)
uart.init(115200)

プログラムをmicrobitに保存後、Thonnyを閉じておきます(※受信プログラムを使用せずにUSBシリアルの出力を見たい場合は、閉じないでおきます)
Micro:bitが反応しなくなった場合は「ThonnyからMicoPythonのプログラムをmicro:bitに転送する設定」の手順でMicroPythonを再インストールします。

5. PC側の受信プログラムの実行
シェルで以下を実行後、micro:bitのAボタンやBボタンを押したときのメッセージが表示されることを確認します。最後にAボタンとBボタンを同時押してmicro:bit側のプログラムを終了します。PC側のプログラムはCtrl+Cで終了します。
python output_accelerometer.py

関連情報

・Thonnyに関する記事は、こちらを参照してください。

・Micro:bitに関する記事は、こちらを参照してください。

2021年1月27日水曜日

micro:bitのA/Bボタンの状態をMicroPythonを使用して取得・USBシリアルで送信する

micro:bitはMicroPythonでプログラミングする事もできます。micro:bitのA/Bボタンの状態を取得してUSBシリアルで送信して、PCで受信するには、以下の手順を実行します。

実行手順

1.pipenvのインストール
pipenvをインストール済みでない場合は、以下のコマンドでインストールします。
sudo dnf -y install python3

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

2. pyserialのインストール
以下のコマンドでpyserialをインストールした仮想環境を作成します
mkdir -p ~/pyserial

cd ~/pyserial

pipenv --python 3

pipenv install pyserial

pipenv shell

3. PC側受信プログラムの保存
以下をserial_output.pyとして保存します。
import serial

try:
  ser = serial.Serial('/dev/ttyACM0',115200,timeout=None)
  while True:
    line = ser.readline()
    print(line)
finally:
  ser.close()

4. micro:bitとPCを接続して、Thonnyなどで以下のプログラムをmain.pyとして保存します。
from microbit import *

uart.init(115200)
while True:
    if button_a.is_pressed() and not button_b.is_pressed():
        display.show(Image.ARROW_W)
        uart.write("A button is pressed.\n")
    if not button_a.is_pressed() and button_b.is_pressed():
        display.show(Image.ARROW_E)
        uart.write("B button is pressed.\n")
    if button_a.is_pressed() and button_b.is_pressed():
        display.clear()
        uart.write("stop.\n")
        break
    if not button_a.is_pressed() and not button_b.is_pressed():
        display.show(Image.SMILE)
    sleep(500)
uart.init(115200)

プログラムをmicrobitに保存後、Thonnyを閉じておきます(※受信プログラムを使用せずにUSBシリアルの出力を見たい場合は、閉じないでおきます)
Micro:bitが反応しなくなった場合は「ThonnyからMicoPythonのプログラムをmicro:bitに転送する設定」の手順でMicroPythonを再インストールします。

5. PC側の受信プログラムの実行
シェルで以下を実行後、micro:bitのAボタンやBボタンを押したときのメッセージが表示されることを確認します。最後にAボタンとBボタンを同時押してmicro:bit側のプログラムを終了します。PC側のプログラムはCtrl+Cで終了します。
python serial_output.py

関連情報

・Thonnyに関する記事は、こちらを参照してください。

・Micro:bitに関する記事は、こちらを参照してください。