Polivia Bot Python Raspberry Pi Pico プログラム ロボット制御 電子工作 高専3年生

【Poliviabot】【Raspberry Pi Pico】ロボット制御入門②Raspberry Pi Pico Wのセットアップ【Python】

本サイトでは様々な環境で気軽に本格的なロボット教育を行ってもらうべく、独自のロボット教材を開発しました。

現在、一般販売へ向けて準備をしております。

本Webページではβ版の先行体験をしていただく方向けに公開している資料になっております。

一般の方は販売をお待ちください。

前回はこちらです

1 この章の目的

この章では、PoliviaBot UMEに搭載した Raspberry Pi Pico W を起動し、 最初のプログラムを書き込み、モータを回すことをゴールとします。

ここで学ぶのは、

  • マイコンへのプログラム転送方法
  • GPIO出力の基本
  • モータドライバの制御原理
  • トラブルが起きたときの切り分け方法

です。

この章を終えると、

「ロボットの電子回路とプログラムがつながった」

という実感を持つことができます。

2 開発環境の準備

使用機材

  • Raspberry Pi Pico W
  • USBケーブル(データ通信対応)
  • PC(Windows / macOS / Linux)
  • PoliviaBot UME(組み立て済み)

使用ソフトウェア

  • Thonny(Python開発環境)
  • MicroPython(Pico W用ファームウェア)

3 MicroPythonの書き込み

Pico Wをブートモードで接続

  1. Pico Wの BOOTSELボタン を押しながらUSBケーブルをPCに接続
  2. USBメモリとして認識されることを確認

ファームウェアの書き込み

  1. MicroPython公式サイトからPico W用UF2ファイルをダウンロード
  2. UF2ファイルをPico Wのドライブにドラッグ&ドロップ
  3. 自動的に再起動されることを確認

4 Thonnyの初期設定

  1. Thonnyを起動
  2. メニュー:ツール → オプション → インタプリタ
  3. インタプリタに「MicroPython (Raspberry Pi Pico)」を選択
  4. ポートを自動または該当COMポートに設定

接続確認

Thonnyのシェルに以下が表示されれば成功です。

MicroPython vX.XX on 202X-XX-XX; Raspberry Pi Pico W
>>>

5 オンボードLEDでLチカ

Thonny を開いて、以下のコードを入力してみましょう。

Raspberry Pi PicoとThonnyを接続します。

右下の通信先をクリックし、MicroPython(Raspberry Pi Pico・Board CDC @COM〇〇)をクリックします。○○はPCによって違います。

from machine import Pin
import time

led = Pin("LED", Pin.OUT)  # オンボードLEDを制御するための設定

while True:
    led.value(1)  # 点灯
    time.sleep(1)
    led.value(0)  # 消灯
    time.sleep(1)

シェルにMPY: soft rebootと出れば接続できています。

再生ボタンを押してプログラムを実行します。

Raspberry Pi Pico のビルドインLEDが1秒周期で点滅すれば成功です。

補足:Pin("LED") の意味

Raspberry Pi Pico W では、"LED" という名前でオンボードLEDにアクセスできるようになっています。
これは MicroPython が Pico 用にあらかじめ用意してくれている便利な書き方です。

led = Pin(25, Pin.OUT)

上記のように GPIO番号(内部で25番ピンにつながっています)を使っても同じ動作になります:

6 電源ONで自動実行 Pico Wのプログラム保存方法

Pico W に書いたプログラムは、PCと接続してThonnyで再生ボタンを押したときだけ実行される状態のままだと、電源を入れ直しても動きません。

ですが、特定のファイル名で保存することで、USBを抜いて再び電源を入れても自動でプログラムが動作するようにできます。

自動実行させるには main.py に保存!

  1. Thonny でプログラムを書いたら、
     [ファイル] → [名前を付けて保存] をクリック
  1. 「どこに保存しますか?」と聞かれたら
     Raspberry Pi Pico を選ぶ(PCではなくマイコン側)
  1. ファイル名を main.py にする
  1. 「OK」ボタンを押す

電源を入れるとすぐに動く!

  • USBケーブルを抜いて、ロボットの電源を入れると、自動でLEDが点滅し始めます。
  • PCがなくても動作します。

工場出荷時に戻す方法

main.pyとして本体に保存し、プログラムに致命的なバグがあると、常にプログラムが動き続けてPC側からアクセスできなくなる場合があります。

その時はRaspberry Pi Pico Wを工場出荷時の状態に戻しましょう。

公式サイトにUF2ファイルが公開されています。

https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html#software-utilities

ページ下部にある、 Resetting Flash memoryからUF2File をダウンロードします。

Raspberry Pi Pico Wにあるプッシュスイッチを押しながらパソコンに接続します。

ダウンロードしたファイルをドラッグ&ドロップします。

少し待つと初期化されますので、再度Raspberry Pi Pico WのMicroPython用のファームウェアを書き込みなおしてください。

次回はこちら

Follow me!

-Polivia Bot, Python, Raspberry Pi Pico, プログラム, ロボット制御, 電子工作, 高専3年生
-, , , , ,

PAGE TOP