M5AtomにArduino IDEを使ってプログラムを書き込むための設定方法です。
Arduino IDEのインストール方法については、こちらから行ってください。
この記事は、M5Stack公式の情報を参考に作成しています。
Arduino IDEにM5シリーズのボードを追加する
Arduino IDEにはデフォルトでM5シリーズのボード情報が入っていないので追加を行います。
Arduinoを起動後、「File」から、「Preferences」を選択してクリックします。

「Preferences」をクリックすると、次のようなウィンドウが開く来ます。
「Additional boards manager URLs」という項目があるので、緑色のボタンをクリックします。

すると、またもう一つウィンドウが出てくるので、ここに、下記の情報をコピーして貼り付けます。
https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
貼り付けたらOKを2つ押して、完了します。

Arduino IDEにM5シリーズのボード情報をインストールする
ボードをArduino IDEに追加するためには、Arduino IDE左側の上から2番目のArduino UNOのボードの形をしたアイコンをクリックします。
すると、「BOARDS MANAGER」というウィンドウが出てくるので「M5Stack」と入力を行います。
「M5Stack by M5Stack official」という項目が出てくるので、「INSTALL」ボタンをクリックし、インストールが終われば完了です。

完了すると、写真のように、「INSTALLED」と表示されます。

M5Atomのためにライブラリを追加する
今回はM5Atomのために、M5Unifiedというライブラリを使うことにします。
M5Stackシリーズでは各ボード毎にライブラリが用意されていましたが、M5Unifiedの登場により一つのライブラリで複数のM5Stackシリーズのプログラミングができるようになりました。
ライブラリの追加は、赤い枠で囲われた、本のアイコンをクリックし「LIBRARY MANAGER」を開きます。
そして、上部の検索ウィンドウに「M5Unified」と入力を行います。
すると、「M5Unified by M5 Stack」という項目が出てくるので「INSTALL」ボタンをクリックしてインストールを行います。
このとき、M5GFXというライブラリの追加インストールについて聞かれると思いますが、これも一緒にインストールをしてしまいます。
「INSTALLED」という表記が出ていればインストール完了です。

番外編: フルカラーLED用のライブラリをインストールする
M5Atomには、フルカラーLEDが内蔵されています。
この記事では、このフルカラーLEDをボタンを押して光らせるサンプルを用意したので、そのときに使うライブラリもインストールします。
今回は、「Adafruit NeoPixel」というライブラリをインストールします。
M5Unifiedの時と同様に、検索ウィンドウに「adafruit neopixel」と入力します。
ここで、いくつかのライブラリが出てくるのですが、赤枠で囲った「Adafruit NeoPixel by Adafruit」という項目のライブラリをインストールします。
「INSTALLED」という表記が出ていればインストール完了です。

M5Atomへの書き込み
ここまで完了をしたら、いよいよM5Atomへの書き込みを行います。
ArduinoIDEの上部の「Select Board」という部分をクリックします。

クリックすると、ボードの種類と接続している実際のM5Atomを選ぶ画面が出てきます。
このとき、M5AtomはUSBと接続をしていない状態だとわかりやすいと思います。
USBでマウスを接続していたりすると、画面の右側の「PORTS」の部分にいろいろと表示が出ると思います。

この状態になったら、M5AtomをPCとUSBで接続を行います。
すると、Windowsの場合には「COM3 Serial Port (USB)」というように接続がされると思います。
このとき、COM3の「3」の部分は皆様の環境によって異なります。4や5などの数字が違います。
また、M5Atomは初回接続時はこのUSBが出てくるまでに数分から十分ほど待つ必要があります。
無事接続ができたら、「BOARDS」の検索ウィンドウに「M5Atom」と入力し、「M5Atom」を選択します。
「PORTS」も同様に、接続しているM5Atomの項目をクリックしOKをします。

すると、上部の「SelectBoard」の部分が選択した「M5Atom」と表示され太字になっていればOKです。
ここまでできたら、プログラムを作成して、右矢印のマークから書き込みを行いましょう。

M5Atomのサンプルコード
スイッチを押すと「赤」「緑」「青」と変化するサンプルコード
#include <M5Unified.h>
#include <Adafruit_NeoPixel.h>
// 内蔵LED(NeoPixel)の接続ピンとLED数の定義(M5Atomでは通常GPIO27に接続されています)
#define LED_PIN 27
#define NUMPIXELS 1
// NeoPixelオブジェクトの作成
Adafruit_NeoPixel pixels(NUMPIXELS, LED_PIN, NEO_RBG + NEO_KHZ800);
int colorState = 0;
void setup() {
// M5の初期化
M5.begin();
// NeoPixelの初期化
pixels.begin();
pixels.show(); // LEDを消灯状態に
}
void loop() {
// ボタン状態の更新
M5.update();
// 内蔵スイッチが押されたら
if (M5.BtnA.wasPressed()) {
// カラー状態を更新(-1→0, 0→1, 1→2, 2→0 となるサイクル)
colorState = (colorState + 1) % 3;
// カラー状態に応じた色を設定
switch (colorState) {
case 0:
pixels.setPixelColor(0, pixels.Color(255, 0, 0)); // 赤
break;
case 1:
pixels.setPixelColor(0, pixels.Color(0, 255, 0)); // 緑
break;
case 2:
pixels.setPixelColor(0, pixels.Color(0, 0, 255)); // 青
break;
}
// 色の更新をLEDに反映
pixels.show();
// ボタンのチャタリング対策として少し待機
delay(200);
}
}