初めて Raspberry Pi Pico に触れてみる


初めに

友人から Raspberry Pi Pico をいただいたので、遊んでみることにしました。

以降本記事では「Raspberry Pi Pico」を「Pico」と表記することにします。

本記事で行うこと

大きく分けて次の3つです。

  • Picoで遊ぶための準備
  • LEDを点灯させる
  • 室温を表示する

LEDと温度センサはPicoに標準で搭載されています。

必要なもの

  • Pico本体
  • Windows PC(Linux, Macでも大丈夫です)
  • USBケーブル
  • インターネット環境(Picoで遊ぶための準備で必要になります)

ここから本編

Picoで遊ぶための準備

この項目では次のことを行います。

  1. PicoとPCの接続
  2. ファームウェア(MicroPython)の書き込み
  3. Thonnyのインストール
  4. 動作確認

1. PicoとPCの接続

Picoの「BOOTSEL」というボタンを押しながら、USBケーブルでPCと接続します。
このときエクスプローラが開けば正しく接続できています。

2回目以降の接続では押さなくて大丈夫です。

2. ファームウェアの書き込み

開いたエクスプローラに「INDEX.HTM」があるので開きましょう。

ページを少しスクロールすると「Getting started MicroPython」があるのでクリックします。

「Drag and drop MicroPython」に「Download UF2 file」があるのでクリックします。

ダウンロードしたファイルをコピーして先ほどのエクスプローラに貼り付けてください。

完了すると自動的にエクスプローラが閉じます。
これで書き込みは完了です。

3. Thonnyのインストール

こちらのサイトの右上のほうから、使用しているPCに適したインストーラをダウンロードします。
ダウンロードが完了したらインストーラを実行してThonnyIDEをインストールしましょう。
ThonnyIDEを起動すると次のような画面になります。

4. 動作確認

shellに次のプログラムを打ち込んで動作を確認しておきましょう。

print('Hello')

先ほど実行したのはPython環境ですので、MicroPython環境に切り替えます。

Thonnyの右下にある「Python 3.Y.Z」(私の環境では Python3.7.9ですね)をクリックして、「MicroPython(Raspberry Pi Pico)」に切り替えましょう。

Thonnyの右下が「MicroPython(Raspberry Pi Pico)」に変化していれば大丈夫です。
shellに次のプログラムを打ち込んで動作を確認しておきましょう。

print('Hello')

準備は以上になります。

LEDを点灯させる

点灯+消灯

まずはshellを通してLEDを点灯します。

>>> from machine import Pin
>>> led = Pin(25, Pin.OUT)
>>> led.value(1)

ここまで打ち込むとLEDが点灯します。
次にLEDを消灯します。

>>> led.value(0)

ちなみに現段階でのshellはこんな感じですね。
(本記事通りに進めているのであれば)

点滅

次に、LEDを点滅させてみましょう。
shellで行うのは面倒くさいので、エディタに書き込みます。

from machine import Pin, Timer

led = Pin(25, Pin.OUT)
tim = Timer()
def tick(timer):
    global led
    led.toggle()

tim.init(freq=2.5, mode=Timer.PERIODIC, callback=tick)

こんな感じですね。

「Save」で今書いたプログラムを保存しましょう。

「This computer」でPCに、「Raspberry Pi Pico」でPicoに保存します。
今回はPicoに「blink.py」で保存しましょう。

保存ができたら「実行」で動作を確認しましょう。LEDが点滅します。
動作を停止させるときは「Stop」です。

frepは周波数を表し、値を変えることによって点滅する速度を変更できます。
試しに frep=5.0 にして保存、実行してみましょう。点滅が速くなります。

室温を表示する

「New」から新しいファイルを作成します。

次のプログラムをエディタに書き込んで「temperature.py」で保存します。

import machine
import utime

sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)

while True:
    reading = sensor_temp.read_u16() * conversion_factor
    temperature = 27 - (reading - 0.706)/0.001721
    print(temperature)
    utime.sleep(2)


実行すると2秒おきに室温が表示されます。
あくまでPico周辺の温度なので、うちわであおいだりすると簡単に温度が変わります。

main.pyファイル

Picoに「main.py」の名称のファイルがあると、Picoへの電源供給時にmain.pyが自動的に実行されます。

試してみたい方は次の手順を行ってみてください。

  1. 新規ファイルにblink.pyの内容をコピーする
  2. 新規ファイルをmain.pyの名前でPicoに保存する
  3. USBケーブルからPicoを切り離し、再度接続する(BOOTSELは押さない

これを行うとThonnyから実行をしていないのにLEDが点滅をし始めます。
停止するには、電源を切り離すか、Thonnyからstopをしてください。

最後に

今回のプログラムは公式が提供しているものですので、どなたでも閲覧できます。(こちらです
3.1及び3.3あたりに記載されてますので参考にどうぞ。

Picoは500円程度で始められるので入門者には良心的ですね。
自室に時計がないので、Picoで卓上時計作ってみたら楽しそうですね。
友人に頼んでパーツ探してもらいます。