Python Raspberry Pi Pico プログラム 回路 電子工作 高専3年生

【Raspberry Pi Pico入門⓪】Raspberry Pi Pico Wのセットアップ【Thonny】

この講座では、Raspberry Pi Pico W を使ってマイコン制御を学んでいきます。

初回のテーマは、電子工作の定番「Lチカ(LEDの点滅)」。

マイコンの基本的な使い方を学びながら、自分でプログラムを動かす体験をしてみましょう!

開発環境の準備

Thonny をインストール

PythonでPico Wをプログラミングするために、Thonny(トニー) という開発環境を使います。

  1. Thonnyの公式サイトにアクセスします。
  1. WindowsまたはMac用のインストーラーをダウンロードします。
  1. インストーラーを実行してインストールします。

以下のようなウィンドウが立ち上がれば大丈夫です。

Raspberry Pi Pico W に MicroPython を書き込む

  1. Pico W の BOOTSEL ボタンを押しながら、USBケーブルでPCに接続します
  1. 新しいドライブとして「RPI-RP2」が表示されます。
  1. MicroPythonのダウンロードページから .uf2 ファイルをダウンロードします。

https://micropython.org/download/RPI_PICO_W/

  1. このファイルを「RPI-RP2」にドラッグ&ドロップします。

これで Pico W に MicroPython がインストールされます。

オンボード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番ピンにつながっています)を使っても同じ動作になります:

電源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用のファームウェアを書き込みなおしてください。

外部LEDの点灯

ブレッドボードを使い、外部LEDをつないで光らせてみましょう。

ブレッドボードは以下のように内部でつながっています。

下の図のように電源ラインとGNDラインをあらかじめ引いておくと今後の回路製作が簡単になります。

16番ポートに330Ωの抵抗をつなぎ、さらにLEDをつなぎます。

以下のプログラムを書き込み、LEDが1秒間隔で光れば完了です。

from machine import Pin
import time

led = Pin(16, Pin.OUT)

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

コードの解説:

  • Pin(16, Pin.OUT):GPIO16を出力モードに設定
  • led.value(1):LEDを点灯
  • led.value(0):LEDを消灯
  • time.sleep(1):1秒待つ

以上です。

次回から色んな回路、プログラムをどんどん作ってゆきます。

次回はこちら

comming soon

Follow me!

-Python, Raspberry Pi Pico, プログラム, 回路, 電子工作, 高専3年生
-, , , , ,

PAGE TOP