ちょっとシリアル通信が必要になって、Raspberry pi Pico でテストしたときの備忘録
接続
Raspberry pi Pico と秋月電子で売っている「超小型USBシリアル変換モジュール」を接続します。
「超小型USBシリアル変換モジュール」はPCとUSBケーブルで接続します。
Raspberry pi Pico は複数のUARTを持っていますが、ここでは、UART0(default)を使用します。
Raspberrypi pico | USBシリアル変換モジュール | |
Pin1 : UART0 TxD | RxD | |
Pin2 : UART0 RxD | TxD | |
Pin3 : GND | GND |
超小型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 でも簡単にシリアル通信ができます。