速習PicoRubyシリーズ【2025年7月版】
- #0 - 機材購入
- #1 - Lチカ (前の記事)
- #2 - rbファイル実行 (この記事)
- #3 - 未定
この記事の目標
Raspberry Pi Picoの中に保存したRubyスクリプトを実行する
VSCodeをつなげる
前回の記事でirbでのLチカ実行は達成できましたが、毎回irbに1行づつコードを書きたくないですね。
R2P2には /home/ ディレクトリにあるrubyコードを実行する機能があります。
そして、R2P2が導入されたRaspberry Pi Picoはフラッシュメモリとして継続して認識されます。
つまり、VSCodeで編集することができます!(もちろん他のエディタでも大丈夫です)
いつも通りVSCodeを立ち上げて、R2P2と書かれたドライブを開きましょう

Lチカスクリプトを作成
VSCodeでドライブ直下を開くと /home/ ディレクトリが見つかります(なければ初期化に失敗しているので何度か電源を入れ直して1分待つのを繰り返してくださいください)
/home/test.rb を作成し、以下のコードを書き込んでください。
注意:ファイル名はなんでもいいんですが、app.rbだけは特別な名前で、電源投入後に自動実行されるのでスタンドアロンで動かせる反面、バグがあるとクラッシュしてflash_nuke.uf2するしかなくなるので今はapp.rbと名付けるのはやめましょう。
# :pico_1_base #=> 無印
# :pico_1_wifi #=> Wi-Fiモデル
PICO_MODEL = :pico_1_base
WAIT_TIME = 0.3 # 0.3sec
HIGH = 1
LOW = 0
led = case PICO_MODEL
when :pico_1_base then GPIO.new(25, GPIO::OUT)
when :pico_1_wifi then CYW43.init; CYW43::GPIO.new(CYW43::GPIO::LED_PIN)
end
loop do
led.write(HIGH)
sleep(WAIT_TIME)
led.write(LOW)
sleep(WAIT_TIME)
end
Lチカスクリプトを実行
PuTTYやscreenなどで接続し、前記事のirbの直前のコマンド待機状態までもっていきます。
接続状態で /home/ ディレクトリにいるはずなので(pwdコマンドで確認できます)./test.rbで実行できます。
前回同様にUSB横のLEDでLチカができればOKです。
終わるときはCtrl+Cで終了できます。
注意:現在、定数(大文字から始まる変数)は電源投入単位で共有されるため、Ctrl+Cで止めた後にもう一度実行するとwarning: already initialized constant.という警告が出ますが、問題はありません。
Rubyは定数の再定義、再代入が許可されており、問題なく新しい代入が機能します。
Rubyにおける定数とは再代入時に警告が出る程度の存在で、実質的に変数です。

前後の記事
- #0 - 機材購入
- #1 - Lチカ (前の記事)
- #2 - rbファイル実行 (この記事)
- #3 - 未定