> 作業効率UP!! オススメのモバイルモニターを紹介

【ATOM Lite】初心者におすすめの小型のマイコンボード

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

ATOM Liteて何!?

ATOM Lite は M5Stack テクノロジー社が販売する M5Stack シリーズの中で最もコンパクトなマイコンボードです。

低価格で機能も多く備えており、それでいて拡張性も兼ね備えています。

この記事では初心者におすすめの小型のマイコンボードである ATOM Lite について、画像を用いて分かりやすく解説をしています。

ぜひ参考にしてみてください。

分かりやすく解説された1冊です。Arduino の基本的な使い方をはじめ、Arduinoを利用した電子工作の活用方法が解説されています。電子回路の基礎的な知識についても説明があるので、スムーズに読み進めることができます。おすすめの書籍です。

ATOM Liteについて

M5Stack テクノロジー社が販売する M5Stack シリーズの中で最もコンパクトなマイコンボードです。

本体サイズは、24mm×24mmの正方形で10円玉(23.5mm×23.5mm)とほぼ同じサイズです。

ATOM Lite は ESP32 チップをベースにしており、シリアル通信に加えて Wi-Fi や Bluetooth などの無線通信機能を備えています。ネットワークを介してデータのやり取りができ、他のデバイスと通信が簡単に行えるメリットがあります。

ATOM Lite の側面には Grove 互換のコネクタ(PH2.0-4P)があるので、様々なセンサーやアクチュエーターと組み合わせて使用することができます。

ATOM Lite の背面には RGB LED とボタン が1つずつ付いています。 RGB LED なので、様々な色の LED を表現することが可能です。

緑色

黄色

赤色

青色

ATOM Lite の特徴

  • 非常にコンパクトなサイズである。
  • 価格が1,400円程度であるため、安価である。
  • 多機能で尚且つ拡張性がある。
  • 無線機能がある。
  • RGB LEDとボタンがついている。

ATOM Liteの仕様について

ATOM Lite の仕様は次の通りです。ここでは11個の項目について記載しています。

スクロールできます
項目仕様
プロセッサESP32-PICO
メモリFlash 4MB
無線機能Wi-Fi, dual mode Bluetooth
電源5V / 500mA
電源コネクタUSB Type-C
GPIO6(LEDやSWを含めると8)
赤外線 LED1
RGB LED1(SK6812 3535)
ボタン1
サイズ24mm × 24mm × 10mm
重量12g
ATOM Liteの基本仕様

ケース内部の基板には、小型で豊富な機能を持っている ESP32-PICO-D4 を搭載しています。これにより、GPIO や UART、I2Cなどのインターフェースが使用できます。また、2.4GHz の Wi-Fi(802.11b/g/h)と Bluetooth 4.2(Bluetooth Classic 及び Bluetooth Low Energy)をサポートしています。

プログラム環境としては、Arduino IDE や Micropython、UIFlow などが利用できます。

Arduino IDE の環境構築をする手順を次の記事では紹介していますので、触って試してみたいという方は参考にしてみてください。

ATOM Liteの端子配列について

ATOM Lite の端子配列は次のようになっています。

ATOM Lite の端子はメス側になっているので、端子に接続する際はオス側のジャンパー線を使用します。

側面には Grove 互換端子(HY-2.0-4P)を備えています。このコネクタは電源(+5V)と GND の他に2本の信号線があり、センサーや液晶ディスプレイなどと簡単に接続することができます。

ATOM Lite の背面は次のようになっています。

USB Type-C ケーブルでパソコンと接続して、ATOM Lite に電源を供給したり、プログラムの書き込みを行うことができます。

M5Stack の公式サイトに回路図の記載があるので、興味がある方は以下のボタンから参照してみて下さい。

\ M5Stack公式サイト /

サンプルプログラムの紹介

ここからは ATOM Lite を使用した簡単なサンプルを紹介します。開発環境には Arduino IDE を使用します。

ある一定時間内にボタンをクリックした回数に応じて、LED の色を1.5秒間だけ変化させるプログラムです。

全体のプログラムは次の通りです。

#include <M5Atom.h> // ATOM Liteのヘッダーファイル

#define LED_COLOR_RED (0xff0000)    // LEDのカラーコード 赤
#define LED_COLOR_BLUE (0x0000ff)   // LEDのカラーコード 青
#define LED_COLOR_WHITE (0xffffff)  // LEDのカラーコード 白
#define LED_COLOR_BLACK (0x000000)  // LEDのカラーコード 黒
#define LED_COLOR_GREEN (0x008000)  // LEDのカラーコード 緑
#define LED_COLOR_YELLOW (0xffff00) // LEDのカラーコード 黄

#define TIME_LIMIT 1000

uint8_t state = 0;
uint16_t push_count = 0;
uint16_t time_limit = TIME_LIMIT;
uint32_t color = LED_COLOR_WHITE;

void setup() { 
  M5.begin(true, false, true);                // 本体初期化(UART有効, I2C無効, LED有効)

  M5.dis.drawpix(0, LED_COLOR_WHITE);         // LED 白点灯
}

void loop() {
  if (state == 0){                            // stateが0なら次の処理をする
    if (M5.Btn.wasPressed()) {                // ボタンが押されたなら次の処理をする
      push_count++;                           // ボタンが押された回数を記録
      time_limit = TIME_LIMIT;                // タイムリミットを設定
    }

    if (0 < push_count){                      // ボタンが押された回数が1回以上なら次の処理をする
      time_limit--;                           // タイムリミットを-1する

      if (0 == time_limit){                   // タイムリミットが0なら次の処理をする
        state = 1;                            // stateを1にする
      }
    }

    M5.dis.drawpix(0, LED_COLOR_WHITE);       // LED 白点灯
  }
  else if (state == 1){                       // stateが1なら次の処理をする
    switch(push_count){
      case 1:                                 // ボタンが押された回数が1回なら
        M5.dis.drawpix(0, LED_COLOR_RED);     // LED 赤点灯
        break;
      case 2:                                 // ボタンが押された回数が2回なら
        M5.dis.drawpix(0, LED_COLOR_BLUE);    // LED 青点灯
        break;
      case 3:                                 // ボタンが押された回数が3回なら
        M5.dis.drawpix(0, LED_COLOR_GREEN);   // LED 緑点灯
        break;
      case 4:                                 // ボタンが押された回数が4回なら
        M5.dis.drawpix(0, LED_COLOR_YELLOW);  // LED 黄点灯
        break;
      default:                                // ボタンが押された回数が5回以上なら
        M5.dis.drawpix(0, LED_COLOR_BLACK);   // LED 黒(消灯)
    }

    state = 2;                                // stateを2にする
  } else {
    delay(1500);                              // 1.5秒待機
    M5.dis.drawpix(0, LED_COLOR_WHITE);       // LED 白点灯
    push_count = 0;                           // ボタンが押された回数を0回にする
    state = 0;                                // stateを0にする
  }

  M5.update();                                // ボタンの状態更新
  delay(1);                                   // 1msec待機
}

ATOM Lite の RGB LED を制御するには、『FastLED』というライブラリを使用します。

FastLED を Arduino IDE に追加していない場合は、FastLED をインストールしましょう。Arduino IDE のサイドメニューからライブラリを追加することができます。

RGB LED の色を指定するメソッドは drawpix です。

M5.dis.drawpix ( LED番号,  カラーコード );

  • 第1引数:LED番号
    制御する LED の番号です。ATOM Lite は RGB LED は1個しかないので、常に「0」になります。
    ATOM MATRIX は 25個あるので、「0」~「24」までを指定します。
  • 第2引数:カラーコード
    赤(red)、緑(green)、青(blue)の値をそれぞれ00からffの16進数で2桁ずつで表します。
    具体的には「#rrggbb」で表現し、rr が 赤、gg が緑、bb が青です。

例えば、LEDの色を白にしたい場合はM5.dis.drawpix(0, #ffffff) と記載します。

まとめ

この記事では、初心者の方におすすめの超小型のマイコンボードである ATOM Lite について紹介しました。

本体価格もそこまで高くなく、これから電子工作をはじめてみようという方には使い勝手がいい1台だと思います。

ATOM Lite を使ったスケッチ例も豊富ですので、触って動かして電子工作の楽しさを体感してみて下さい。

以上、最後まで読んで頂きありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!