【ラズパイピコ】Raspberry Pi Pico Wの初期設定からLチカするまでの方法(MicroPython)

その他

【ラズパイピコ】Raspberry Pi Pico Wの初期設定からLチカするまでの方法(MicroPython)

Wi-Fi機能が付いているRaspberry Pi Pico Wを、MicroPythonというプログラミング言語で動作させる状態に設定する手順をご紹介します。
設定後に通称「Lチカ」と呼ばれているプログラム初歩のLEDをチカチカさせるコードを実行してみたいと思います。

私は普段メカ屋として仕事を行っており、ソフトは独学で且つ初心者なので、説明が至らないところもあるかと思いますがご容赦下さい。

Raspberry Pi Pico W(ラズベリーパイ ピコ W)

今回使用するRaspberry Pi Pico Wを簡単にご紹介します。

Raspberry Pi 「Pico」にはOSがなく、事前に書き込んだプログラムをひたすら繰り返すだけのものになります。

逆に「Pico」が付いていないRaspberry PiにはOSがあり、モニターがあれば通常のパソコンの様に操作が可能です。

また、PicoとそうでないRaspberry Piでは価格差が大きく、Picoはかなり安価に入手できます。
ここでは紹介していませんが、他のラインナップも存在しています。

Picoの中でも今回使用しているのは「W」が付いているもので、これはWi-Fi機能が備わっているものです。
Wとそうでないものでも価格差があり、Wi-Fi機能がある方が少しだけ高いので目的によって使い分けができます。

プログラミング言語「MicroPython」を使用するための初期設定

Raspberry Pi Pico Wとパソコン、USBケーブルを用意します。
BOOTSELと呼ばれるRaspberry Pi Pico W本体のボタン(写真①)を押しながら、パソコンに繋げたUSBケーブル(写真②)をRaspberry Pi Pico W本体に接続し、ケーブルが接続できればBOOTSELボタンを離します。
USBは先にRaspberry Pi Pico W本体に挿しておき、BOOTSELボタンを押したあとにパソコンに接続する方が行いやすかったです。

 

正しく接続できればパソコン上で「RPI-RP2」というドライブが表示されます。

 

そのドライブ内を確認すると2個の項目が表示されます。

 

インターネットに接続できる状態で、その中の「INDEX.HTM」を実行してRaspberry Pi公式HPのDocumentationページを開きます。
この方法でなくても下記から開くこともできます。
https://www.raspberrypi.com/documentation/microcontrollers/?version=E0C9125B0D9B

 

そのページの「MicroPython」を開きます。

 

そのページの「Raspberry Pi Pico W with Wi-Fi support」を押します。
使用するRaspberry Pi Picoの仕様が異なる場合は、適した項目を選択して下さい。

 

UF2 fileをダウンロードすることができます。

 

その「UF2 file」を「RPI-RP2ドライブ」にドラッグアンドドロップします。

 

コピーが完了するとRPI-RP2ドライブが勝手に閉じられますが、これでファームウェアが書き込まれたことになります。
これでプログラミング言語「MicroPython」が使用できるようになります。

Thonny(IDE/統合開発環境)の準備

「Thonny」というMicroPythonでプログラミングするための開発環境をインストールします。
下記リンクのページにて、ご使用になるパソコンに合わせた選択肢をクリックします。(Windows 等)
その後は表示に沿ってインストールを行います。
https://thonny.org/

Raspberry Pi Pico WをUSBケーブルでパソコンに接続します。
ここではBOOTSELボタンは押さずにUSB接続します

 

インストールしたThonnyを起動します。
ツールバーにて「実行」→「インタプリタ設定」を押します。

 

「MicroPython(Raspberry Pi Pico)」を選択します。

 

ポートに表示される「USBシリアルデバイス(COM□)」を選択します。

 

設定が問題なければThonny下部のシェル欄に、先ほど入れたUF2の名称が記載されているはずです。
これで使用する準備は完了しました。

お試しソースコードでLチカ(LEDチカチカ)

上記の設定が完了しているか確認するためにも、簡単なソースコードを入力して実行してみようと思います。
プログラミングの初歩として利用されることが多いLチカ(LEDをチカチカ点滅させる)です。
以下のソースコードをコピーしてThonnyにペーストして下さい。
(初心者の私がアレンジしているので至らない点もあるかもしれませんがご容赦下さい。)

import machine
import time

led= machine.Pin('LED', machine.Pin.OUT)
sw = rp2.bootsel_button

while (True):
    if sw() == 1:
        led.on()
        time.sleep(3)
        led.off()
        time.sleep(0.5)
    else:
        led.on()
        time.sleep(0.5)
        led.off()
        time.sleep(0.5)

【初心者向けの解説(メカ屋である私の解釈が入っています。)】
・初めの「import」でライブラリを読み込みます。
MicroPythonにある標準機能を使用するには、どの機能をこれから使用するかをここで宣言しないと使用することができません。

・4,5行目の「led=~~~」と「sw=~~~」は変数を決めています。
本来、ソースコード内で指示する必要があるのは=(イコール)以降の文字列ですが、何度も長ったらしい文字を打たなくて良い様に、同じ意味を持つ短い任意の文字列を設定できます。
これでソースコードもシンプルになり、且つ、内容を変更したい場合には変数を定めている部分のみ更新するだけで全てが一括で変更されたことになるので修正が楽になります。

・Raspberry Pi Pico本体のLEDは下記で指定できますが、Wi-Fi機能有無で異なります。
Wなし:GPIO25
Wあり:machine.Pin(‘LED’, machine.Pin.OUT))

・Raspberry Pi Pico本体のBOOTSEL ボタンは「rp2.bootsel_button」で指定できました。

・「while (True):」を記載するとそれ以下のプログラムを上から下の順で実行し、再度上に戻って永遠に繰り返し行われます。
ここではBOOTSEL ボタンが押されると「if sw() == 1:」以下が実行されて、それ以外であれば「else:」以下が実行されます。

Thonnyにペーストしただけの状態でも実行可能ですが、まずは「名前を付けて保存」を行います。

 

どこに保存するかを問われると思います。
ここでは「Raspberry Pi Pico」を選択します。

 

ファイル名を「main.py」にしてOKします。
末尾の「.py」は拡張子として決まっているので変更することはできません。
先頭の「main」は他のものでも問題ないのですが、「main.py」と保存したプログラムであればパソコン接続なしで、Raspberry Pi Picoに電源供給された時点で実行させることができます。
逆に「main」以外だとパソコンに接続してThonny等でソースコードを読み出してからでないと実行することができません。

 

ここから実際に動作をさせていこうと思います。

 

ツールバーの実行ボタンを押します。(緑色の再生マーク)

 

するとプログラムが実行されてLチカが開始されます。
本ソースコードではRaspberry Pi Pico本体のLEDが0.5秒間隔で点滅し、BOOTSELボタンを押すと3秒間点灯し、その後再度点滅に戻るという動作をします。

 

プログラムを停止したい場合はツールバーの停止ボタンを押します。(赤色のSTOP)
停止タイミングは押してすぐに適応されるので、場合によってはLEDが点灯状態で停止してしまうこともあります。
その後、使用する予定がなければUSBを抜いて電源供給を止めれば、当たり前ですがLEDを消すことができます。

まとめ

Raspberry Pi Pico Wを初期設定してからLチカさせるまでの手順をご紹介しました。
メカ屋の私でも取っ付きやすく、ソフトの勉強をするにはうってつけだと思います。

Raspberry Pi Picoは安価で、無料の開発環境も存在しているので初期投資もほとんどかかりません。

ソースコードの変更で動作を一瞬で変更できるので、自分の思い通りに動かせるようになると、より一層楽しくなると思いました。

Raspberry Pi Pico Wを利用して自宅インターホン呼出しをスマホにLINE通知させたので以下の記事もご覧下さい。
インターホンの呼び出し音が聞こえない場所にいてもスマホを持っていれば気付けるようになりました。

【ラズパイピコ】Raspberry Pi Pico Wでインターホン呼出しをスマホにLINE通知(スピーカー2階増設の代用)
Raspberry Pi Pico Wを利用して、自宅インターホンの呼び出しボタンが押された際にLINE通知が来るようにしてみました。室内機の呼び出し音が届かない場所(外出中含む)にいてもスマホを持っていればインターホンが鳴ったことに気付けるようになりました。

コメント

タイトルとURLをコピーしました