RP2040-GEEKを面白そうと思って購入したものの、特に使い道がなく眠っていたので、BASIC環境にしてみました。
今回使用したのは、PicoMite です。
BASIC for the Raspberry Pi Pico & Pico 2
PicoMiteは Raspberry Pi Pico 用のBASICインタプリタでFull BASICに準拠してます。若干の差異はあるものの、VIsual Basic とほぼ同じ文法で書くことができます。
ファームウェアのダウンロード
https://geoffg.net/Downloads/picomite/PicoMite_Firmware.zip
Zipファイル内のフォルダ"firmware"の中にある "PicoMiteRP2040V6.00.01.uf2" を書き込みます。(V以下のバージョン番号はダウンロードした時期で変わると思います。)
Raspberry Pi Picoへのファームウェアの書き込み方法は、bootボタンを押しながらUSBをPCへ指すとUSBドライブと認識されるので、そこへ "PicoMiteRP2040V6.00.01.uf2" をコピーしてください。
PicoMiteのマニュアル
https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf
BASICインタプリタはシリアル通信で行います。
PCと接続するとUSB仮想シリアルポートが認識されるので、以下の設定で接続してください。
ポート | 接続する環境によって変わります。 |
通信速度 | 38400 bps |
データビット | 8bit |
パリティビット | none |
ストップビット | 1bit |
フロー制御 | none |
TeraTermでの設定例
BASICのプログラム作成はターミナル内でスクリーンエディタが表示されるようになってます。
エスケープシーケンスを使用して再現されてるため、端末のエミュレーションを"VT100"に設定してください。
TeraTermでの設定例
BASICインタプリタにアクセス出来たら、以下のコマンドを入力して設定してください。
OPTION SYSTEM SPI GP10,GP11,GP28 OPTION HEARTBEAT OFF OPTION PICO OFF OPTION LCDPANEL ST7789_135, LANDSCAPE,GP8,GP12,GP9,GP25 OPTION SDCARD GP23, GP18, GP19, GP20 OPTION AUDIO GP2,GP3', ON PWM CHANNEL 1
"option list" でオプションの確認ができます。
プログラムは専用のスクリーンエディタで書いていきます。
"edit"で起動できます。
プログラムの実行は "run" でできます。
プログラムリストを表示したい場合はスクリーンエディタを開くのでもよいですが、"list"でも表示されます。
プログラムの保存は"save (ファイル名)"、ロードは"load (ファイル名)"です。
テキストファイルで保存されるので、PC上でテキストエディタ等で書いてSDカードに保存してロードでも大丈夫です。
グラフィック命令はRP2040-GEEKの場合は本体の画面に表示されます。
CLS 0 Box 40,10,160,120,,RGB(white),RGB(white) Circle 120,70,40,,,RGB(red),RGB(red)
SDカードは32GBまで、FAT16かFAT32でフォーマットしたものが使用できます。
ドライブは"A:"が内蔵FLASHで、"B;"がSDカードになります。
試しに以下のようなプログラムでSDカードにテキストファイルを作成してみました。
Open "B:test.txt" For output As #1 Print #1, "test text file." Close #1
PicoMiteは直接I/Oピンにアクセスできる機能も用意されてます。
デジタル入出力、アナログ入力、PWM出力がサポートされてます。
また、他にも赤外線通信やフルカラーLED制御等直接制御できる機能もサポートされてます。
上記のソースコードを見ればわかる通り、Pythonよりも好きない行数で色々試せるので、便利だと思いました。
PicoMiteが動作するuConsoleが発売したPicoCalcも注文しました。
実行速度は遅いですが、速度を要求しないようなものはmicropythonより手軽なので、これからは積極的に使ってみようと思います。