>100 Views
February 24, 26
スライド概要
第3回スイッチサイエンス大感謝祭のLT(ライトニングトーク)の資料です。
M5Stack CoreS3 SEをUIFlowではない MicroPythonでディスプレイとタッチスクリーンを 動かしてみたというちょっとマニアックな発表
M5Stack CoreS3 SEについて 仕様に関する抜粋 [MCU] ・ESP32-S3 (2.4 GHz Wi-Fiを利用可能) [インタフェース] ・USB Type-C ・micro-SD(TFカード)スロット [画面] ・2.0インチIPS液晶(解像度:320 x 240) ・静電容量式タッチスクリーン [オーディオ部] ・アンプ:AW88298(1 W 16 bits I2S パワーアンプ ) ・1 Wスピーカ ・オーディオデコーダ:ES7210(デュアルマイク入力) [RTC] ・RTC(リアルタイムクロック)IC:BM8563 スイッチサイエンスでは下記から購入できます。(SKU 9690) https://www.switch-science.com/products/9690
UIFlowではなくMicroPythonで動かした理由 ① Raspberry Pi Picoから入ったため一番詳しいのがMicroPythonであるのと、プライベートで参加している会合 がPython縛りでなかなか他の環境で操作をする時間が取れない。 ② 少しではあるが仕事でPythonを使用している。 MicroPythonの利点と欠点 [利点] ①ファームウェア等の設定がデバイスごとになるため、セミナーなどの学習会を開催した場合に最初に開発環境 のインストールとファームウェアの設定をしてもらえば、コードは共有して使用できる。 ②複数のコードをデバイス内に保存しておける。 [欠点] ①情報が少ない。 I2CとSPI接続のデバイスは自力で操作する際には検索力は必要。 ②ライブラリはArduinoの方が充実している。 発表を否定する形になるが、制約がなくこれから電子工作を始める場合はArduino(Arduino IDE)がおすすめ。
MicroPythonで画面表示できるライブラリ st7789py_mpy https://github.com/russhughes/st7789py_mpy M5Stack CoreS3 SEはバックライトの電源がAXP2101のDLDO1という出力から供給されるため、M5Stack CoreS3用 のセットアップがあるライブラリを使用した。 ※ M5Stack CoreS3 SEは変更なしでM5Stack CoreS3用のセットアップが使用可能
画面表示の例 文字の表示 ※日本語の表示は挑戦しないが、難 しそう…。 図形を使った表示 画像の表示 ※このライブラリは画面表示をする 際にバイナリ変換が必要だが、コー ドは準備されている。
MicroPythonでタッチスクリーンを操作できるライブラリ uFT6336U https://github.com/fantasticdonkey/uFT6336U M5Stack CoreS3 SEはバックライトの電源がAXP2101のDLDO1という出力から供給されるため、 電源をONにするために先程紹介した「st7789py_mpy」と一緒に使用する。
画面表示とタッチスクリーン操作を組み合わせた例 触った場所の座標を表示 何かを書いて消す
他に搭載されている機能に関する見通し ・micro-SD(TFカード)スロット ネットでMicroPythonに関する情報をみたことがあるので、おそらく可能。 ・RTC BM8563と同等のPCF8563ライブラリをすれば、おそらく動かすことが可能。 ・オーディオ部に関しては見通しは立っていないがアンプについてはI2Sと関連に関するライブラリがありそう なので、それが使えれば動かせるかも!? 今後にやりたいこと ・ありきたりではあるがWi-Fiを使った天気予報の取得。(M5 Stack Atom Lite、Raspberry Pi Pico Wで実績あり) ・オーディオ部が使えるようであれば、スタックチャンもどき。 ・名札のようなもの。
最後に… この情報が私と同じような状況で電子工作をしている方の一助となれば幸いです。 詳細な説明については下記のブログに記述しています。 https://maresakumono.hatenablog.com/entry/2026/02/24/013734?_gl=1*65rrcm*_gcl_au*ODUzM TU2NTYwLjE3Njg3MzMyMjI.