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)されないようだ。要調査。

終わり

この記事が気に入ったらサポートをしてみませんか?