M5AtomにArduino IDEを使って書き込む設定

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);
  }
}