M5StackCore2でLチカとバイブレーション
Lチカ
・本体に内蔵されているLED
・画面
・GPIOの19番ピン
上記の3つの順にLチカを行う。GPIOをGroveケーブルで行う場合は32番と33番がてれこになっているので注意。この現象はM5StickCでも同様。(例:黄色のG32に接続した場合、プログラムでは33を指定する。)
#include <M5Core2.h>
#define LEF_PIN 19
void setup() {
M5.begin();
pinMode(LEF_PIN, OUTPUT);
}
void loop() {
// 筐体下部の緑LED
M5.Axp.SetLed(true);
delay(1000);
M5.Axp.SetLed(false);
// 画面の塗りつぶしでチカチカ
M5.Lcd.fillScreen(RED);
delay(1000);
M5.Lcd.fillScreen(BLACK);
// GPIOでLチカ
digitalWrite(LEF_PIN, HIGH);
delay(1000);
digitalWrite(LEF_PIN, LOW);
}
バイブレーション
#include <M5Core2.h>
void setup() {
M5.begin();
}
void loop() {
M5.Axp.SetLDOEnable(3, true);
delay(1000);
M5.Axp.SetLDOEnable(3, false);
delay(1000);
}
AXP192クラスをインスタンス化して操作
以下のような記述も見かけるので一応表記。内蔵LEDのLチカとバイブレーションを同時実行。ちなみに「AXP192」というのは電源ICの名称。検索すればデータシートが出てきます。
#include <M5Core2.h>
AXP192 power;
void setup() {
M5.begin();
}
void loop() {
power.SetLed(true);
power.SetLDOEnable(3, true);
delay(1000);
power.SetLDOEnable(3, false);
power.SetLed(false);
delay(1000);
}
課題
AXP192のLEDやバイブレーションがONのまま他のプログラムを書き込んでもOFFにならない。 M5.begin();では初期化(OFF)されないようだ。要調査。
終わり