💡

picorubyとRaspberry pi picoでLチカをしてみた話

に公開

最近ホットらしいpicorubyを使ってみよう!という話でとりあえずLチカまでやったので記録としておいておきます。
組み込みは未経験なので色々あるかもですがご容赦ください。その代わり初学者向けの内容になっていると思います。

偉大なる参考記事
https://hasumikin.com/2023/06/04/reiwa5-picoruby-l-chika.html

まずはお買い物

この手の商品を買うにはとりあえず秋月電子通商さんでいいでしょという安易な発想により秋月電子通商さんで色々買いました。
https://akizukidenshi.com/catalog/default.aspx

買ったもの

他にも買いましたが、今回の記事で出てくるのは以下のRaspberry pi picoだけです。
https://akizukidenshi.com/catalog/g/g118085/

WとかHとかありますが、Wは無線通信対応(WiFi/Bluetooth)という意味で、Hははんだ付け済みという意味らしいです。

初心者は最初はHのものを買っておくといいんだと思います。ブレッドボードに刺すのが楽らしい。

あと必要なもの

  • PC
    • これがないと話になりません
    • 今回はM2 MAC(16GB RAM)で進めていきます
  • micro usbケーブル
    • ラズパイとPCを接続するのに必要になります

接続まで

R2P2というツールを使うと簡単にirbを使えるらしいです。
https://github.com/picoruby/R2P2/tree/0.4.1

Releasesから以下のリリースのファイルをダウンロードしました。
https://github.com/picoruby/R2P2/releases/tag/0.4.1

今回私が購入したのはWが付いていないものなのでR2P2_PICO-FLASH_MSC-0.4.1-20250503-3c9855a.uf2.zipをダウンロードしました。多分W付きのものを使う場合はR2P2_PICO_W-FLASHの方をダウンロードするんだと思います。

導入

ダウンロードしたzipファイルを展開し、中の.uf2ファイルを使います。
USBで接続するとドライブとして認識されるのでそこに.uf2ファイルをドラッグ&ドロップで移動すると導入されます。簡単。

ただし、ブートモードで起動している必要があるらしいです。
ブートモードはUSBのコネクタ付近にある白いボタンを押しながら接続することでブートモードで起動します。
(以下動画はR2P2のGitHubより引用)
https://youtu.be/s4M4rBnPSus?si=uDTF2XheqGd92FPK

ファイルをコピーし終わると一度切断され、再接続されるので導入は完了です。

接続

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