目的
驅動hs3003溫濕度傳感器,采集完數據后進入深度睡眠模式,以達到節(jié)能的目的。
實現步聚
1、打開rtthreadsettings, 添加hs300x模塊:
2、添加初始化代碼:
#define HS300X_I2C_BUS "i2c1"
int rt_hw_hs300x_port(void)
{
struct rt_sensor_config cfg;
cfg.intf.dev_name = HS300X_I2C_BUS;
cfg.intf.user_data = (void *)HS300X_I2C_ADDR;
rt_hw_hs300x_init("hs300x", &cfg);
return RT_EOK;
}
INIT_ENV_EXPORT(rt_hw_hs300x_port);
3、修改主程序代碼如下:
#include
#include
#include "sensor_renesas_hs300x.h"
#include "drv_gpio.h"
#define LED_PIN GET_PIN(0, 0)
#define USE_SECONDS_FOR_ALARM 30
#define LONG_GLITCH_DELAY_MS 100u /* in ms */
#define RTC_INTERRUPT_PRIORITY 3u
void set_rtc_alarm_date_time(void);
cyhal_rtc_t rtc_obj;
extern struct hs300x_device temp_humi_dev;
int main(void)
{
cy_rslt_t result;
float temp_f, humi_f;
__enable_irq();
rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
rt_thread_mdelay(500);
/* Initialize RTC */
cyhal_rtc_enable_event(&rtc_obj, CYHAL_RTC_ALARM, RTC_INTERRUPT_PRIORITY, true);
for (;;)
{
rt_kprintf("Go to DeepSleep mode
");
set_rtc_alarm_date_time();
cyhal_system_delay_ms(LONG_GLITCH_DELAY_MS);
// /* Go to deep sleep */
cyhal_syspm_deepsleep();
rt_kprintf("Wakeup from DeepSleep mode
");
hs300x_read_data(&temp_humi_dev, &humi_f, &temp_f);
// /* Set the RTC generate alarm after 10 seconds */
rt_kprintf("Temp:%2d.%df, Humi:%2d%%
",(int)temp_f,(int)(temp_f*10)%10, (int)humi_f);
}
}
實驗效果
[I/I2C] I2C bus [i2c1] registered
| /
- RT - Thread Operating System
/ | 4.1.1 build May 28 2023 12:08:51
2006 - 2022 Copyright by RT-Thread team
[D/drv.rtc] rtc init success
[D/drv.rtc] RTC: get rtc_time 946684800
[D/drv.rtc] RTC: get rtc_time 946684800
[D/drv.rtc] RTC: get rtc_time 946684800
[I/sensor] rt_sensor[temp_hs300x] init success
[I/sensor] rt_sensor[humi_hs300x] init success
msh >Go to DeepSleep mode
Wakeup from DeepSleep mode
Temp:29.6f, Humi:77%
Go to DeepSleep mode
用電流表測試深度睡眠相比休眠模式少15MA左右,因為板載的DAP等其他元件在用電,所以還不能測試出來工作電路的電流情況。
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
英飛凌
+關注
關注
66文章
2188瀏覽量
138716 -
傳感器
+關注
關注
2551文章
51097瀏覽量
753525 -
數據采集
+關注
關注
39文章
6100瀏覽量
113652 -
低功耗
+關注
關注
10文章
2403瀏覽量
103699 -
電流表
+關注
關注
2文章
231瀏覽量
26225
發(fā)布評論請先 登錄
相關推薦
Si7001溫濕度傳感器在家庭等數據采集系統(tǒng)的應用
越來越大的市場潛力?! ”疚闹?,通過Silicon Labs的Si7001溫濕度傳感器,C8051F985低功耗MCU,CP2403 LCD驅動,和LCD顯示器構建一個用于家庭等溫度、濕度數據采集
發(fā)表于 08-22 08:52
基于單片機的無線溫濕度數據采集系統(tǒng)的設計
有誰做過基于單片機的無線溫濕度數據采集系統(tǒng)的設計,這個畢業(yè)設計?。∧馨l(fā)我一份嗎?萬分感謝?。。福保埃矗玻福福罚福溃瘢瘢悖铮?/div>
發(fā)表于 05-15 20:06
《溫濕度檢測系統(tǒng)》+折線圖顯示DHT11溫濕度數據
因為手上有一塊DHT11溫濕度傳感器一直沒有使用過,今天就做了這個簡易的溫濕度檢測系統(tǒng)。具體實現,不過是將采集的溫濕度數據繪制成折線圖而已。一、模塊簡介DHT11是一個集溫度、
發(fā)表于 06-28 22:25
基于Si7001溫濕度傳感器的家庭等數據采集系統(tǒng)設計
前言隨著生活水平的提高,家具智能化的需求逐步顯現,溫度、濕度等數據采集的應用也開始顯現出越來越大的市場潛力。本文中,通過Silicon Labs的Si7001溫濕度傳感器,C8051F985低
發(fā)表于 07-08 08:31
基于STM32的溫濕度采集系統(tǒng)設計
①利用stm32對DHT11模塊進行數據采集②將采集到的溫濕度數據上云(本次實驗并未成功上云)二、實驗環(huán)境硬件:STM32F407ZGT6、DHT11溫濕度傳感器、杜邦線等軟件:Kei
發(fā)表于 08-10 08:17
Si7001溫濕度傳感器在家庭等數據采集系統(tǒng)的應用
本文中,通過Silicon Labs的Si7001溫濕度傳感器,C8051F985低功耗MCU,CP2403 LCD驅動,和LCD顯示器構建一個用于家庭等溫度、濕度數據采集的系統(tǒng).
發(fā)表于 08-18 09:50
?1141次閱讀
基于STM32的低功耗溫濕度采集器的設計與實現
本文主要介紹了一種基于STM32F103RET6的低功耗溫濕度采集器的設計與實現,系統(tǒng)主要有供電模塊,USB全速通信模塊,STM32芯片,SD卡存儲模塊,溫濕度傳感器,串口通信模塊,J
發(fā)表于 12-23 14:28
?1.6w次閱讀
基于單片機的低功耗溫濕度數據采集器的研制
在采用中央空調系統(tǒng)的建筑物中’為評價其系統(tǒng)質量’需要對空調房間空氣的溫(濕度進行長時間的監(jiān)測)為此’研制開發(fā)了以MSP430單片機為核心的低功耗溫(濕度數據采集器)介紹了該數據采集器的
發(fā)表于 06-24 10:41
?16次下載
藍牙溫濕度數據記錄儀
Apresys藍牙溫濕度數據記錄儀采用最先進的低功耗藍牙4.0技術,結合高性能集成電路,實現溫濕度記錄儀與移動藍牙設備之間的無線通信。小巧便攜的藍牙溫濕度記錄儀可實現長達30米的有效無
發(fā)表于 03-16 14:59
?0次下載
溫濕度數據采集遠程監(jiān)控系統(tǒng)解決方案
隨著科技的不斷發(fā)展,人們對于生活品質的要求也在不斷提高。在日常生活和生產活動中,溫濕度的控制與監(jiān)測變得越來越重要,例如在家庭、辦公室、實驗室、倉庫等場所。對此,數之能提供面向工業(yè)場景的溫濕度數據采集
評論