Power Save - DHT 和 LCD 的深度睡眠

材料准备

  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

  • DHT11 or DHT22 or DHT21 x 1

  • LCD I2C screen x 1

范例说明

介绍

Ameba-D支持低功耗模式,即深度睡眠模式。深度睡眠模式会关闭大多数系统power domain。 DeepSleep模式下核心模块的功耗约为7uA至8uA,而正常状态下约为22mA。这个范例演示了系统在“工作”和“睡眠”之间的切换(省电)。当系统处于唤醒状态时,使用DHT传感器读取数据并在LCD屏幕上显示。5秒钟后,系统自动进入DeepSleep模式以节电。系统将通过唤醒源(Aon计时器,Aon引脚或RTC计时器)唤醒。

流程
Open “File” “Examples” “AmebaPowerSave” “DeepSleep_DHT_LCD_Example”

1

如下图所示设置条件值。
DS_WAKEUP_SOURCE 用于设置唤醒源,用户现在可以选择3个唤醒源,
AON timer (SET_DS_AON_TIMER_WAKEUP);
AON pins (SET_AON_WAKEPIN_WAKEUP);
RTC timer (SET_DS_RTC_WAKEUP);
使用 AON 定时器作为唤醒源
可以通过 AON_TIMER_SLEEP_DURATION 在0到32760000范围(单位毫秒)之间设置AON计时器
使用 AON GPIO 引脚作为唤醒源
对于AMB21,有5个引脚可以设置为AON引脚和上缘触发,GPIOA25(D16)、GPIOA26(D17)、GPIOA21(D26)、GPIOA20(D27)、GPIOA(D28)。
对于AMB23,有8个引脚可以设置为AON引脚和上缘触发,GPIOA12(D9), GPIOA13(D10), GPIOA14(D11), GPIOA15(D12), GPIOA16(D13), GPIOA18(D15), GPIOA19(D16)、GPIOA21(D18)。
对于BW16,有8个引脚可以设置为AON引脚和上缘触发, GPIOA_25 (D7), GPIOA_26 (D8), GPIOA_15 (D9), GPIOA_14 (D10),GPIOA_13 (D11), GPIOA_12 (D12)。
这些 AON 引脚可以使用 SET_AON_GPIO_WAKEUP_GPIOA25 或您想使用的引脚进行设置,如下图所示。

2

使用 RTC 定时器作为唤醒源
RTC定时器通过设置闹钟唤醒系统。闹钟具有4个值,日,时,分和秒。可以通过 DS_RTC_ALARM_DAYDS_RTC_ALARM_HOURDS_RTC_ALARM_MIN``和 ``DS_RTC_ALARM_SEC 设置所有4个值。
DHTPIN 用于设置DHT传感器数据引脚。用户可以选择任何GPIO引脚。
DHTTYPE 用于设置DHT传感器类型。 (DHT11,DHT22和DHT33)

3

但完成设置后,系统将运行正常模式和深度睡眠模式之间切换。然后由唤醒源控制。当系统处于唤醒状态时,液晶屏幕将显示从DHT传感器测得的温度和湿度数据。

程式码说明

请参考 API Documents 相关的说明。