2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M5AtomS3でHello World! with mac

Last updated at Posted at 2023-06-19

本記事について

M5Stackの開発手法は Arduino や UIFlow, PlatformIO等複数ある。
2023/06時点でM5AtomS3の体系的な本はなく、どうやって始めるべきか分からなかった。

とりあえずHelloWorldしたいと思い、
Visual Studio Codeを用いたM5Unifiedの導入方法
をやってみたところ、以下の図のようにHelloWorldすることができた。

IMG_5436.JPG

多少戸惑うところもあったため、手順ごとに実践したメモを残す。

環境・準備するもの

MacBook Air M2
macOS 13.3
AtomS3
mac と Atom を繋げるための type C ケーブル
VSCode (記事のVSCodeのインストールは省略)

PlatformIO のインストール

参照記事の通りだが、インストールに5分程度かかった気がする(うろ覚え)

プロジェクト作成〜ビルド

プロジェクト作成

参照記事通り

プロジェクトウィザードへの入力

Use default locationのはてなマークは見ておいた方がいい。
デフォルトでは以下のパスに入力した Name でプロジェクトが作られる。

~/Documents/PlatformIO/Projects

Frameworkは最初何も選択できない。しかし、Board で AtomS3 を選択すると Framework から Arduino を選択できるようになる。

事前に Arduino IDE インストールしなくてもいいのかな?と思っていたが必要なかった。

で、Finish を押すとプロジェクトが作られるのだが、5分程度かかった。
(初回だったから何かインストールしてたのかもしれない)

途中で VSCode クリックしたら進行中が消えて何の表示もされなかった。
プロジェクトフォルダは作られていたため、そのフォルダに移動して VSCode を開き直した。

開く時も5分くらいかかった。(ここも何かインストールしてたような感じがある)

VSCodeの出力は以下のようになっていて、一番上の
Resolving m5stack-atoms3 dependencies...に時間がかかった。

Resolving m5stack-atoms3 dependencies...
Already up-to-date.
Updating metadata for the vscode IDE...
Project has been successfully updated!

待てば終わるので放置をすること。

ライブラリをプロジェクトに追加する

参照記事通り。ライブラリのインストールはわりとすぐ終わったと思う

プログラムをビルドする

当たり前といえばそうだが、書き込む前に AtomS3 に type C ケーブルで mac と AtomS3 を接続する必要がある。

繋ぐと、 AtomS3 の画面に 「Wi-fi 接続するためにタッチしてね(うろ覚え)」のようなメッセージが表示されるが無視する。

ビルド・書き込みはすぐおわる。

AtomS3 の画面が小さいため 「Hello World!」ではなく「Hello W」になっているのが趣がある。

Serialの確認

PlatformIO の Serial Monitor でデータが送られてくることが確認できなかった。
USBSerialを使用したらできた。

スクリーンショット_2023-06-23_21_33_55.png

main.cpp
#include <M5Unified.h> // M5Unifiedライブラリをプログラムで使用可能にします。

// グローバル変数(プログラム全体で使用する変数の定義をします。)
uint32_t count;


// setup関数は起動時に一度だけ実行されます。
// 主に初期化処理を記述します。
void setup() {

  auto cfg = M5.config();       // M5Stack初期設定用の構造体を代入
  // configを設定する場合はここで設定
  // 例
  // cfg.external_spk = true;

  M5.begin(cfg);                           // M5デバイスの初期化
  USBSerial.begin(115200);                 // シリアルモニターの初期化
  M5.Display.setTextSize(3);               // テキストサイズを変更
  M5.Display.print("Hello World!!");       // 画面にHello World!!と1行表示
  USBSerial.println("Hello World!!");         // シリアルモニターにHello World!!と1行表示
  count = 0;                               // countを初期化

}

// loop関数は起動している間ずっと繰り返し実行されます。
// センサーから値を取得したり、画面を書き換える動作等をおこないます。
void loop() {

  M5.Display.setCursor(0, 20);              // 文字の描画座標(カーソル位置)を設定
  M5.Display.printf("COUNT: %d\n", count);  // countを画面に表示
  USBSerial.printf("COUNT: %d\n", count);      // countをシリアルに表示
  count++;                                  // countを1増やす
  delay(1000);                              // 1秒待つ

}

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?