【Python】Raspberry pi Pico でシリアル通信

ちょっとシリアル通信が必要になって、Raspberry pi Pico でテストしたときの備忘録

接続

Raspberry pi Pico と秋月電子で売っている「超小型USBシリアル変換モジュール」を接続します。

「超小型USBシリアル変換モジュール」はPCとUSBケーブルで接続します。

Raspberry pi Pico は複数のUARTを持っていますが、ここでは、UART0(default)を使用します。

Raspberrypi picoUSBシリアル変換モジュール
Pin1 : UART0 TxDRxD
Pin2 : UART0 RxDTxD
Pin3 : GNDGND
上記のように接続

超小型USBシリアル変換モジュールは、FTDI社製のFT234Xを使用している超小型モジュールです。ドライバは、こちらからダウンロードします。

プログラム

Raspberry pi pico へのプログラムは、Thonny を使って、micro python で行います。

Raspberry pi pico の Boot ボタンを押しながらPCに接続して、ドライバをインストールします。

受信プログラム

Raspberry pi pico で信号を受信するプログラムです。

以下のコードを入力します。

from machine import Pin, I2C, UART
import time

# UART初期化
# UART番号とボーレートの設定
uart = UART(0, 9600)

print("Start!")
for i in range(1000):
    buf = uart.read(1)
    print(buf)
    
    time.sleep_ms(100)
    
uart.write("All Done\r")
print("ALL DONE")

Thonny でプログラムをRUNをして、Teratermなどから文字を入力すると、Thonny のShell画面に入力した文字が表示されます。

送信プログラム

次は、送信するコードです。

次のコードを入力します。

from machine import Pin, I2C, UART
import time

# UART初期化
# UART番号とボーレートの設定
uart = UART(0, 9600)

print("Start!")
cnt = 0
for i in range(20):
    uart.write("Counted !!   No." + str(cnt) + "\r")
    print("write done")
    cnt = cnt + 1
    time.sleep_ms(1000)
    
uart.write("All Done\r")
print("ALL DONE")

コードを実行すると、1秒毎に計数された数がThonny から送信され、Teraterm でその様子を確認できます。

さいごに

Raspberry pi pico でも簡単にシリアル通信ができます。

参考

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です