> 作業効率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をコピーしました!

この記事を書いた人

プログラムが大好きなパンダです。
主に C# を使ってデスクトップアプリやモバイルアプリなどを開発しています。

当ブログでは C# の使い方や WPF または .NET MAUI を使ったサンプルアプリなど発信しています。

コメント

コメントする

CAPTCHA


記事の内容