英飞凌PSoC62是一款Cortex-M0+与Cortex-M4的双内核MCU,其有着非常优秀的超低功耗性能。
温度计的器材
选型原因
以上三款都具休有超过功耗性能
程序代码
- 本次的代码是基于RT-Thread Studio创建的。
- 电子墨水屏是移植微雪的标准例程。这里不过多介绍。
- hs3003是利用rtt软件包的模块创建。
- 低耗实现的代码,MCU利用Cortex-M0+的标准进入深度睡眠模式。然后用RTC的ALARM中断来唤醒。设置的唤醒程序如下:
void set_rtc_alarm_date_time(void)
{
cy_rslt_t result;
/* Print the RTC alarm time by UART */
//LOG_D("RTC alarm will be generated after 10 seconds
");
/* Set the RTC alarm for the specified number of seconds in the future by editing the macro(USE_SECONDS_FOR_ALARM) */
result = cyhal_rtc_set_alarm_by_seconds(&rtc_obj, USE_SECONDS_FOR_ALARM);
if (result != CY_RSLT_SUCCESS)
{
rt_kprintf("RTC alarm err
");
}
}
5、主程序代码:
int main(void)
{
cy_rslt_t result;
float temp, humi;
uint8_t show_str[20] = {0};
EPD_GPIO_Init(); //EPD GPIO initialization
//Cy_SysDisableCM4();
__enable_irq();
rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
// rt_thread_mdelay(500);
Paint_NewImage(BlackImage, 128, 296, 270, WHITE); //Set screen size and display orientation
Paint_SelectImage(BlackImage);//Set the virtual canvas data storage location
Paint_NewImage(BlackImage, EPD_WIDTH, EPD_HEIGHT, 270, WHITE); //Set screen size and display orientation
Paint_SelectImage(BlackImage);//Set the virtual canvas data storage location
EPD_DeepSleep();
/* Initialize RTC */
cyhal_rtc_enable_event(&rtc_obj, CYHAL_RTC_ALARM, RTC_INTERRUPT_PRIORITY, true);
set_rtc_alarm_date_time();
for (;;)
{
// cyhal_system_delay_ms(LONG_GLITCH_DELAY_MS);
/* Set MYPIN_0_NUM to Analog HI-Z for low power using HAL APIs. */
// /* Go to deep sleep */
cyhal_syspm_deepsleep();
set_rtc_alarm_date_time();
// rt_kprintf("Wack from sleep!
");
hs300x_read_data(&temp_humi_dev, &humi, &temp);
EPD_HW_Init(); //Electronic paper initialization
EPD_HW_Init_GUI(); //EPD init GUI
Paint_Clear(WHITE);
sprintf(show_str,"温度%02d.%02d℃",(int)temp, (int)(temp*100)%100);
Paint_DrawString_CN(40,0,show_str, &Font24CN, WHITE, BLACK);
sprintf(show_str,"湿度%02d.%02d%%",(int)humi, (int)(humi*100)%100);
Paint_DrawString_CN(40,40,show_str, &Font24CN, WHITE, BLACK);
EPD_Display(BlackImage); //display image
EPD_DeepSleep();//EPD_DeepSleep,Sleep instruction is necessary, please do not delete!!!
}
}
实验的效果
经调试休眠模式下,整体的待机电流低到450uA:
工作电流为19mA:
总结
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
英飞凌
+关注
关注
60文章
1594浏览量
136286 -
温湿度传感器
+关注
关注
5文章
484浏览量
34691 -
温湿度计
+关注
关注
1文章
22浏览量
7806 -
RT-Thread
+关注
关注
29文章
936浏览量
38351 -
NB-IoT
+关注
关注
405文章
1387浏览量
182507
发布评论请先 登录
相关推荐

TI 超低功耗温湿度传感器节点使用长达10年
超低功耗温湿度传感器节点使用长达10年星型网络的温湿度传感器节点实现纽扣电池使用寿命长达 10 年以上,使用超低功耗系统计时器来驱动系统,因此可通过 CR2032 纽扣电池实现 10 年以上
发表于 03-15 14:33
蓝牙温湿度计常用的场景
温湿度计有的直接带显示屏有的是不带显示屏,采用低功耗蓝牙技术一般使用锂亚电池的蓝牙温湿度计能用2-3年的时间。如云里物里的S1和S3两款蓝牙温湿度计,产品使用简单,蓝牙温湿度计仅
发表于 01-05 16:46
工业级温湿度传感器与日常温湿度计的区别
温湿度传感器的应用也越来越普遍,但是,工业级温湿度传感器仍然占据着主导地位。 都是用于温湿度测量,工业级温湿度传感器和普通的温湿度计有什么区别呢? 测量范围广:一般的温湿度计,温度的测量范围为-10~50℃
发表于 06-12 16:29
•2122次阅读
低功耗温湿度传感器HCP2D-3V在电子温湿度计中的应用
温湿度传感器的应用也越来越普遍,但是,工业级温湿度传感器仍然占据着主导地位。 都是用于温湿度测量,工业级温湿度计和普通的温湿度计有什么区别呢?主要是因为他们采用的温湿度传感器的差异。通常来说,民用温
低功耗蓝牙温湿度传感器常用的场景有哪些
温湿度计有的直接带显示屏有的是不带显示屏,采用低功耗蓝牙技术一般使用锂亚电池的蓝牙温湿度计能用2-3年的时间。如云里物里的S1和S3两款蓝牙温湿度计,产品使用简单,蓝牙温湿度计仅需
发表于 02-23 15:16
•494次阅读
基于瑞纳捷RJM8L003低功耗MCU的温湿度计应用
温湿度传感器GX30X系列,搭建了一套低功耗温湿度计方案。 RJM8L003F6P6具体超低功耗的特点,功耗能低至0.6uA,并集成了12位高精度ADC,非常适合温湿度计的电池供电应用。结合中科银河芯的温湿度传感

评论