pdf-icon

Arduino入門

2. デバイス&サンプル

6. アプリケーション

PowerHub Wakeup

PowerHub の Wakeup に関連する API とサンプルプログラムです。

サンプルプログラム

コンパイル要件

  • M5Stack ボードマネージャーのバージョン >= 3.2.3
  • 開発ボードの選択 = M5PowerHub
  • M5Unified ライブラリのバージョン >= 0.2.11
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
#include <M5Unified.h>

int myIndex = 0;

void setup() {
  M5.begin();
  M5.Led.setBrightness(255);

  Serial.begin(115200);
  Serial.println("\n\nPowerHub Sleep & Wakeup Test");
  delay(1000);
}

void loop() {
  myIndex++;
  Serial.printf("%d ", myIndex);
  M5.Led.setAllColor(TFT_WHITE);
  M5.Led.display();
  delay(200);

  if (myIndex % 20 == 0) {
    M5.Led.setAllColor(TFT_BLACK);
    M5.Led.display();

    M5.Power.timerSleep(5);  // in seconds
    // M5.Power.deepSleep(5000000, false);  // in microseconds
    // M5.Power.lightSleep(5000000, false);  // in microseconds
  }

  if (myIndex >= 1000) {
    myIndex = 0;
  }
}

このプログラムは、LED を点灯させながらシリアルモニターに 0 から 1 ずつ増加するカウンターを出力します。カウンターが 20 の倍数に達するたびに、デバイスは 5 秒間のタイマー付きスリープモードに入り(LED 消灯)、その後ウェイクアップしてプログラムを再起動し、LED を再び点灯させます。

API

PowerHub のスリープ/ウェイク制御ドライバ部分は、M5Unified ライブラリの Power_Class を使用しています。関連する API の詳細については、以下のドキュメントを参照してください:

注意
PowerHub の電源および LED はコプロセッサー STM32 によって制御されているため、メインコントローラ ESP32-S3 がスリープモードに入っても電源や LED の状態は自動的には変化しません。スリープモードで省電力化を行う場合は、スリープに入る前に電源および LED をオフにしてください。詳しくは Power および RGB LED のページを参照してください。
On This Page