Arduinoの覚書

自分の備忘録です。Arduino以外もあります。

ATOM Lite 2.動作確認


ボードの設定からサンプル動作まで。ただし、M5Stackの操作済みの人が対象。

必要なもの

  • ATOM Lite (スイッチサイエンス) 968円
  • USB Type-C 充電&通信ケーブル 2A 1m (ダイソー) 110円

ボード設定

  1. PCとATOM LiteをUSBケーブルで接続
  2. Arduino IDE > ツール > ボード > ESP32 Arudino > ESP32 Pico Kit
  3. Arduino IDE > ツール > Upload Speed=921600→115200
  4. Arduino IDE > ツール > シリアルポート > ATOM Liteがつながっているポート番号を選択

ライブラリのインストール

  1. Arduino IDE > ツール > ライブラリを管理 > M5Atomで検索し、M5Atom by M5Stackをインストール
  2. 同様に、FastLEDで検索し、FastLED by Daniel Garcia Ver3.3.3をインストール > 閉じる
  3. 環境構築完了

動作確認

  1. Arduino IDE > ファイル > スケッチ例 > M5Atom > Basics > LEDSet > マイコンボードに書き込む
  2. 書込後、ATOM Lite前面のボタンを押すたびに、ボタンのLEDが緑→赤→青→白→緑に変化

 その他のスケッチ例に

  • Buttom
  • LEDDisplay (ATOM Matrix用)
  • MPU6886 (ATOM Matrix用,6軸センサをシリアルモニタで確認)

がある。動作確認したスケッチを抵抗のカラーコード(1:茶, 2:赤, 3:橙, 4:黄, 5:緑, 6:青, 7:紫, 8:灰, 9:白, 0:黒)の色を点灯するように変更。

#include "M5Atom.h"
int i = 1;                      // カウント変数 

void setup() {
  M5.begin(true, false, true);
                              //(LCD,PowerEnable=true,Serial)
  delay(50);                    // 50mS待つ
  M5.dis.drawpix(0, 0x0000ff);  // LED点灯 青(GRB)
}

void loop() {
  if (M5.Btn.wasPressed()) { //ボタンが押される度に一度1を返す
    switch (i) {
    case 0:
      M5.dis.drawpix(0, 0x000000);  // 黒
      break;                        // switchから抜ける
   case 1:
      M5.dis.drawpix(0, 0x4e7330); //茶 混じった色はよくわからない
      break;
    case 2:
      M5.dis.drawpix(0, 0x00ff00);  // 赤
      break;
    case 3:
      M5.dis.drawpix(0, 0x7efd00);  // 橙
      break;
    case 4:
      M5.dis.drawpix(0, 0xffff00);  // 黄
      break;
    case 5:
      M5.dis.drawpix(0, 0x800000);  // 緑
      break;
    case 6:
      M5.dis.drawpix(0, 0x0000ff);  // 青
      break;
    case 7:
      M5.dis.drawpix(0, 0x008080);  // 紫
      break;
    case 8:
      M5.dis.drawpix(0, 0x101010);  // 灰
      break;
    case 9:
      M5.dis.drawpix(0, 0xffffff);  // 白
      break;
    default:        // どのcaseにも一致しない時 省略可
      break;
    }
    i++;            // 1加算
    if (i >= 10) {  // 0~9にする
      i = 0;
    }
  }
  delay(50);        // 50mS待つ
  M5.update();      // ボタン操作の状況を読込む
}




以上