pdf-icon

Arduino Quick Start

2. Devices & Examples

DinMeter Wakeup & Sleep

DinMeter sleep & wakeup related APIs and example program.

  • Open the example wakeup, upload the code

Example

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 34 35 36 37 38 39 40 41 42 43 44 45 46 47
/**
* @file wakeup.ino
* @author SeanKwok (shaoxiang@m5stack.com)
* @brief M5DinMeter Timer Wakeup Test
* @version 0.1
* @date 2024-03-07
*
*
* @Hardwares: M5DinMeter
* @Platform Version: Arduino M5Stack Board Manager v2.1.1
* @Dependent Library:
* M5GFX: https://github.com/m5stack/M5GFX
* M5Unified: https://github.com/m5stack/M5Unified
*/
#include <M5DinMeter.h>
void setup(void) {
auto cfg = M5.config();
DinMeter.begin(cfg, false);
DinMeter.Display.setRotation(1);
DinMeter.Display.setTextColor(GREEN);
DinMeter.Display.setTextDatum(middle_center);
DinMeter.Display.setTextFont(&fonts::FreeSerifItalic9pt7b);
DinMeter.Display.setTextSize(1);
DinMeter.Display.drawString("Press Btn", DinMeter.Display.width() / 2,
DinMeter.Display.height() / 2 - 45);
DinMeter.Display.drawString("to sleep", DinMeter.Display.width() / 2,
DinMeter.Display.height() / 2 - 15);
DinMeter.Display.drawString("After 5s", DinMeter.Display.width() / 2,
DinMeter.Display.height() / 2 + 15);
DinMeter.Display.drawString("Wakeup", DinMeter.Display.width() / 2,
DinMeter.Display.height() / 2 + 45);
}
void loop(void) {
DinMeter.update();
if (DinMeter.BtnA.wasPressed()) {
DinMeter.Power.timerSleep(5);
// DinMeter.Power.timerSleep(const rtc_time_t& time);
// DinMeter.Power.timerSleep(const rtc_date_t& date, const rtc_time_t& time);
// DinMeter.Power.powerOff(); shutdown
}
}

After uploading, press the button to see the following effect

On This Page