Pico W PR

【ラズパイピコ W 】RaspberryPi Pico W 本体LEDを使う方法【MicroPython 無線なし】

記事内に商品プロモーションを含む場合があります

はじめに

RaspberryPi Pico W(ラズパイ ピコ)でMicroPythonを使って、Pico W 本体のLEDを光らせる方法を解説します。

本家のチュートリアルでも紹介されていますが、無線LANへの接続がメインでコードも長いため、LED操作に限定して短いコードで解説します。

環境

この記事で使用する環境は以下のとおりです。

環境 内容 バージョン・備考
開発用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のLEDの位置を説明する画像
本体LEDの位置

Pico W ピンアサイン(Pin-Out)

Pico W公式サイトより引用

使用する部品

Pico W 本体

Raspberry Pi Pico W本体です。技適対応品かどうか心配…という方は、以下のページで出品者を「共立エレショップAセレクト」(国内の有名ショップ)にして購入してください。

¥1,622 (2024/04/14 21:45時点 | Amazon調べ)

USBケーブル Micro-B

本体にUSBケーブルが付属していないので、別途購入が必要です。PicoW側の形状は「Micro-B」、ひと昔前のスマホと同じタイプを使います。現在主流のTypeCではないので注意が必要です。

公式ライブラリ「picozero」

「picozero」について

picozeroは、RaspberryPi Pico/Pico W でLEDやモーターなど、一般的な電子機器を使うための初心者向けのライブラリです。

RaspberryPi財団公式のGitHubで公開されており、誰でも無料で使うことができます。初期リリースが2022年3月なので新しいライブラリです。

picozero公式ページ(Github)

https://github.com/RaspberryPiFoundation/picozero

「picozero」のインストール手順

開発環境である「Tonny」でインストールします。手順は以下の通りです。

Thonnyを起動し、上部メニューの「ツール」→ 「Manager Packages…」をクリックします。

Thonnyでpackage managerを開く場所を説明する画像

表示された画面の検索ボックスに「picozero」と入力します。

thonnyでpicozeroを検索する方法を解説する画像

表示された「picozero」をクリックします。

picozeroの選択方法

picozeroの内容が表示されたら「インストール」ボタンを押します。

インストールボタンの場所を説明する画像

「INSTALL」の下にpicozeroが表示されていれば、picozeroのインストールは完了です。

インストール完了を確認する方法

プログラム概要

今回のプログラムの概要は以下の通りです。

  • 本体LED用のオブジェクトを取得する。
  • LEDを操作する。

実行結果

後述するプログラムを実行すると、以下のようにPicoW 本体のLEDを1秒間点灯させることができます。

本体LEDの点灯時

全体コード

全体コードは以下の通りです。詳細な内容は後述する「コードのポイント」で解説します。

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を使いたい」という方の参考になればうれしいです。

お知らせ

今月号のInterfaceは『RaspberryPi 5』特集

3月25日発売のInterfaceは「RaspberryPi 5」特集!

実験などを通じた性能測定や特徴・変更点の解説。新規に追加されたI/Oボード「RP1」の特徴と謎。Pi5のはじめかたやLinuxコマンド入門などが特集されています。

Pico/Pico W関連のおすすめ本

RaspberryPi Pico / Pico W関連のおすすめ本を独断と偏見で3つ選んでみました。Picoやるならとりあえずこれ買っとけ的な本や、電子工作全般で使える本などを厳選しています。

見た目のいい工具をお探しの方へ

よく使うツールは『見た目』が重要。モチベもあがりますし、仲間との話のネタにもなります。以下のサイトは、デザイン性の高い工具が集めたサイトなので、興味がある方はぜひご覧ください。

質問・要望 大歓迎です

「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。

使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

POSTED COMMENT

  1. hamada より:

    はじめまして
    埼玉県に住んでる
    浜田と申します

    参考にさせてもらいラズベリーパイを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 検索失敗のメッセージ
           検索できない場合に表示されるメッセージの内容を教えていただけないでしょうか。

          色々聞いてしまってすみません、よろしくお願いします。

           

  2. 浜田 より:

    お世話になります
    返信ありがとうございます

    ①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 エラーが出ないことを確認する。

      ※ 文字のみですみません。後日画像付きで記事に手順を追加します。

  3. 浜田 より:

    お世話になります
    教えて頂いた手動インストールできました
    本当にありがとうございます

    これから、色々書いてテストしていきます

    教えて頂きたいことがあります

    thonnyでpicoWに色々書くときに
    picoW用の言語教本や
    テストプログラム
    ようなものはRaspberryPi財団公式に
    あるのでしょうか
    お手数ですが時間のある時に教えて下さい

    LED点滅できました
    本当にありがとうございます

  4. 浜田 より:

    教本情報ありがとうございます
    本当にありがとうございます
    がんばって進めていきます
    また不明点が出たら教えてください
    よろしくお願いします

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Index