はじめに
RaspberryPi Pico W(ラズパイ ピコ)でMicroPythonを使って、Pico W 本体のLEDを光らせる方法を解説します。
本家のチュートリアルでも紹介されていますが、無線LANへの接続がメインでコードも長いため、LED操作に限定して短いコードで解説します。
~ この記事の内容 / Contents ~
環境
この記事で使用する環境は以下のとおりです。
環境 | 内容 | バージョン・備考 |
開発用PCのOS | Windows11 | Windows10でもOKです |
言語 | MicroPython | |
ライブラリ | picozero | |
開発環境 | Thonny | Ver. 3.3.13 |
ボード | RaspberryPi Pico W |
※ Pico W のセットアップ方法について、別途記事を作成予定です。
RaspberryPi Pico W との接続
配線は不要です。RaspberryPi Pico W 本体に搭載されているLEDを使用します。
Pico W ピンアサイン(Pin-Out)
※ Pico W公式サイトより引用
使用する部品
Pico W 本体
Raspberry Pi Pico W本体です。技適対応品かどうか心配…という方は、以下のページで出品者を「共立エレショップAセレクト」(国内の有名ショップ)にして購入してください。
USBケーブル Micro-B
本体にUSBケーブルが付属していないので、別途購入が必要です。PicoW側の形状は「Micro-B」、ひと昔前のスマホと同じタイプを使います。現在主流のTypeCではないので注意が必要です。
公式ライブラリ「picozero」
「picozero」について
picozeroは、RaspberryPi Pico/Pico W でLEDやモーターなど、一般的な電子機器を使うための初心者向けのライブラリです。
RaspberryPi財団公式のGitHubで公開されており、誰でも無料で使うことができます。初期リリースが2022年3月なので新しいライブラリです。
「picozero」のインストール手順
開発環境である「Tonny」でインストールします。手順は以下の通りです。
Thonnyを起動し、上部メニューの「ツール」→ 「Manager Packages…」をクリックします。
表示された画面の検索ボックスに「picozero」と入力します。
表示された「picozero」をクリックします。
picozeroの内容が表示されたら「インストール」ボタンを押します。
「INSTALL」の下にpicozeroが表示されていれば、picozeroのインストールは完了です。
プログラム概要
今回のプログラムの概要は以下の通りです。
- 本体LED用のオブジェクトを取得する。
- LEDを操作する。
実行結果
後述するプログラムを実行すると、以下のようにPicoW 本体のLEDを1秒間点灯させることができます。
全体コード
全体コードは以下の通りです。詳細な内容は後述する「コードのポイント」で解説します。
from picozero import pico_led
import time
# pico w 本体のLEDを点灯します
pico_led.on()
# 1秒待機します。
time.sleep(1)
# pico w 本体のLEDを消灯します
pico_led.off()
Pico/Pico Wだけ(PCなし)でプログラムを実行する場合は、ファイル名を「main.py」にして、Pico/Pico W本体に保存してください。
コードのポイント
本体搭載LED用オブジェクトの取得
ライブラリから、本体搭載のLEDのオブジェクトを取得します。ピン番号等の設定は必要ありません。
from picozero import pico_led
import time
LEDの操作
on/off関数を使って、LEDを操作します。
# 1秒待機します。
time.sleep(1)
# pico w 本体のLEDを消灯します
pico_led.off()
【参考】machineモジュールを使う
従来の「machine」モジュールでもPico Wの本体LEDを操作できます。
machineモジュールで使用する場合は、Pinのコンストラクタで「”LED”」という文字列を指定してください。
import machine
import time
led = machine.Pin("LED", machine.Pin.OUT)
# pico w 本体のLEDを点灯します
led.on()
# 1秒待機します。
time.sleep(1)
# pico w 本体のLEDを消灯します
led.off()
まとめ
RaspberryPi Pico WでMicroPythonを使って、Pico W 本体のLEDを光らせる方法を解説しました。「picozeroってなに?」「Pico W 本体のLEDを使いたい」という方の参考になればうれしいです。
お知らせ
MicroPythonのプログラミングガイドブックが遂に発売!
「MicroPython」の本が遂にでました。
この一冊で、MicroPythonの言語仕様から、プログラミングの仕方まで”ガッツリ”学べます!。
内容は、普段別言語で開発している人や、これからマイコンを始める(工学系の)学生を対象としているので「初心者向け」ではありません。しかし、「自前のライブラリの作成」が目標なので、これ一冊で「ガッツリ」とMicroPythonを学ぶことができます。
全ての内容はここでは紹介しきれないので、詳細は以下のAmazonページをご覧ください。目次だけでも”ガッツリ”なのが確認できると思います。
Pico/Pico W関連のおすすめ本
RaspberryPi Pico / Pico W関連のおすすめ本を独断と偏見で3つ選んでみました。Picoやるならとりあえずこれ買っとけ的な本や、電子工作全般で使える本などを厳選しています。
質問・要望 大歓迎です
「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。
使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。
はじめまして
埼玉県に住んでる
浜田と申します
参考にさせてもらいラズベリーパイを9/21からはじめてみました
大変参考になっております
うまくいかない箇所がありまして
ご教示おねがいできたら
たすかります
直接メールでおねがいできたら
うれしいです
Pico zeroをThonnyにインストール
した後ThonnyにLED点滅プログラムを書きこみRANするとエラーが出ます
from picozero import pico_led
import time
pico_led.on()
time.sleep(1)
pico_led.off()
シェルに下記エラーが出てしまいます
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot
Traceback (most recent call last):
File “”, line 1, in
ImportError: no module named ‘picozero’
>>>
pico zeroをThonnyの
ローカルPython3にインストールしました
MicroPython(Rasqberry pi pico)・Board CDCにインストールしようと検索しても出てこなかったのでローカルにインストールしました
すいませんなにか教えてもらえたら
助かります
よろしくお願いします
hamadaさん
コメントありがとうございます、えすです。
Pico Wデビュー、おめでとうございます。参考にしていただきうれしいです。
エラーについてですが、
すみません。記事中に「インタプリタの設定」が抜けていました。
『PCとPico WをUSBでつないだ状態』で以下の設定を試してみてもらえますでしょうか?
1. Thonnyの「ツール」→「オプション」→「インタプリタ」のタブで、「MicroPython(RaspberryPi Pico)」を選択
2. 同じ画面の「ポート」の項目を設定( 例: USBシリアルデバイス COM4 )
3. OKボタンで画面を閉じる
4. 「ツール」→ 「パッケージの管理」で「picozero」を検索
5. 以降、記事に従いインストールを実施。
Pico Wを接続していない、ポートの設定をしていない場合は「パッケージの管理」自体が
押せなくなるため「Pico Wの接続」「ポートの設定」は必ず行ってください。
上記の手順で検索に表示されない場合は、Thonnyを最新版にアップデートしてみるのも良いかもしれません。
その他、不明点。うまくいった/いかない。などあれば、お気軽にコメントしてくださいね。
おいそがしいところ
返信ありがとうございます
うれしいです
Pythonのバージョンは4.1.2です
教えて頂いたインタプリタの設定は設定してありました
MicroPython(Rasqberry Pico)
Board CDC@COM3
Thonnyの画面上にPicoに保存したファイルが見えてますので接続は大丈夫かと思います
picozeroiインストールについて教えてください
PicoWとPCをつないでThonnyから
ツール、パッケージ管理を開いて
picozero pyplで検索すると
検索できないようなメッセージが出て
インストールできません
インプリタの設定は
MicroPython(Rasqberry Pico)
Board CDC@COM3になっております
インプリタの設定が
ローカルPython3 ThonnyのPythonの時はpicozero 検索するとサーチして出てインストールできました
何種類かのプログラムをRUNすると
シェルの先頭に
MPY:soft rebootがでます
PicoWのPythonファームウエアーがうまく書けてないのでしょうか
PicoWに書いたファームウエアーを一度削除する方法はあるのでしょうか。
一度削除してPythonを書き直したいと思っております
素人の憶測で話してすいません
お手数ですが検討お願いします
浜田さん
えすです。確認ありがとうございます。
インタプリタは設定済みとのことで、失礼しました。
追加で以下の情報を教えてもらえないでしょうか?
1. ThonnyをインストールしているPCのOS
Win11,10, Mac, Linuxなど、何を使われていますか?
2. デバイスマネージャの確認
Windowsを使われている場合、デバイスマネージャでBoard CDCに「!」マークが表示されていないですか?
3.ネットワーク
接続先が制限されるような環境(職場・学校など)でThonnyを使われていますか?
(検索が制限される可能性があるので、使っている/いないだけでOKです)
4 検索失敗のメッセージ
検索できない場合に表示されるメッセージの内容を教えていただけないでしょうか。
色々聞いてしまってすみません、よろしくお願いします。
お世話になります
返信ありがとうございます
①Win10Home
②デバイスマネージャ
ポート(COMとLPT)
USBシリアルデバイス(COM3)
表示あります
認識できてそうです
③職場PCです
④Could not fetch search results
(urlopen error
(SSL:CERTIFI_VERIFY_FAILED)
certific are verify failert
certificate has expired
ssl.c:1007)
try opening packarge directhy
picozero
すみません
よろしくお願いします
浜田さん
えすです。確認ありがとうございます。
その内容のエラー(セキュリティの認証関連)、かつ、職場PCという事であれば、
手動でpicozeroをインストールするのが一番早いかもしれません。
以下の手順で試していただいてもいいでしょうか?
1. 以下のページ(RaspberryPi財団公式のGitHub)を開く
https://github.com/RaspberryPiFoundation/picozero/blob/main/picozero/picozero.py
2. コードの右上の、下矢印のボタンでダウンロードする。
3. Thonnyでダウンロードした、picozero.py開く
4. メニューで名前を付けて保存を選択する。
5. 保存先を、Raspberry Pi Pico にする。
6. ファイル名を「picozero.py」の名前で保存する。
7. thonnyで、picozeroをインポートしているコードを実行。
import エラーが出ないことを確認する。
※ 文字のみですみません。後日画像付きで記事に手順を追加します。
お世話になります
教えて頂いた手動インストールできました
本当にありがとうございます
これから、色々書いてテストしていきます
教えて頂きたいことがあります
thonnyでpicoWに色々書くときに
picoW用の言語教本や
テストプログラム
ようなものはRaspberryPi財団公式に
あるのでしょうか
お手数ですが時間のある時に教えて下さい
LED点滅できました
本当にありがとうございます
浜田さん
えすです。コメントありがとうございます。
手動インストールできたとのことで、安心しました。記事にも手順を追加しておきます。
公式の教本は、短いですが以下のページに、
LED・GPIO・PWMのチュートリアルが載っています。
https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico/0
※ 英語ですが、Google翻訳が使えます。
テストプログラムはGitHubの以下の場所に、MicroPythonのサンプルがまとまっています。
https://github.com/raspberrypi/pico-micropython-examples/tree/master
いろいろと使っていく上で、ハマるポイントなどあるかもしれませんが、
その際は、お気軽にコメントしてくださいね。
教本情報ありがとうございます
本当にありがとうございます
がんばって進めていきます
また不明点が出たら教えてください
よろしくお願いします