クリエイター手抜きプロジェクト[648]IoT Raspberry Pi編 ラズベリーパイpicoをいじってみよう
── 古籏一浩 ──

投稿:  著者:



今回は、ラズベリーパイpicoをいじってみます。といっても、実際に動かすのはLED点灯するだけです。定番のLチカ(LEDチカチカの略)です。

ラズベリーパイpicoは、その名の通りラズベリーパイの一種です。ラズベリーパイには、いくつか種類があります。

・ラズベリーパイ
https://ja.wikipedia.org/wiki/Raspberry_Pi






現在多く利用され、出回っているものとしては3B+、Zero、4あたりでしょう。今回、新たにpicoが加わったことになります。ラズベリーパイpicoは550円と、大変低価格です。すでにある小型のラズベリーパイzeroも、低価格なのですが。

・ラズベリーパイ pico
https://www.switch-science.com/catalog/6900/


550円なので使い捨てみたいな用途にも使えます。が、ラズベリーパイpicoは、これまでのラズベリーパイA、3B、4、zeroとは異なり、パソコンのようにOSを入れて使うことはできません。

ラズベリーパイpicoは、組込み用のワンボードマイコンだからです。制御用のボードとして使う、ということになります。あと、入出力端子などを利用するためには、以下のピンヘッダーをハンダ付けする必要があります。

・Raspberry Pi Pico ピンヘッダキット
https://www.switch-science.com/catalog/6991/


ラズベリーパイ本体だけで、LED点灯させるならピンヘッダーは不要です。が、それだけだと何もできないので、やはりピンヘッダーは必要になります。

ただ、特定の入出力端子しか使わないなら、最低限必要な端子だけ、ハンダ付けすればOKです。

ということで、ラズベリーパイpicoを少しいじってみます。今回はMacBook Air(M1 chip)を使用しているため、他のOSや異なるバージョンでは、動作が違うことがあるかもしれません。

ラズベリーパイpicoを、USBケーブルで接続します。USB端子の形状はmicro USBで、USB Type Cではありません。

接続すると、デスクトップにRPI-RP2というドライブ(ボリューム)が表示されます。Finderの設定によっては、外部ディスクを表示しないようになっているかもしれません。その場合は、Finderの環境設定で「外部ディスク」を表示するようにしておきます。

表示されたRPI-PR2のドライブを開くと、以下の2つのファイルが表示されます。

INFO_UF2.TXT
INDEX.HTM

INFO_UF2.TXTの内容は、以下のようになっています。このファイルは必要ないので、無視しても構いません。

UF2 Bootloader v1.0
Model: Raspberry Pi RP2
Board-ID: RPI-RP2

重要なのは、INDEX.HTMファイルの方です。INDEX.HTMファイルには、開発を行うためのページにリンクするためのHTMLが書かれています。

INDEX.HTMファイルをダブルクリックすると、ブラウザに開発ページへの移動先のリンクが表示されます。

リンク文字をクリックします。現時点では以下のページにアクセスしても、同じ結果になります。今後、URLは変わる可能性もあるので、RPI-PR2のドライブ内にあるINDEX.HTMファイルを開いて、表示されるリンク先に移動するのが無難です。

https://www.raspberrypi.org/documentation/rp2040/getting-started/


ページを見ると、4つのタブがあります。開発言語はC/C++かMicroPythonを利用できるようです。スクリプトで手軽に作る場合はMicroPythonを使うのが良さそうです。

4つのタブの中に「Getting started with MicroPython」というのがあるので、それをクリックします。すると、どのようにすればよいのかを、アニメーションで表示してくれます。

アニメーションを見ると、「Download UF2 file」のボタンをクリックして、必要なファイルをダウンロードして、そのファイルをラズベリーパイpicoのドライブにコピーします。

それでドラッグ&ドロップしてコピーすると、エラーになってしまいました。どうやら、ラズベリーパイpicoを接続する場合に、ボード上の白いボタンを押したままにしないと書き込みができないようです。

再度白いボタンを押してから、ラズベリーパイpicoを接続します。ダウンロードしたファイルをドライブにドロップすると、今度は問題なくコピーされました。コピー後にRPI-RP2のドライブはアンマウントされます。つまり、ボリュームとして認識されなくなります。

ここまでは正常な動作なようです。準備ができたので、LEDを光らせてみます。こういうワンボードマイコン系では、定番のプログラムです。

それで開発ツールはどこかなとWebサイトを見ると、どうもラズベリーパイ3B,4で動作するRaspberry Pi OSだと、最初から開発環境であるThonny Python IDEが入ってるようです。

ところが、Macだとそんなのは入っていません。Macで使用するためには、以下のサイトから開発ツールをダウンロードしないと駄目みたいです。

https://thonny.org


ダウンロードすると、thonny-3.3.6.pkgという名前のインストーラーパッケージがあるはずなので、起動して、手順にしたがってインストールします。

インストールしたら、アプリケーションフォルダにあるThonny.appを起動します。

最初に言語とデバイスを選択する画面になるので、言語を日本語に、デバイスで(Initial settingsの項目)Raspberry Piを選択し「Let's go!」ボタンをクリックします。すると、プログラムを入力するウィンドウが表示されます。

次に、オプションを設定します。ツールメニューからOptions...を選択します。設定ダイアログが表示されるので、インタプリタのタブをクリックします。

実行デバイスを、セレクトメニューから選択します。今回はラズベリーパイpicoなので、MicroPython(Raspberry Pi Pico)を選択します。

PortはBoard in FS mode〜という項目があるので選択します。これで準備OKです。あとは、以下のプログラムを入力します。

machine.Pin(25, machine.Pin.OUT) .value(1)

実行ボタンをクリックします。保存していないと、ダイアログが表示されます。ファイルを保存したら再度、実行ボタンをクリックします。

問題がなければ、ラズベリーパイpicoの基板上の緑色のLEDが光るはずです。消灯する場合は以下のようにします。

machine.Pin(25, machine.Pin.OUT) .value(0)

ちょっとやってみようかなと思った人は、以下のサイトからテキストをダウンロードして学習してみるとよいでしょう。英語のテキストですが、英語がわからなくても分かる感じに書かれています。

簡単なLED点灯・消灯・タイマー処理からI2C,SPIの処理、温度計測・データロガー、そしてゲームまで解説されています。

https://hackspace.raspberrypi.org/books/micropython-pico/pdf


ただ、一度もラズベリーパイに触れたことがないのであれば、picoではなく3Bか4の方がいいでしょう。併用してpicoも使う方がよいのではないかと思います。


【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/


ラズベリーパイの4も数台購入してあるのですけど、いまだに電源も入れていません。それどころか、箱すら開けていない状態。3Bと比べてどのくらい高速になったか、体感してみたいところ。

他にもobnizのスターターキットも購入したものの未開封。こちらも時間ができれば、開封していじってみたいところ。最近、というかここ半年は、未開封のままになっているシロモノが多い……。

・創って学ぼうプログラミング
https://news.mynavi.jp/series/makeprogram


・8K/4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/


・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/