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 |
GPIO | 6(LEDやSWを含めると8) |
赤外線 LED | 1 |
RGB LED | 1(SK6812 3535) |
ボタン | 1 |
サイズ | 24mm × 24mm × 10mm |
重量 | 12g |
ケース内部の基板には、小型で豊富な機能を持っている 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 を使ったスケッチ例も豊富ですので、触って動かして電子工作の楽しさを体感してみて下さい。
以上、最後まで読んで頂きありがとうございました。