うしこlog
公開: 2023/03/26

ラズベリーパイPicoのセットアップと使い方

今回の内容

 ラズベリーパイPico(ラズパイpico)は、Pythonで書けるマイコンです。ラズパイよりもさらに小型であり、GPIOにセンサやLEDなどの電子部品を接続して制御できます。 ただし、ラズパイとは違いWiFiは搭載されていない他、OSもなくGUIもありません。あくまでマイコンという点に注意が必要です。 また、通常のpicoに対してWiFiを搭載したPico Wという上位モジュールがあり、2023/3/27に日本で発売開始されました!

 > Pico Wについては「Pico Wのセットアップと使い方」をご覧ください。

 ラズパイpicoはラズパイよりも高精度にクロックが動作するため、より正確なタイマ制御やPWM制御ができる他、OSレスなので起動が非常に早いです。
picoの活用例として、私は熱帯魚用のライトや自動餌やり機などを作っております。さらにpico WではWiFiを使用できるので、ChatGPTなどのAI連携などもできます。
ここでは、ラズパイpicoのセットアップや使い方を説明していきます。


[目次]

ラズパイpicoについて

 ラズベリーパイpicoはARMのデュアルコアを積んだマイコンで、値段は700~800円ほどです。

[CPU, メモリ]
コアはARM CortexM0+プロセッサ、最大周波数は133MHz、SRAMは256KB、フラッシュメモリは2MBです。

[プログラム言語]
C/C++の他、MicroPythonと呼ばれるマイコン用のPythonで開発できます。

[GPIO]
電子部品等を接続できるGPIOは、下記画像のように26ピンあります。 PICやAVRと同様、SPIやI2C、ADC、PWMの機能を利用できます。
(画像はhttps://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.htmlより引用)

[電源]
電源は1.8~5.5Vのため低電圧で駆動できます。そのためACアダプタの他、電池駆動も可能です。

[その他]
注意としてはpico自体にはピンがついていないため、別売りの「20ピン」を2つ、あるいは「40ピンを1つ」買い、半田付けする必要があります。 そのため、秋月等では20ピンやラズパイ等との接続のためのmicroUSBケーブルなどが入ったセットや、ピン半田付け済みのpicoも売っています。

ラズパイpicoのピン配置
ラズパイpicoのピン配置

picoの開発環境構築

 MicroPythonで開発する上で必要なものは下記です。ラズパイは、MicroPythonで記述したプログラムをpicoに書き込むために必要となります。 WindowsPCでも開発はできますが、ドライバのインストールやSDKのインストール等が必要となりますので少々大変です。 そのため、より簡単なラズパイでの開発方法を紹介します。

 ラズパイを持っていない方は、この際に購入しておいて損はないと思います。どんなことができるか興味がある方は記事「ラズベリーパイ」をご覧ください。

必要なもの一覧

  1. ラズベリーパイ pico
  2. ラズベリーパイ (1,2,3,4どのモデルでも良い)
  3. micro-USB変換ケーブル x 2 (picoとラズパイの接続用、ラズパイの電源用)
  4. ACアダプタ5V (ラズパイ電源用)
  5. USB端子のついたマウスとキーボード (ラズパイ用)
  6. HDMI対応のディスプレイ (ラズパイ用)
pico開発に必要なもの
pico開発に必要なもの

 ラズパイを起動後に左上の地球ボタンを押してブラウザを開き、picoにMicroPythonを扱うためのUF2ファイルを公式サイトからダウンロードしておきます。
公式サイト: https://www.raspberrypi.com/documentation/microcontrollers/micropython.html

公式ページのMicroPythonページ
公式ページのMicroPythonページ
UF2ファイルのダウンロード
UF2ファイルのダウンロード

プログラムの開発と書き込み

ラズパイにpicoを接続

 picoのBOOTSELボタン(白いボタン)を押しながら、ラズパイのUSBポートに接続します。 BOOTSELボタンを押しながら接続することで、picoを書き込みモードにすることができます。 なお、押さない場合はプログラム実行モードとなります。 ただし、購入時のpicoにはプログラムは書き込まれていないため、自動的に書き込みモードになります。

BOOTSELを押しながらラズパイに接続
BOOTSELを押しながらラズパイに接続

 picoをラズパイに接続すると、ラズパイの画面に「リムーバブルメディアが挿入されました」というウィンドウが出るため、「ファイルマネージャで開く」を選択しOKを押します。
もしウィンドウが表示されない場合は、picoを外して再度BOOTSELを押しながらラズパイに接続します。

「ファイルマネージャで開く」を選択しOK
「ファイルマネージャで開く」を選択しOK

 先ほどダウンロードしたUF2ファイルを、ドラッグ&ドロップでpicoにコピーします。

picoへのUF2ファイルのコピー
picoへのUF2ファイルのコピー

プログラミング

 MicroPythonでプログラミングするために、開発環境IDEであるThonnyを起動します。
ラズパイ画面の左上「ラズパイマーク」、「プログラミング」、「Thonny Python IDE」の順で起動できます。

Thonny起動
Thonny起動

 Thonnyを起動した後、右下が「MicroPython(Raspberry Pi Pico)」であることを確認します。 「MicroPython(Raspberry Pi Pico)」以外の場合には、その箇所をクリックして選択して下さい。

MicroPythonの確認
MicroPythonの確認

 +ボタン(Newボタン)を押して、プログラミングしていきます。 ここでは、picoに付属のLEDを点滅させる下記プログラムを記述してみます。

import machine
import time

led = machine.Pin(25, machine.Pin.OUT) # GPIO25(LED)を出力モードに設定

while True:
    led.value(1)  # output HIGH
    time.sleep(1) # sleep 1s
    led.value(0)  # output LOW
    time.sleep(1) # sleep 1s
Thonnyでのプログラミング
Thonnyでのプログラミング

 RUNボタンを押して、ラズパイに接続されているpicoにプログラムを書き込みます。

RUNボタンによる書き込み
RUNボタンによる書き込み

 保存先を聞かれるので、「Raspberry Pi Pico」を選択します。
もし、ラズパイにも保存したい場合には「This computer」を選択して保存することもできます。

保存先としてPicoを選択
保存先としてPicoを選択

 保存ファイル名を聞かれるので、Picoに保存する際には必ず「main.py」を選択します。
理由としては、picoでは電源投入後に「main.py」という名前のファイルが自動実行される仕組みだからです。 また、直接起動する必要がないクラスファイル等の場合には、main.py以外の名前に下さい。

main.pyとして保存
main.pyとして保存

 無事にpicoにプログラムを書き込み完了すると、picoのLEDがチカチカするはずです。
チカチカしない場合は、プログラムに間違いがないか、またラズパイとpicoの接続を見直して下さい。

picoのLチカ
picoのLチカ

 無事にプログラム書き込み完了したら、Thonnyの「STOP」ボタンでpicoが実行しているプログラムを停止した後にラズパイとpicoを接続しているmicroUSBケーブルを抜いて下さい。 これで、picoのプログラム開発は完了です。
実際に使う場合にはラズパイは必要なく、picoに電源を直接供給だけでLEDがチカチカするはずです。
では、楽しいラズパイpicoライフを!

ラズパイPico Wのセットアップと使い方へ >>