ATOMS3の購入時に書き込まれているサンプルコードの在処と書き込み、編集方法について調べたので下記にまとめました。
内容は下記の流れです。
- 初期化方法
- 導入方法
- 内容の大まかな解説
- ちょっとした修正
初期化方法
まずは購入状態への戻し方。
上記ページ下方の「AtomS3 User Demo」をダウンロード。
ATOMS3をPCに接続した状態でダウンロードしたATOMS3 DEMO.exeを実行します。
上記ソフトウェア画面が起動するので、COMポートとボーレートを設定して「Burn」をクリックで書き込めます。
以上で購入時状態に戻せます。
サンプルコード導入方法
上記に、購入時に書き込まれているユーザーデモ用のコードが置いてあります。
ちなみに、ユーザーデモの内容変更のためにはarduino IDEではなくVS codeとPlatformIOの導入が必要です。
導入の際は下記ページを参考にしました。
PlatformIO導入後、PC内の任意の場所に上記ユーザーデモの内容をまるっとコピーします。
次に、PlatformIOのプロジェクト管理画面で「Add Existing」をクリックし、コピーしたユーザーデモのフォルダを開いてください。
プロジェクトのリストにユーザーデモが追加されるので、Openをクリックするとプロジェクトが読み込まれます。
ATOMS3をUSBケーブルでPCにつないだ状態で「PlatformIO:Upload」をクリックするとプロジェクトをビルド後、問題なければATOMS3にユーザーデモが書き込まれます。
内容のざっくり解説
上記がユーザーデモの内容です。ATOMS3を触ってみるとわかりますが、ユーザーデモの内容は以下の通りです。
- wifiスキャン
- I2Cスキャン
- UARTモニタ
- PWMテスト
- ADCテスト
- IR
- IMUテスト
上記はそれぞれ「class func_wifi_t」のような形でクラスとして定義されています。
ATOMS3の電源を投入すると電源投入時のアニメーションが再生された後、各デモを選択するランチャー画面が表示されます。
画面がボタンになっており、一度押すたびにデモの内容表示が切り替わります。
試したいデモの画面で長押しするとデモが実行されます。
func_wifi_t func_wifi_scan;
func_i2c_t func_i2c_scan;
func_uart_t func_uart_mon;
func_pwm_t func_pwm_test;
func_adc_t func_adc_test;
func_ir_t func_ir_send;
func_imu_t func_imu_test;
func_base_t* func_list[7] = {&func_wifi_scan, &func_i2c_scan, &func_uart_mon,
&func_pwm_test, &func_adc_test, &func_ir_send,
&func_imu_test};
}
コード内では上記のように各クラスがリスト化されていて、ボタンを押すたびにリストのインデックスが加算されて画面表示が変わっています。
ちょっとした修正
void setup() {
M5.Display.setRotation(2);
}
こんな感じに書くと、画面の向きを180度回転できます。
初期値だとUSBケーブルを画面下側に刺す向きになりますが、画面上側から刺したかったため上記変更を追加しました。
これでATOMS3のユーザーデモコードをベースに色々修正や変更ができるようになりました。