wonderCodeの日記

プログラミングの覚え書き

Adafruit QT Py RP2040 MicroPythonによる開発

経緯

Adafruit製RP2040開発ボードのMicroPythonによる開発手順を調査。
公式サイトではCircuitPythonによる開発が詳細に解説されている。
MicroPythonによる開発にも対応していることが明記されているが、詳細が不明。

Adafruit製RP2040開発ボード

「Adafruit QT Py RP2040」を対象とする。

必要なもの

  • 「Adafruit QT Py RP2040」uf2ファイル
    Adafruitではなく、micropython.orgからダウンロード。
    micropython.org

MicroPython開発環境構築

1. uf2ファイル書き込み
「BOOTSEL」ボタンを押した状態で「Adafruit QT Py RP2040」をPCに接続。
「RPI-RP2」がディスクドライブに追加されます。
uf2ファイルを「RPI-RP2」の直下にコピー。
※CircuitPythonによる開発と同じ手順です。

2. IDE
IDERaspberry Pi Picoと同様に、「Thonny」を使用可能。 thonny.org

3. 内蔵RGB NeoPixel LEDを使用してLチカ
定番のLチカ。
「Adafruit QT Py RP2040」の内蔵LEDは、NeoPixel LED。
Raspberry Pi PicoでLチカを行うのとは、要領が異なる。
NeoPixelのライブラリ追加は不要。以下サンプルソース

import machine
from neopixel import NeoPixel
from time import sleep

# NEOPIXEL_POWER このピンをONにするとNEOPIXELが使用可能になる
LED_POWER = 11
# NEOPIXEL
LED_PIN = 12

def main():

    # NEOPIXEL_POWER ON
    ledPower = machine.Pin(LED_POWER, machine.Pin.OUT)
    ledPower.on()

    # 1ピクセル用の NeoPixel ドライバーをGPIO12で作成
    led = machine.Pin(LED_PIN)
    np = NeoPixel(led, 1)

    while True:

        # 第1ピクセルを白に設定 RGB
        np[0] = (10, 10, 10) 
        # ピクセルにデータ書込み
        np.write()
        # 1秒間、一時停止する
        sleep(1)

        # 第1ピクセルを消灯 RGB
        np[0] = (0, 0, 0) 
        # ピクセルにデータ書込み
        np.write()
        # 1秒間、一時停止する
        sleep(1)

if __name__ == "__main__":
    main()

まとめ

Adafruit製RP2040開発ボードもRaspberry Pi Picoと同様に、MicroPythonによる開発が可能。
また、NeoPixelをMicroPythonでライブラリの追加なしに操作可能。