今更ながらRaspberry Pi Pico
が手元に届いたのでちょっと触ってみたいと思います。発売当初に日本からだと入手性が悪いかな~と思って海外サイトで購入したのですが、届いたのが日本発売の2ヶ月以上後だったのは悲しい思い出でした。せっかく届いたので個人的にはこれを使用してショートカット的なキーボードを作ってみたいと思っています。近いものとしては以下のような商品になるかなと思います。
ここまでのものでなくても、遊舎工房さんでも以下のような商品があるので、こちらを使うという手もあるかなと思います。
そこをあえてRaspberry Pi Pico
で自作してみるという感じでしょうか。ただ、単にArduinoIDE
環境をつかって開発を行っても新しい学びはなさそうなので(?)今回はMicroPython
を使用する環境でやってみたいと思います。
今回は環境設定の(その1)という感じでMicroPython
のREPL環境を設定してみます。公式サイトの以下のページを参考にして設定を行いました。
https://www.raspberrypi.org/documentation/rp2040/getting-started/
すでに、結構な方がRaspberry Pi Pico
(以下Pico
)のエントリーを書いていると思いますが、Pico
の主な機能は次のようになっています。
- RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
- Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz
- 264KB of SRAM, and 2MB of on-board Flash memory
- Castellated module allows soldering direct to carrier boards
- USB 1.1 with device and host support
- Low-power sleep and dormant modes
- Drag-and-drop programming using mass storage over USB
- 26 × multi-function GPIO pins
- 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels
- Accurate clock and timer on-chip
- Temperature sensor
- Accelerated floating-point libraries on-chip
- 8 × Programmable I/O (PIO) state machines for custom peripheral support
あの値段でここまでの機能が搭載されていると思うと、本当に安いなあと思います。
以下のリンクで機能詳細が記載されたpdfファイルがあるのでこちらもチェックです。
Pico
のMicroPython
の設定を行う
先程の参考のページ内のGetting started with MicroPythonのタブをクリックして作業を行います。
Pico
をUSB 経由でコンピューターに接続し、そこにファイルをドラッグ アンドドロップすることでPico
をプログラムできます。そのため、MicroPython
をより簡単にインストールできるように、ダウンロード可能なUF2ファイルをまとめました。
下のボタンをクリックして、MicroPython UF2 ファイル
をダウンロードします。
もし、最新版の環境をインストールを行う場合には公式のCircuitPython
ページからダウンロードすることをおすすめします。
CircuitPythonとは?
ダウンロードを行ったら、BOOTSELボタン
を押したままにして、Pico
をUSB接続します。Pico
が接続されたら、BOOTSEL ボタン
を離します。
接続するとRPI-RP2
という名前のストレージ デバイスとしてマウントが行われます。
先程ダウンロードを行ったMicroPython UF2ファイル
をRPI-RP2ボリューム
にドラッグ&ドロップ(コピー)します。コピーすると同時にPico
が再起動してMicroPython
が実行されます。
再起動後にUSBシリアル経由でREPLにアクセスできるようになります。
REPL環境への接続
シリアルポートにアクセスできるようなアプリを使用することでMicroPythonのREPL環境へのアクセスができます。
自分はWindowsにRlogin
(rlogin/telnet/ssh(クライアント)ターミナルソフト)というアプリをインストールしていたので、これを使ってアクセスしてみます。シリアルポートの設定は以下のようにしています。
接続を行ってEnterキーを押すと以下のようにREPLが起動した事がわかります。
もしターミナルソフトを持っていない場合には以下のChromeで使用できるSerialターミナルを使うのも手かもしれません。(自分はシリアルポートの設定がうまく行かずしようできませんでしたが…)
https://googlechromelabs.github.io/serial-terminal/
REPLでHello Worldを表示させてみました。
また、以下のように入力を行うことでPico
上のLEDを点滅することもできます。ソース中のGP25
というPinがボードに搭載されているLEDにになります。
import digitalio from board import * import time led = digitalio.DigitalInOut(GP25) led.direction = digitalio.Direction.OUTPUT while True: led.value = True time.sleep(0.1) led.value = False time.sleep(0.1)
ちなみにREPL上で実行したプログラムはリセットなどを行うと実行されなくなるので注意が必要です。
おわりに
これでPico
上でREPLでのMicroPython
の実行を行うことができました。次はRaspberry Pi
で開発環境を少し整えて目的のキーボード化をしていこうと思います。