TOPに戻る

Raspberry Pi Picoでプログラミング ② ラズパイ4の準備(2) 標準入出力の用意

標準入出力

 プログラムでprintfやscanfは標準入出力が使われます。ここでは、UART0ポートを通して利用します。

Pico UART0名称 Pico 物理的ピン番号 Pico GPIOピン番号 ラズパイの物理ピン番号
UART0_TX 1 GP0 10(Rx)
UART0_RX 2 GP1 8(Tx)
GND 3 GND 6(GND)

 UART(Universal Asynchronous Receiver/Transmitter)は、もともとRS-232Cなどの非同期シリアル通信用コントロールICの呼び名でした。RS-232Cの通信規格は10mとかケーブルを延ばせ、±12Vぐらいが使われるので、マイコン・ボード・レベルだと利用するのが大変です。ロジック・レベルで、制御端子をすべて捨て去ったのがこのUART端子です。信号は3.3V-0Vレベル、Tx(送信)とRx(受信)の2本で通信します。

 Txは通信相手のRxに、Rxは通信相手のTxにつなぎます。

 ラズパイのGPIO側の配線

 PicoはUARTは二つあります。上記のピンはUART0です。ケーブルを直接はんだ付けしました。

ターミナルのシェル

 ターミナル・ソフトminicomを、ラズパイにインストールします。

sudo apt install minicom

 接続ポートを確認します。

ls /dev

 /dev/serial0(UART0)もしくは/dev/serial1があると思います。

 デスクトップで右クリックして新規ファイル(New File)でファイル名をterm.shにします。テキスト・エディタで、

#! /bin/bash
minicom -b 115200 -o -D /dev/serial0

の2行を記述して保存します。

 term.shを右クリックし、一番下のPropertiesを選択します。
 PermissionsのタブのExcute(実行権)を下記のように変更します。

  起動するときは、アイコンをダブルクリックすると、小さなパネルが出るので、ターミナルで実行を選択すると、新しく起動したターミナルで通信ソフトminicomが動き出します。

Picoの準備

 C/C++でビルドしたファイルにxxx.uf2ができています(次回解説予定)。このファイルをデスクトップに表示されているRPI-RP2ドライブにドラッグすると、実行ファイルがコピーされ、Picoにリセットがかかってプログラムが動きます。

 RPI-RP2ドライブをデスクトップに出すには、

  • USBケーブルで、ラズパイとPicoをつなぐ
  • ラズパイのデスクトップにPico(PRI-RP2)をマウントするために、BOOTSELボタンを押したままUSBケーブルをつなげる(抜き差し)

の操作をします。しかし、抜き差しは片手ではできず不便です。

Resetスイッチを取り付ける

 RUN端子とGND間にタクト・スイッチをはんだ付けします。Resetボタンと呼ばれるようです。はんだ付けした反対側は接着剤で浮かないように留めます。

 Resetボタンを押したまま、BOOTSELボタンを押し、Resetボタンを離してから、BOOTSELボタンを離します。これでマウントができます。RPI-RP2というドライブ名です。

 Resetボタンは、BOOTSELボタン側と同じ面にも取り付けれます。マイコンIC側の足は切り取っておきます。

 Resetボタンに使われるタクト・スイッチは、短辺側がON/OFFされる接点です。長辺はそれぞれつながっています。

連載 Raspberry Pi Picoでプログラミング

(1) ラズパイ4の準備(1) USBブートの設定

(2) ラズパイ4の準備(2) 標準入出力の用意

(3) ラズパイ4の準備(3) LチカとHello, world!の実行

(4) ラズパイ4の準備(4) リモート環境の設定

(5) プログラミングの環境整備とLチカ

(6) Hello, World!

(7) 使用するピンと機能

(8) クロックの値の表示

(9) i2cscanner

(10) i2c APIと気圧センサLPS25

(11) i2c 温度センサTMP117

(12) i2c 湿度センサAHT20

(13) spi APIとA-DコンバータMCP3008

(14) spi A-DコンバータMCP3208

(15) gpioファンクション