この講座では、Raspberry Pi Pico W を使ってマイコン制御を学んでいきます。
初回のテーマは、電子工作の定番「Lチカ(LEDの点滅)」。
マイコンの基本的な使い方を学びながら、自分でプログラムを動かす体験をしてみましょう!

開発環境の準備
Thonny をインストール
PythonでPico Wをプログラミングするために、Thonny(トニー) という開発環境を使います。
- Thonnyの公式サイトにアクセスします。

- WindowsまたはMac用のインストーラーをダウンロードします。

- インストーラーを実行してインストールします。
以下のようなウィンドウが立ち上がれば大丈夫です。

Raspberry Pi Pico W に MicroPython を書き込む
- Pico W の BOOTSEL ボタンを押しながら、USBケーブルでPCに接続します

- 新しいドライブとして「RPI-RP2」が表示されます。

- MicroPythonのダウンロードページから
.uf2
ファイルをダウンロードします。
https://micropython.org/download/RPI_PICO_W/

- このファイルを「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
に保存!
- Thonny でプログラムを書いたら、
[ファイル] → [名前を付けて保存] をクリック

- 「どこに保存しますか?」と聞かれたら
👉 Raspberry Pi Pico を選ぶ(PCではなくマイコン側)

- ファイル名を
main.py
にする

- 「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