picorubyとRaspberry pi picoでLチカをしてみた話
最近ホットらしいpicorubyを使ってみよう!という話でとりあえずLチカまでやったので記録としておいておきます。
組み込みは未経験なので色々あるかもですがご容赦ください。その代わり初学者向けの内容になっていると思います。
偉大なる参考記事
まずはお買い物
この手の商品を買うにはとりあえず秋月電子通商さんでいいでしょという安易な発想により秋月電子通商さんで色々買いました。
買ったもの
他にも買いましたが、今回の記事で出てくるのは以下のRaspberry pi picoだけです。
WとかHとかありますが、Wは無線通信対応(WiFi/Bluetooth)という意味で、Hははんだ付け済みという意味らしいです。
初心者は最初はHのものを買っておくといいんだと思います。ブレッドボードに刺すのが楽らしい。
あと必要なもの
- PC
- これがないと話になりません
- 今回はM2 MAC(16GB RAM)で進めていきます
- micro usbケーブル
- ラズパイとPCを接続するのに必要になります
接続まで
R2P2というツールを使うと簡単にirbを使えるらしいです。
Releasesから以下のリリースのファイルをダウンロードしました。
今回私が購入したのはWが付いていないものなのでR2P2_PICO-FLASH_MSC-0.4.1-20250503-3c9855a.uf2.zipをダウンロードしました。多分W付きのものを使う場合はR2P2_PICO_W-FLASHの方をダウンロードするんだと思います。
導入
ダウンロードしたzipファイルを展開し、中の.uf2ファイルを使います。
USBで接続するとドライブとして認識されるのでそこに.uf2ファイルをドラッグ&ドロップで移動すると導入されます。簡単。
ただし、ブートモードで起動している必要があるらしいです。
ブートモードはUSBのコネクタ付近にある白いボタンを押しながら接続することでブートモードで起動します。
(以下動画はR2P2のGitHubより引用)
ファイルをコピーし終わると一度切断され、再接続されるので導入は完了です。
接続
Raspberry pi picoにはシリアル通信で接続します。
WindowsにはTeraTermなどで接続できますがMACにはいい感じのソフトがないのでターミナルから接続します。
まず、以下コマンドで接続先を探します。
$ ls -l /dev/tty.*
crw-rw-rw- 1 root wheel 0x9000004 11 3 19:50 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 0x9000000 11 2 13:48 /dev/tty.debug-console
crw-rw-rw- 1 root wheel 0x9000002 11 3 19:50 /dev/tty.soundcoreLiberty4
crw-rw-rw- 1 root wheel 0x9000006 11 21 20:31 /dev/tty.usbmodem1201
USBで接続している場合usbmodemというやつなのでscreenコマンドで接続し、irbを起動します。
$ screen /dev/tty.usbmodem1201
Starting shell...
____ _ ____ _
| _ \(_) ___ ___ | _ \ _ _| |,_ _ _
| |_) | |/ __/ _ \| |_) | | | | '_ \| | | |
| __/| | (_| (_) | _ <| |_| | |_) | |_| |
|_| |_|\___\___/|_| \_\___,_|_.__/ \__, |
by hasumikin |___/
$> irb
irb>
$>がirb>に変われば接続完了です!
Lチカ!
というわけでいよいよLEDをつけます。LEDはどこにあるかという話ですが、実はRaspberry pi picoにはBOOTボタンの上あたりにLEDが搭載されています。
GPの25番に接続されているらしいので指定して光らせてみます。
irb> pin = GPIO.new(25, GPIO::OUT)
=> #<GPIO:2000f02c>
irb> pin.write 1
=> 0
うまくいけば光るはずです!ちなみにpin.writeで0を指定すると消灯します。
Discussion