M5Stackに新シリーズM5Atomが登場!さっそく買ってみました。
5×5のNeoPixel付きM5Atom MatrixとLED1個のM5Atom Lite!充電池は内蔵してないですが、その分小さいです!
(実は、日本発売前にM5Stack本家通販から入手だけはしていたのですが、まだ技適付きではなく、こちらは記念品w)
今回は、スイッチサイエンスさんからの購入なので技適付きです!
あれ?技適付き…のはずだったのですが、M5Atom Matrixには技適シールがない…。
どうやら、手違いがあったらしく、一部技適無しが紛れてしまったようです。連絡すれば交換してくれるとのことなので、M5Atom Matrix については交換待ちです。
ご迷惑おかけしてしまって申し訳ございません。。。本来は技適マーク表示があるはずです。他にも表示なしのものを確認されている方がいらっしゃるようですので、後ほどご購入いただいた方全員に向けて商品交換のご連絡をいたします。もう少々おまちいただければ幸いです。
— Switch Science (@ssci) 2020年4月14日
ということで、しばらくはM5Atom Liteで遊んでみますー。
このサイズでESP32、Wi-Fi付き…!すごいです。
ArduinoライブラリマネージャからM5Atomライブラリをインストール。M5Atom以外にも、NeoPixel操作のためのFastLEDライブラリの追加が必要でした。
M5Atomでどんなことができるかは、以下のところからドキュメント/ソース参照しつつ。
ボードの設定は「M5Stick-C」で行けました。「ESP32 Pico Kit」でもやってみたのですが、こちらは端末への転送時にTimeout Errorが出てうまくいきませんでした。(転送速度設定の問題かも?)
最初はいつものHello,Worldを行いたいのですが、画面がないとなー。…ということで、1.3インチ小型液晶を接続してみました。
以前にM5Stackでやったことあったので、同じ方法でいけました。Arduino-ST7789-Library を(一部修正して)使います。
M5Stack:外付け1.3インチ液晶
http://shikarunochi.matrix.jp/?p=2847
#include <M5Atom.h> #include <Adafruit_GFX.h> // Core graphics library by Adafruit #include <Arduino_ST7789.h> // Hardware-specific library for ST7789 (with or without CS pin) #define TFT_DC 33 #define TFT_RST 23 #define TFT_MOSI 19 // for hardware SPI data pin (all of available pins) #define TFT_SCLK 22 // for hardware SPI sclk pin (all of available pins) Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK); //for display without CS pin void setup() { Serial.begin(115200); M5.begin(); tft.init(240, 240); delay(100); tft.fillRect(0, 0, 240, 240, BLACK); delay(100); tft.setTextColor(WHITE); tft.setTextSize(3); tft.println("Hello World!"); } void loop(){ }
接続は、3V3 側の列5本とGNDの合計6本。これで。
“Hello,World!”
ちなみに、使用した液晶はこちらです。
いくつか種類選べますが、240×240のタイプです!
あっ!LED付きなのだから、最初はLチカすべきでした…!M5AtomのLEDサンプルを参考にしつつ…。
#include <M5Atom.h> void setup() { M5.begin(true, false, true); delay(50); M5.dis.drawpix(0, 0xf00000); } void loop() { }
Lチカ成功!
beginのパラメータは以下の通り。
begin(bool SerialEnable , bool I2CEnable , bool DisplayEnable )
I2CEnableにすると、以下の設定でI2Cスタートします。
Wire.begin(25,21,10000);
LED表示は内部的にはFastLEDを使用。(なのでライブラリ必要)
M5Atom Matrixが5×5=25個、M5Atom Lite が1個 ですね。M5Atom LiteもNeoPixelでした。