Arduino IDE 2系から始めるM5 Atom


それっぽいタイトルですが久々にリハビリ的に触ってみたメモです。

[ATOM Matrix](https://www.switch-science.com/products/6260)をArduino IDEで使い始めてみます。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">久々 <a href="https://twitter.com/hashtag/m5atom?src=hash&amp;ref_src=twsrc%5Etfw">#m5atom</a> <a href="https://twitter.com/hashtag/m5stack?src=hash&amp;ref_src=twsrc%5Etfw">#m5stack</a> <a href="https://t.co/eHnhCQyZb7">pic.twitter.com/eHnhCQyZb7</a></p>&mdash; 菅原のびすけ (@n0bisuke) <a href="https://twitter.com/n0bisuke/status/1574773718953230336?ref_src=twsrc%5Etfw">September 27, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


## Arduino IDE 1系はレガシーに

久々に触るとArduino IDE 2系がメジャーバージョンになっていました。ここから始める人は1系のArudinoのUIと変わってるのでメモ残してみようって感じです。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">最近Arduino IDEを全然さわったので今気づいたけどもう1系はレガシーになってたんですねぇ 使いにくいところ多かったけどお世話になったので感慨深い<a href="https://twitter.com/hashtag/iotlt?src=hash&amp;ref_src=twsrc%5Etfw">#iotlt</a> <a href="https://twitter.com/hashtag/arduino?src=hash&amp;ref_src=twsrc%5Etfw">#arduino</a> <a href="https://t.co/Yk43YczaEz">pic.twitter.com/Yk43YczaEz</a></p>&mdash; 菅原のびすけ (@n0bisuke) <a href="https://twitter.com/n0bisuke/status/1574678425708920832?ref_src=twsrc%5Etfw">September 27, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


こちらの記事を参考にさせてもらいつつ現時点版(2022/9/27)でアップデートしたようなメモを残してみます。

> [ATOM Matrix | Arduino環境設定](https://2kuru.com/m5stack_atom_matrix_spec/)

せっかくなので丸っと入れ直す所から始めました。

こちらからArduino IDE 2系をダウンロードしてインストールします。

https://www.arduino.cc/en/software

## ボードライブラリを追加する

そのままだとATOMの開発ができないのでボードライブラリを追加します。

左のサイドバーの上から二つ目のアイコン（もしくは、`Tools > Boards > Boards Manager`）でボードマネージャーを開きます。

> ![スクリーンショット 2022-09-27 23.54.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/0fc8ac1b-7e84-1d58-37a6-89db821b1a7c.png "スクリーンショット 2022-09-27 23.54.33.png")

`ESP32`と入れて検索し、ライブラリをインストールします。1.0.6が最新の模様だったので1.0.6を入れました。

> ![スクリーンショット 2022-09-27 17.55.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/54e050d6-8057-202e-5368-ffb530168cce.png "スクリーンショット 2022-09-27 17.55.56.png")


インストールするとESP32系の色々なマイコンボードのライブラリが使えるようになります。

あとは**USBでATOMとPCを接続し、ライブラリを選択します。**

[参考にさせてもらった記事](https://2kuru.com/m5stack_atom_matrix_spec/)だとPicoやStick-Cを選択するような流れになってますが、`M5Stack-ATOM`が選択できたのでこれを選択します。

> ![スクリーンショット 2022-09-27 18.01.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/d39aadb3-9dee-b66f-9718-a3e2bba618f1.png "スクリーンショット 2022-09-27 18.01.17.png")

以下をコンパイルして書き込めばOKです。

```led.ino
#include "M5Atom.h"

int flag = true;

void setup(){
    M5.begin(true, false, true);
}

void loop(){
    M5.update();
    
    if (M5.Btn.wasReleased()) {
      
      if(flag){
        Serial.println("Button pressed 1");
        
        for (int i = 0; i < NUM_LEDS; i++){
           M5.dis.drawpix(i, 0xf00000);
        }

        flag = false;
      }else{
        Serial.println("Button pressed 2");
        
        for (int i = 0; i < NUM_LEDS; i++){
           M5.dis.drawpix(i, 0x00f000);
        }

        flag = true;
      }
      
    }
}

```

このコード、起動するとそのまま光るとかではないので分かりにくいですがボタン(LED部分）を押すと光というコードになります。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">久々 <a href="https://twitter.com/hashtag/m5atom?src=hash&amp;ref_src=twsrc%5Etfw">#m5atom</a> <a href="https://twitter.com/hashtag/m5stack?src=hash&amp;ref_src=twsrc%5Etfw">#m5stack</a> <a href="https://t.co/eHnhCQyZb7">pic.twitter.com/eHnhCQyZb7</a></p>&mdash; 菅原のびすけ (@n0bisuke) <a href="https://twitter.com/n0bisuke/status/1574773718953230336?ref_src=twsrc%5Etfw">September 27, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>