テクノロジー遊び

おもしろい計算機picocalc

Raspberry PIにはワンボードの小型だけれども、非力なシリーズもあります。

Raspberry PI zero W
かつかつLinuxが動きます。


Raspberry Pi Pico w
Arduinoとあんまり変わりません。Linuxは無理。


でもこういうコンピューターは電気をあまり消費しませんから、キーボード、ディスプレイがついて電池で動くモバイルグッズがあったらいいな、と思うわけです。

PicoCalc

するとClockWorkというところから近頃いろいろ出てます。
これはすごいことで、ArduinoやRaspberry PIがこの世に出て久しいですが、小型の専用キーボードがついた機器がでてきたのは初めてではないでしょうか。
私は入手可能なPicoCalcを買いました。これはRaspberry PI Picoを内蔵させます。

キットを組み立てるのですが、唯一はまった点はディスプレイケーブル・コネクターのロックの外し方でした。どこからケーブルを差し込んだらいいのか? こんな基本的なことに悩んでいるのは私だけのようですが。。。こんな感じ。

左がコネクターのロックがかかっている状態で、右側がロックをはずしたところ。黒いカバーの手前をひきあげています。そこにコネクターを差し込んでロックを閉じます。
ここの接触がよくないと画面にノイズが走ります。コネクター面をきれいにしておくことをおすすめします。
これ以外は組み立ては簡単でした。

キットにはRaspi Picoが付属し、すでにBasicインタープリターが書き込まれた状態で届きます。

差し込んで起動すればBasicが動きます。
が、Basicはさすがに今のソフトウェア工学からすると過去の異物もいいとこです。

そこでPythonを使いたいと思いました。Pythonなら複雑な計算プログラムを作ってもいいし、そのままダイレクトに命令を入れる対話形式で動かしてもいいからです。

探すとふたつほどGitHub上で開発されている方がおられますが、私はPicocalc-micropython-driverを推奨します。理由はもうひとつのほうはRaspberry Pi Pico 2Wのみをサポートしています。私はもっていますが、入手難です。キットに添付されているRaspberry pi Picoもサポートされているこちらのほうがいいと思います。またPico 2WのWIFiをサポートしようとしている点、さらにプログラムを書くための基本的なエディターと連携していることも見逃せません。これがないと出先でプログラムを書くのが不便です。

機能

✅ キーボードドライバー
PicoCalcのキーボードがちゃんと使えます。モバイルキーボードにはさまざまなキーが省略されたものが少なくありません。バックスラッシュなどがきちんと入力できることは重要です。

✅ ILI9488ディスプレイドライバー
カラーディスプレイとして表示されます。

✅ 画面キャプチャー
ctrl + u で画面をキャプチャーしSDカードに保管できます。現時点ではフォルダーには保管できません。また16色rawフォーマットです。現在、コンバーター作成中

✅ スピーカードライバー
LaikaSpaceDawg氏まだやってるところだそうです。

WIFIについての注意事項

WIFIモジュールとLCDディスプレイはSPI1に接続されています(カスケードで繋がれているということ)WIFIを使う時は関数  pc_terminal.stopRefresh()で画面リフレッシュを止めてください。WIFIを使い終わったらpc_terminal.recoverRefresh() 関数で元にもどします。

エディターの使い方

edit("abc.py")

でエディター(https://github.com/robert-hh/Micropython-Editor)が起動します。
簡単にコマンドをリストしておきます。

キー 機能
矢印キー カーソル移動
Ctrl+ ← カーソルを左の行頭へ
Ctrl+ → カーソルを右の行末へ
Ctrl+ ↑
Ctr+ ↓
ウィンドウごと上、下へスクロール
Enter カーソルの場所に改行をいれる。インデントをサポートしています。
Back カーソル位置の左側の文字を消す
Del カーソルのある一の文字を消す。行の終わりなら次の行をつなげる。
Ctrl+ O 新しいファイルをオープンする。ファイル名が空なら空のファイルをオープンする
Ctrl+ W 編集中の次のファイルへ移動
Ctrl+ Q 編集を閉じる
Ctrl+ S ファイル名を変更するというオプション付きでファイルを保管する。新しいファイル名がすでに存在していたら、確認がでる
Ctrl+ F 検索
Ctrl+ N 最後に発見した検索を繰り返す
Ctrl+H
Ctrl+ R
検索と置換
Ctrl+ G 行へ移動
Ctrl+ T 最初の行へ移動

ファイルのリストと実行

なにが入っているかリストが取れないと話になりません。

os.listdir()

とするとマウントされているポイントが出てきます。私の場合、sd, examplesとルートにあるPythonプログラムが出ました。

os.listdir("/sd")

とするとsdカードのリストが取れます。
ここに例えばhello.pyプログラムを置いておくと

run("/sd/hello.py")

で実行できます。

Micro Pythonのインストール方法

まずRaspberry Pi Picoのプログラムを開発する方法の一般論の話をします。
一般的にはArduino IDEを利用します。そこにRaspberry PI Picoのボードをサポートしている開発環境をインストールします。そうすればボードにRaspberry pi pico を指定できます。プログラムを書き込むためには、ボードのBOOTSELボタンを押し続けた状態でUSBに接続します。するとUSBディスクを接続したかのような状態でボリュームが見えます。RPI-RP2などの名前がついています。そこにコンパイルした結果の末尾が.uf2というファイルをドラッグ・ドロップします。するとファイルが書き込まれ、Raspberry PI Picoはブートを開始します。
以下のインストールでは完成したuf2を書き込むだけですから、開発しないならばArduino IDEは不要です。
ただ基本的な手順を知らないと、Raspberry PI Picoが壊れているかどうか判別できませんから理解だけはしておきましょう。

BOOTSELボタンを押しっぱなしの状態でUSBケーブルをつなぐとディスクとしてRaspi Picoが見えます。そこにモデルのための.uf2ファイルをコピーするだけです。ただし、作者のGihtubにも書かれているとおり、自動的にリブートしませんからUSBケーブルをはずしPicoCalcの電源を入れたらMicro Pythonが起動します。with Filesystem と without Filesystemがありますが、Withのほうはファームウェアを書き込む領域をフォーマットするようです。私はオリジナルのPicoではなく新しく買ったPico 2 Wにインストールしたのでwith Filesystemにしました。

Pythonが動くハンディ計算機ってよくないですか?

 

関連記事

  1. 中途半端なハイレゾ化

  2. 今更ながらApple Earpods

  3. ポラロイドのPogoに気づかなかった

  4. Arduinoで脈拍を測る

  5. ハイレゾ ウォークマン

  6. 発想はいいが残念なミニKVM

  7. 秋月電子のLED付き押しボタンスイッチ

  8. 中国製のDAP(デジタルオーディオプレーヤー)が熱い