本書においては、これら共有のピンの使用を以下にまとめ、全サンプルプロジェクトで統一し、プログラムが見やすくなるよう、固定しています。
配置パターンは UART2個、SPI未使用、I2C1個、GPIO11個 ADC2個
UART0として使用
Pin GPIO Function
1 GPIO-0 UART-0 TX
2 GPIO-1 UART-0 RX
UART1として使用
Pin GPIO Function
6 GPIO-4 UART-1 TX
7 GPIO-5 UART-1 RX
I2C0として使用
11 GPIO-8 I2C-0 SDA
12 GPIO-9 I2C-0 SCL
GPIOとして使用
4 GPIO-2
5 GPIO-3
14 GPIO-10
15 GPIO-11
16 GPIO-12
17 GPIO-13
19 GPIO-14
20 GPIO-15
21 GPIO-16
22 GPIO-17
29 GPIO-22
ADCとして使用
31 GPIO-26 ADC-0
32 GPIO-27 ADC-1
6.Picoボード構成の改善、および電子回路工作の準備
Picoでビルド、書き込み、実行を行う場合、BOOTLSELボタンを押したまま、USBケーブルを抜き差して、電源を再投入します。PicoはBOOTSELボタンが押された状態で、電源が投入されるとマスストレージとして認識され、実行プログラム、その他ファイルの書き込みが可能となります。このため、プログラム開発の過程で、頻繁にUSBケーブルを抜き差しするようになります。これは、Picoボードにとって、接触等故障の原因となり、良い状況ではありません。
このため、リセットボタンをPicoに追加することで、USBケーブルの抜き差しをしないようにします。以下回路図です。
ピン番号30のRUNにプッシュスイッチを接続し、片方はGNDに接続します。RUNピンは内部でプルアップされているため、抵抗は不要です。このスイッチの名称をリセットスイッチとします。USBケーブルを抜き差しすることは、このリセットスッチを押すことと同じことになります。手順として、まずBOOTSELボタンを押したままにします、次にリセットスッチを押します。数秒してからリセットスッチを離します。最後にBOOTSELボタンを離します。これで、Picoはマスストレージモードになります。
以降の章で述べます各種のプロジェクトでは、各回路の作成が必要になります。これは一般的には、ブレッドボードにピンヘッダー、ジャンパーワイヤー等で配線しますが、繰り返し使用できる、半田付けが不要等のメリットはあります。ただ、作成した回路、作品を長期保存し、いつでもデモできるという点では、不便です。場合によっては、基板に配線し、部品を半田付け、作品として永久に保存することをお勧めします。また、以下アマゾン、秋月電子等では、各種の基板セットが入手できます。
アマゾン
"Quimat 35枚 ユニバーサル基板 両面 PCB回路基板
実験プレート DIY はんだ付け 電子工作 QY21"
秋月電子通商
"https://akizukidenshi.com/catalog/c/cuboard/"
配線材
アマゾン
"サンハヤト ジュンフロン(R)ETFE電線 AWG30-100m:緑"
被覆剥きストリッパー
アマゾン
"ホーザン(HOZAN) ワイヤーストリッパー 極細線用 P-963"
単線AWG34~26
より線AWG34~28
半田ごて、および、こて台
アマゾン
"白光(HAKKO) ダイヤル式温度制御はんだこて FX600-02"
"白光(HAKKO) こて台 FX-600/FX-601/PRESTO/DASH用 633-01"
半田
アマゾン
"白光(HAKKO) HEXSOL 巻はんだ 精密プリント基板用 150g FS402-02"
成分:すず60%/鉛40%
線径:Φ0.8mm
半田吸い取り線
アマゾン
"goot(グット) はんだ吸取り線 3mm幅 1.5m巻き CP-3015 日本製"
はんだ吸取り器
アマゾン
"エンジニア ハンダ吸取器 SS-02"
7.WindowsPCとPico間のUART接続
今後の新規プロジェクトでは、UARTポート経由で他コンピューター、機器と接続することが必要になる場合があります。Picoで温度ロガーを作成し、UARTポートでWindowsPCのCOMポートと接続し、データの送受信を行う、またはArduinoのUARTポートと接続し、コマンドのやり取りをする等。
各種のUSB-UART変換ケーブルが販売されていますが、すべて、Picoで動作するとはかぎりません。使用可能な電圧レベルの確認が必要です。PicoにおいてはUARTは3.3V動作となっています。また、USB to TTLシリアルケーブルは、3,3Vから5Vの接続が可能ですが、通常の変換ケーブルの使用は注意が必要です。Picoに5Vが加わり、破損する場合があります。この場合、3.3V―5Vのレベル変換が必要です。
レベル変換には、3.3Vから通常のRS232レベルに変換できるものと、指定の電圧に変換できるものがあります。RS232規格はDSUB9PINのコネクタで、一般産業用機器、PC等でのシリアル通信に従来から使用されております。
RS232C規格は、対ノイズ強化のため、不平衡伝送で、0Vレベルに対して+3~+25Vが論理"0"、-3~-25Vが論理"1"となっています。通常は±12~6Vのレベルです。
0-3.3VのRaspberry Pi PicoのGPIOを、直接、接続すると、Raspberry Pi Pico側が破損する可能性があります。シリアル通信のレベル変換モジュールが販売されており、
3.3V,5V系とRS232レベルへの変換
指定電圧でのレベル変換
の2種類のモジュールがあります。以下で入手できます。
3.3V,5V系とRS232レベルへの変換
3V, 3.3V, 5V系-RS232レベル変換基板 秋月電子通商
https://akizukidenshi.com/catalog/g/gK-06464/
指定電圧でのレベル変換
8ビット双方向ロジックレベル変換モジュール 秋月電子通商
https://akizukidenshi.com/catalog/g/gM-04522/
4ビット双方向ロジックレベル変換モジュール BSS138使用 秋月電子通商
https://akizukidenshi.com/catalog/g/gK-13837/
PicoをRaspberry PiのUART接続する等、3.3Vロジックのコンピュータが接続相手であれば特別のケーブル、レベル変換は不要です。
実際に筆者が動作確認した、3.3V対応のUSBシリアルケーブルは以下Adafruit社のケーブルです。スイッチサイエンス社から入手できます。
USB to TTL Serial Cable - Debug / Console Cable for Raspberry Pi
https://www.adafruit.com/product/954
4本のワイヤがあります
PC Raspberry Pi Pico
赤 5V > 5V
黒 GND > GND
白 RX < TX
緑 TX > RX
シリアル側はメスのピンヘッダーとなっており使いやすいです。このケーブルであればWindowsPCに直接接続できます。
このケーブルを接続するには、WindowsPCへのドライバーのインストールが必要です。
この段階ではUSB-UART変換ケーブルはまだ、PCに接続しません。以下Silicon Labのサイトからドライバーをダウンロードします。
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
ここから、CP210x Windows Driversをダウンロードします。
ダウンロードされたZIPファイルを解凍すると以下のフォルダーが作成されます。
この解凍後のフォルダからOSに応じたCP210xVCPInstaller_x64.exe、または
CP210xVCPInstaller_x86.exeをクリックして、インストールします。
正常に完了すれば、Windowsメニューの「設定」の「デバイスマネージャー」のポート(COMとLPT)に、以下のように表示されます。
コメントをお書きください