Raspberry Pi Pico / Pico W、小さくて可愛くて、眺めているだけでテンションが上がります。
さっそく遊んでみよう、といきたいところですが、、、
プログラミングはできるけど、電子工作はやったことがない
ラズパイPicoを買ってはみたものの使い方が分からない
そういった方、いらっしゃいませんか?
私がまさにそんな感じです。ラズパイの勉強の真っ最中です。
同じ境遇の方のお役に立ちたい、そんな思いからこの記事を書いています。
とにもかくにも、まずは開発環境の構築です。
開発環境の構築が終わったら、動作確認として電子工作界隈でのhello, worldである(?)「Lチカ」にチャレンジしたいと思います。
お付き合いいただけたら幸いです。
- ラズパイ Pico / Pico W を使える状態にセットアップする
- ラズパイ Pico / Pico W に付いているLEDを光らせる
ところで、「Lチカ」ってなんだ?
Lチカとは「LED」を「チカチカ」光らせること。
動作確認やはじめの一歩としてとりあえずやってみる儀式的なものです。
プログラミング経験者なら、新しい言語を使ってみるときの手始めに実装する「hello, world」プログラムと同じようなものと言えばしっくりくると思います。
プログラムが動いていることを目で見て確認できるから、楽しいでしょ?
この記事で使う部品
部品 | 個数 |
---|---|
Raspberry Pi Pico または Raspberry Pi Pico W 本体 | 1 |
USB ケーブル(micro B – A) | 1 |
すでに部品を持っている方は開発環境の構築に飛びましょう。
Raspberry Pi Pico / Pico W 本体
Raspberry Pi Pico または Raspberry Pi Pico W、どちらにもLEDが搭載されていますので、好きな方を選びましょう。
Raspberry Pi Pico
当サイトのオススメは在庫が豊富なseeed studioさんです。
あらかじめピンヘッダが実装されていて、サンプルプロジェクトやUSBケーブル、ピン配置が分かるシール&カードが付属する便利なセットもあります。
また、いろんな部品がてんこ盛りのセットもあります。一個一個買い集めるよりもかなり安く済むのでおススメです。
Freenoveさんはいろいろな部品をパッケージにして安く販売してくれるので愛用しています。
Raspberry Pi Pico W
2023年4月現在、Raspberry Pi Pico Wはどこのお店も品薄なので、見つけたら即購入です!
Pico と同様、あらかじめピンヘッダが実装されていて、サンプルプロジェクトやUSBケーブル、ピン配置が分かるシール&カードが付属する便利なセットもあります。
そのほか、配送料がかかってしまいますが、日本国内でPico Wを扱っている販売店さんもあります。
USBケーブル
USBケーブルは一般的な タイプAオス – マイクロB タイプのものを買いましょう。私はAmazonベーシックのものをよく買っています。ハズレが少ないです。
必要な部品がそろったら、開発環境の構築に移ります。
開発環境の構築
Thonnyのインストール
ホスト(プログラムを作成してPico / Pico Wに書き込むPC)にThonnyをインストールします。
Thonnyってなに?
ThonnyはPythonのプログラムを作成するための初心者向け統合開発環境です。
Pythonの実行環境を用意しなくてもThonny自体がPython実行環境を含んでいるため、簡単にPythonのプログラミングを始めることができます。
また、ラズパイPico / Pico Wで利用される「MicroPython」や「CircuitPython」にも対応し、ファームウェア(機器を動かすために必要な制御用のプログラム)や作成したプログラムをPico / Pico Wに簡単に転送できるので、このソフトだけで開発環境が整うのが魅力です。
ホストがラズパイの場合
親機がラズパイの場合は標準でThonnyがインストールされていると思いますが、Raspberry Pi OSのLiteバージョンやその他のOSを利用している場合は以下のコマンドでThonnyをインストールします。
$ sudo apt install thonny
ホストがWindowsまたはMacの場合
ホストがWindowsまたはMacの場合は、公式ページからThonnyをダウンロードしてインストールします。
ファームウェアの書き込み
次に、Pico / Pico Wにファームウェアを書き込みます。
ここではPico / Pico Wを使う上でもっとも一般的なファームウェアである「MicroPython」ファームウェアを書き込みます。
Pico / Pico WをUSBケーブルでホストと接続します。
Thonnyが起動したら、ウィンドウの右下をクリックし、「Install MicroPython」をクリックします。
以下のように設定し、「インストール」ボタンをクリックします。
Target volume | 末尾が「RPI-RP2」で終わるもの |
MicroPython variant | Raspberry Pi Picoの場合 → Raspberry Pi・Pico / Pico H Raspberry Pi Pico Wの場合 → Raspberry Pi・Pico W / Pico WH |
version | そのまま |
しばらくするとファームウェアの書き込みが完了するので、「閉じる」ボタンを押してファームウェアインストール画面を閉じてください。
ファームウェアの書き込みが終わったら、再びThonnyのウィンドウの右下をクリックして「MicroPython(Raspberry Pi Pico)」をクリックします。
Thonnyのシェルに”MicroPython~”と書いてあればファームウェアの書き込みが正常に完了し、使える状態になっています。
今後Pico / Pico Wを使うときは、Thonnyのウィンドウの右下をクリックして「MicroPython(Raspberry Pi Pico)」を選ぶだけでOKです。
Lチカしてみる
開発環境ができあがったので、Lチカしてみましょう!
Pico / Pico Wに内蔵されているLEDは、それぞれ GPIO25とWL_GPIO0に接続されています。このピンをHigh(電圧をかける)にすればLEDが光るはずです。
まずはLEDを光らせるだけのLチカをやってみます。
GPIOってなに?
GPIOは汎用入出力(General Purpose Input/Output)のことで、接続した部品の入力を受け取ったり、信号(電圧)を出力したりできるものです。
Raspberry Piなど、さまざまな機器に搭載されており、プログラムから簡単に入出力ができます。
例えば、GPIOの先にLEDが接続されている場合、GPIOを出力に設定してやればLEDが光ります。
また、センサーなどの部品をGPIOに接続し、GPIOを入力に設定すれば、センサーの値を受け取ることができます。
LEDを光らせるだけのLチカプログラム
コード作成
Thonnyを起動して、コードを作成します。
PicoとPico WでGPIOのIDが異なるので注意してください。
from machine import Pin
PIN_ID = 25
led = Pin(PIN_ID, Pin.OUT)
led.high()
from machine import Pin
PIN_ID = "WL_GPIO0"
led = Pin(PIN_ID, Pin.OUT)
led.high()
コードの違いはPIN_IDだけです。
入力し終わったらmain.pyというファイル名でPico / Pico W上に保存します。
「ファイル」→「保存」を選択し、ファイルの保存先として「Raspberry Pi Pico」を選択します。
main.py
という名前を付けて、「OK」をクリック
Thonnyのインストール直後だとデバイス上のファイルが表示されていないかもしれません。
それだと本当に書き込まれたかどうかが分かりませんので、「表示」→「ファイル」をクリックして、ファイルが表示されるようにします。
↓
ラズパイ Pico / Pico Wにmain.pyが書き込まれました。
Thonnyから実行
Thonnyの「現在のスクリプトを実行」ボタンをクリックするとプログラムを実行できます。
Pico / Pico Wをつないだ状態で「現在のスクリプトを実行」をクリック
実行すると基板上のLEDが光ります。
プログラムを書いてLEDを光らせることができました。感動です。
Pico / Pico W 本体だけで実行
さきほどのプログラムはmain.pyという名前でPico / Pico Wに書き込まれているので、もうホストがなくてもプログラムが実行されるようになっています。
試しにモバイルバッテリーやスマホの充電器に接続してみてください。LEDが光るはずです。
MicroPythonはmain.pyというファイルを最初に実行するので、先ほどのプログラムが動作しているのです。
(本当はboot.pyというファイルがmain.pyよりも先に実行されるのですが、それはまた別の記事で書こうと思います。)
LEDを点滅させる
コード作成
次はLEDを点滅させてみましょう。
点滅=オンとオフを一定時間で切り替える、ということなので、それをそのままプログラムにします。
コードはこんな感じです。
from machine import Pin
from time import sleep_ms # 追加
# Picoの場合
PIN_ID = 25
# Pico Wの場合
#PIN_ID = "WL_GPIO0"
led = Pin(PIN_ID, Pin.OUT)
# 無限ループ
while True:
led.high() # LED点灯
sleep_ms(500) # 500ms待機する
led.low() # LEDを消す
sleep_ms(500) # 500ms待機する
PicoとPico Wはピン番号が異なるので、Pico Wを使う場合は7行目のコメントを解除してください。
実行
実行するとこのようにLEDが点滅します。これぞLチカといった感じです!
まとめ
この記事では、以下のことを解説してきました。
- ラズパイ Pico / Pico W を使える状態にセットアップする
- ラズパイ Pico / Pico W に付いているLEDを光らせる
環境構築はThonnyをインストールするだけですし、ほんの数行書くだけでLチカができてしまうのは感動です。
みなさんもラズパイPico / Pico Wで試してみてはいかがでしょうか。
それでは、よいラズパイライフを。