MicroPython

Raspberry Pi

OLEDをMicroPythonのコンソールにしてみた

MicroPythonのosモジュールにはduptermという機能があり、これを使うとREPLで使われている標準の入出力チャネルをUART以外のデバイスへ複製することができます。 duptermのパラメータにオブジェクトを与えると、そのオブ...
Raspberry Pi

MicroPythonで距離センサ(VL53L0X)を使う

今回もMicroPythonを使って、死蔵していたモジュールの蔵出しです。 割と最近購入して、まだ試していなかったレーザー距離センサです。 VL53L0X使用 レーザー測距センサモジュール(ToF): センサ一般 秋月電子通商-電子部品・ネ...
Raspberry Pi

MicroPythonで気圧センサ(MPL115A1)を使う

前の投稿に引き続いて、使わないままになっていたSPI接続の気圧センサを動かしてみました。 (前回のADCチップがまだブレッドボードに載っかっています・・・) MPL115A1というセンサーを使用したモジュールで、いろいろなところからモジュー...
Raspberry Pi

MicroPythonでADC(MCP3204)を使う

昨日試したMicroPython用のSPIクラスですが、OLEDはデータ出力しか確認できません。 手元にMCP3204というADコンバータがあったので、これでSPI経由でのデータ入力も実験してみました。 12bit 4ch ADコンバータ ...
Raspberry Pi

SPIクラスを追加(RPiベアメタルMicroPython)

前回の実装を元に、ベアメタルRaspberry Pi版MicroPythonにSPIクラスを追加してみました。 既存のSPIクラスのAPI I2Cのときと同様、今回も既存のSPIクラスのAPIを調べてみました。 調査対象はハード実装(pyb...
Raspberry Pi

MicroPythonからI2C EEPROMを使う

先日実装したMicroPythonのI2Cでのレジスタ読み書きメソッドは、読み書きのアドレスのビット幅をaddrsizeキーワードで指定することができます。 センサなどでは8ビットのアドレス空間があれば大抵間に合うはずですが、このような大き...
Raspberry Pi

ジェスチャセンサAPDS9960をMicroPythonで使う

以前秋月電子で購入したシャープのジェスチャセンサを、以下のThomas Liskeさんのデバイスドライバを使ってMicroPythonで動作させてみました。 結線は、SDA/SCL/GND/VDDは定番通りに、LEDには3.3V、INTは接...
Raspberry Pi

I2Cクラスにレジスタ読み書きメソッドを追加(RPiベアメタルMicroPython)

サーバの移転もどうやらうまく行ったようなので、ベアメタルRaspberry Pi版MicroPythonの続きです。 前回、I2Cのクラスを作成した際、スレーブデバイスのレジスタのアドレスを指定して読み書きする高レイヤのメソッドについては ...
STM32

MicroPython用のNUCLEO-F767ZIのethernetドライバがアップデート

以前公開したMicroPython用のNUCLEO-F767ZIのethernetドライバですが、先日MicroPython作者のDamien. P. Georgeさんが更新してくださいました。 stm32: Add support for...
Raspberry Pi

リアルタイムクロックモジュールDS3231の使い方

I2Cクラスが使えるようになったので、OLED以外にも手持ちのI2Cデバイスを試してみます。 今回は「DS3231」を使ったリアルタイムクロックモジュールです。 実は前回の写真にも、ちょこっと登場しています。 DS3231はバッテリバックア...
Raspberry Pi

I2Cクラスを追加(RPiベアメタルMicroPython)

前回の実装を元に、ベアメタルRaspberry Pi版MicroPythonにI2Cクラスを追加してみました。 writeとreadを載せるだけなら簡単だったのですが、MicroPython用の既存のI2Cデバイスドライバが動作するようにし...
Raspberry Pi

SDカードを読む(RPiベアメタルMicroPython)

ベアメタルRaspberry Pi版MicroPythonでRAMディスクが使えるようになって喜んでいたのですが、やはりSDカードも使えるようにしたいという欲が出てきます。 スクリプトをPCから転送する用途には、シリアルポートとRAMディス...
Raspberry Pi

フローズンモジュールを使う(RPiベアメタルMicroPython)

RAMディスクが使えるようになったので、このPythonスクリプトをMicroPythonの起動時に自動実行させてみます。 フラッシュやSDカードを外部ストレージとして使える場合は、そのストレージに「boot.py」「main.py」という...
Raspberry Pi

Raspberry Pi Zeroのキャッシュ・分岐予測・クロック設定

以前、ベアメタル版MicroPythonの速度がRaspbian版に比べて非常に遅いというベンチマーク結果を載せました。 Raspberry Pi版MicroPythonのベンチマークテスト(2): 楽しくやろう。 遅い原因は、キャッシュ設...
Raspberry Pi

ファイルシステムを追加する(RPiベアメタルMicroPython)

今日もRaspberry PiへのMicroPythonの移植です。 これまで、ファイルシステムの実装は後回しにしてきました。 Raspberry PiのSDカードへアクセスするためのソースコードはいくつかネット上にあるのですが、ドキュメン...