0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CW32L083設(shè)計的超低功耗溫濕度計

華仔的編程隨筆 ? 來源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-06-25 12:08 ? 次閱讀

【開發(fā)環(huán)境】

1、硬件:CW32L083VxTx StartKit 開發(fā)板,板載有8位LCD段碼屏。

2、軟件環(huán)境:MDK5。

3、溫濕度計:SHT30。

【硬件連接】

開發(fā)板 SHT30

PB11 SDA

PB10 SCL

DVCC VCC

DVSS GND

【功耗測試環(huán)境】

合宙IoT Power功耗測試神器。

【硬件框圖】

硬件框圖.png

【軟件流程圖】

程序流程圖.png

【主要代碼設(shè)計】

本工程主要代碼功能為溫濕傳感器SHT30的數(shù)據(jù)采集、LCD顯示、RTC自動喚醒。下面展示三個功能模塊的主要代碼:

1、SHT30采集模擬IIC通信,主要是IIC的時序產(chǎn)生,與SHT30的單次采集指令發(fā)送與數(shù)據(jù)讀取以及CRC。

IIC的時序產(chǎn)生主要代碼如下:

void IIC_Init(void)

{

//配置PB10 為輸出

//使能GPIOB時鐘

CW_SYSCTRL->AHBEN_f.GPIOB = 1;

//配置PB10 為輸出

CW_GPIOB->ANALOG_f.PIN10 = 0; //設(shè)置 GPIOx_ANALOG.PINy 為 0,將端口配置為數(shù)字功能;

CW_GPIOB->DIR_f.PIN10 = 0; //設(shè)置 GPIOx_DIR.PINy 為 0,將端口配置成輸出;

CW_GPIOB->OPENDRAIN_f.PIN10 = 0; //0:推挽輸出

CW_GPIOB->ODR_f.PIN10 = 1;

CW_GPIOB->ANALOG_f.PIN11 = 0; //設(shè)置 GPIOx_ANALOG.PINy 為 0,將端口配置為數(shù)字功能;

CW_GPIOB->DIR_f.PIN11 = 0; //設(shè)置 GPIOx_DIR.PINy 為 0,將端口配置成輸出;

CW_GPIOB->OPENDRAIN_f.PIN11 = 0; //0:推挽輸出

CW_GPIOB->ODR_f.PIN11 = 1;

}

//IO方向設(shè)置(SDA)

/ xxxxxxxxxxxxxx ****/

void SDA_IN()

{

CW_GPIOB->DIR_f.PIN11 = 1; //設(shè)置 GPIOx_DIR.PINy 為 0,將端口配置成輸出;

}

void SDA_OUT()

{

CW_GPIOB->DIR_f.PIN11 = 0; //設(shè)置 GPIOx_DIR.PINy 為 0,將端口配置成輸出;

CW_GPIOB->OPENDRAIN_f.PIN11 = 0; //0:推挽輸出

}

//產(chǎn)生IIC起始信號

void IIC_Start(void)

{

SDA_OUT(); //sda線輸出

IIC_SDA=1;

IIC_SCL=1;

delay_us(4);

IIC_SDA=0;//START:when CLK is high,DATA change form high to low

delay_us(4);

IIC_SCL=0;//鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù)

}

//產(chǎn)生IIC停止信號

void IIC_Stop(void)

{

SDA_OUT();//sda線輸出

IIC_SCL=0;

IIC_SDA=0;//STOP:when CLK is high DATA change form low to high

delay_us(4);

IIC_SCL=1;

IIC_SDA=1;//發(fā)送I2C總線結(jié)束信號

delay_us(4);

}

//等待應(yīng)答信號到來

//返回值:1,接收應(yīng)答失敗

// 0,接收應(yīng)答成功

/ xxxx修改超時時間 ***/

uint8_t IIC_Wait_Ack(void)

{

uint8_t ucErrTime=0;

SDA_IN(); //SDA設(shè)置為輸入

IIC_SDA=1;delay_us(3);

IIC_SCL=1;delay_us(3);

while(READ_SDA)

{

ucErrTime++;

if(ucErrTime>250)

{

//printf("超時
");

IIC_Stop();

return 1;

}

}

IIC_SCL=0;//時鐘輸出0

return 0;

}

//產(chǎn)生ACK應(yīng)答

void IIC_Ack(void)

{

IIC_SCL=0;

SDA_OUT();

IIC_SDA=0;

delay_us(2);

IIC_SCL=1;

delay_us(2);

IIC_SCL=0;

}

//不產(chǎn)生ACK應(yīng)答

void IIC_NAck(void)

{

IIC_SCL=0;

SDA_OUT();

IIC_SDA=1;

delay_us(2);

IIC_SCL=1;

delay_us(2);

IIC_SCL=0;

}

//IIC發(fā)送一個字節(jié)

//返回從機有無應(yīng)答

//1,有應(yīng)答

//0,無應(yīng)答

void IIC_Send_Byte(uint8_t txd)

{

uint8_t t;

SDA_OUT();

IIC_SCL=0;//拉低時鐘開始數(shù)據(jù)傳輸

for(t=0;t<8;t++)

{

if((txd&0x80)>>7)

IIC_SDA=1;

else

IIC_SDA=0;

txd<<=1;

delay_us(2); //對TEA5767這三個延時都是必須的

IIC_SCL=1;

delay_us(2);

IIC_SCL=0;

delay_us(2);

}

}

//讀1個字節(jié),ack=1時,發(fā)送ACK,ack=0,發(fā)送nACK

uint8_t IIC_Read_Byte(unsigned char ack)

{

unsigned char i,receive=0;

SDA_IN();//SDA設(shè)置為輸入

for(i=0;i<8;i++ )

{

IIC_SCL=0;

delay_us(100);

IIC_SCL=1;

receive<<=1;

if(READ_SDA)receive++;

delay_us(100);

}

if (!ack)

IIC_NAck();//發(fā)送nACK

else

IIC_Ack(); //發(fā)送ACK

return receive;

}

SHT30的測量指令與數(shù)據(jù)獲取及CRC主要代碼如下:

#include "sht30.h"

#define POLYNOMIAL_CXDZ 0x31 // X^8 + X^5 + X^4 + 1

//SHT3X CRC校驗

unsigned char SHT3X_CRC(uint8_t *data, uint8_t len)

{

unsigned char bit; // bit mask

unsigned char crc = 0xFF; // calculated checksum

unsigned char byteCtr; // byte counter

// calculates 8-Bit checksum with given polynomial @GZCXDZ

for(byteCtr = 0; byteCtr < len; byteCtr++) {

crc ^= (data[byteCtr]);

for(bit = 8; bit > 0; --bit) {

if(crc & 0x80) {

crc = (crc << 1) ^ POLYNOMIAL_CXDZ;

} else {

crc = (crc << 1);

}

}

}

return crc;

}

//SHT30命令函數(shù)

//addr:表示產(chǎn)品的序號,因為SHT30使用IIC總線的話一條線上可以掛兩個

void SHT30_CMD(uint16_t cmd)

{

IIC_Start();

IIC_Send_Byte(SHT30_ADDR+0); //發(fā)送設(shè)備地址,寫寄存器

IIC_Wait_Ack();

IIC_Send_Byte((cmd>>8)&0xff); //MSB

IIC_Wait_Ack();

IIC_Send_Byte(cmd&0xff); //LSB

IIC_Wait_Ack();

IIC_Stop();

SysTickDelay(500);//命令發(fā)完后需要等待20ms以上才能讀寫

}

//SHT30讀取溫濕度

//temp:溫度,-400~1250,實際溫度=temp/10,分辨率0.1℃,精度±0.3℃

//humi:濕度,0~1000,實際濕度=humi/10,分辨率0.1%rh,精度±3

//返回0成功,1失敗

uint8_t SHT30_Read_Humiture(int *temp,uint16_t *humi)

{

uint8_t buff[6];

SHT30_CMD(SHT30_READ_HUMITURE);//讀溫濕度命令

IIC_Start();

IIC_Send_Byte(SHT30_ADDR+1); //發(fā)送設(shè)備地址,讀寄存器

IIC_Wait_Ack();

buff[0]=IIC_Read_Byte(1);//繼續(xù)讀,給應(yīng)答

buff[1]=IIC_Read_Byte(1);//繼續(xù)讀,給應(yīng)答

buff[2]=IIC_Read_Byte(1);//繼續(xù)讀,給應(yīng)答

buff[3]=IIC_Read_Byte(1);//繼續(xù)讀,給應(yīng)答

buff[4]=IIC_Read_Byte(1);//繼續(xù)讀,給應(yīng)答

buff[5]=IIC_Read_Byte(0);//不繼續(xù)給停止應(yīng)答

IIC_Stop();

//printf("buff=%d,%d,%d,%d,%d,%d
",buff[0],buff[1],buff[2],buff[3],buff[4],buff[5]);

//CRC校驗

if(SHT3X_CRC(&buff[0],2)==buff[2] && SHT3X_CRC(&buff[3],2)==buff[5])

{

temp=(-45+(175.0 ((buff[0]<<8)+buff[1])/65535.0)) *10;

humi=10100* ((buff[3]<<8)+buff[4])/65535.0;

if(*temp>1250) *temp=1250;

else if(*temp<-400) *temp=-400;

return 0;

}

else return 1;

}

//SHT30初始化

void SHT30_Init()

{

IIC_Init();

}

2、LCD屏的顯示,分為兩個部分,一個是定義了段碼顯示的高、低位顯示數(shù)組; 二是封裝了數(shù)量顯示了函數(shù),具體代碼如下:

/* 段碼低8(左) */

static uint8_t num_L[10] = {

0x0d, //0

0x00, //1

0x0e, //2

0x0a, //3

0x03, //4

0x0b, //5

0x0f, //6

0x00, //7

0x0f, //8

0x0b, //9

};

/* 段碼高8(右) */

static uint8_t num_H[10] = {

0x07,

0x06,

0x03,

0x07,//3

0x06,//4

0x05, //5

0x05, //

0x07, //7

0x07, //8

0x07, //9

};

void Lcd_clear(void)

{

CW_LCD->RAM0 = 0;

CW_LCD->RAM1 = 0;

CW_LCD->RAM8 = 0;

CW_LCD->RAM9 = 0;

}

void show_nums(uint32_t num)

{

uint8_t i=0;

uint8_t j;

uint32_t temp;

temp = num;

//空顯示

Lcd_clear();

if(temp == 0)

show_num(0,0,0);

while(temp>0)

{

j = temp%10;

show_num(i,j,0);

temp /=10;

i++;

}

}

/**

*功能:顯示數(shù)字到LCD段碼屏上

*輸入參數(shù)1:顯示在哪個位上7-0

*輸入?yún)?shù)2:需要顯示數(shù)字

*輸入?yún)?shù)3:是否需要顯示小數(shù)點

*/

void show_num(uint8_t wei, uint8_t num, uint8_t doit)

{

uint8_t temp_H;

temp_H = num_H[num];

if(0 != doit)

{

temp_H = temp_H + 8 ; //第四位置1顯示小數(shù)點

}

switch(wei)

{

case 7:

{

//顯示第7個數(shù)碼管

CW_LCD->RAM0 |= temp_H <<8 | num_L[num];

break;

}

case 6:

{

//顯示第6個數(shù)碼

CW_LCD->RAM0 |= (temp_H<<8 | num_L[num]) <<16;

break;

}

case 5:

{

//顯示第5個數(shù)碼管

CW_LCD->RAM1 |= num_L[num];

CW_LCD->RAM8 |= temp_H;

break;

}

case 4:

{

//顯示第4個數(shù)碼管

CW_LCD->RAM8 |= temp_H<<16 | num_L[num]<<8;

break;

}

case 3:

{

//顯示第3個數(shù)碼管

CW_LCD->RAM8 |= num_L[num]<<24;

CW_LCD->RAM9 |= temp_H;

break;

}

case 2:

{

//顯示第2個數(shù)碼管

CW_LCD->RAM9 |= temp_H<<16 | num_L[num]<<8;

break;

}

case 1:

{

//顯示第1個數(shù)碼管

CW_LCD->RAM1 |= temp_H<<8;

CW_LCD->RAM9 |= num_L[num]<<24;

break;

}

case 0:

{

//顯示第0個數(shù)碼管

CW_LCD->RAM1 |= temp_H<<24 | num_L[num]<<16;

break;

}

}

}

void LCD_Configuration(void)

{

LCD_InitTypeDef LCD_InitStruct = {0};

LCD_InitStruct.LCD_Bias = LCD_Bias_1_3;

LCD_InitStruct.LCD_ClockSource = LCD_CLOCK_SOURCE_LSI;

LCD_InitStruct.LCD_Duty = LCD_Duty_1_4;

LCD_InitStruct.LCD_ScanFreq = LCD_SCAN_FREQ_128HZ;

LCD_InitStruct.LCD_VoltageSource = LCD_VoltageSource_Internal;

__RCC_LCD_CLK_ENABLE();

RCC_LSI_Enable();

LCD_Init(&LCD_InitStruct); //基本配置

// BTL004 LCD 對應(yīng)的連接

//PA12 COM3

//PA11 COM2

//PA10 COM1

//PA09 COM0

//PA08 SEG0

//PC09 SEG1

//PC08 SEG2

//PC07 SEG3

//PC06 SEG4

//PD15 SEG32

//PD14 SEG33

//PD13 SEG34

//PD12 SEG35

//PD11 SEG36

//PD10 SEG37

//PD09 SEG38

//PD08 SEG39

//PB15 SEG5

//PB14 SEG6

//PB13 SEG7

// 分配引腳

LCD_COMConfig(LCD_COM0 | LCD_COM1 | LCD_COM2 | LCD_COM3, ENABLE);

LCD_SEG0to23Config(0x0000FF, ENABLE);

LCD_SEG32to55Config(0x0000FF,ENABLE);

CW_LCD->RAM[0] = 0;

CW_LCD->RAM[1] = 0;

CW_LCD->RAM2 = 0;

CW_LCD->RAM3 = 0;

CW_LCD->RAM4 = 0;

CW_LCD->RAM5 = 0;

CW_LCD->RAM6 = 0;

CW_LCD->RAM7 = 0;

CW_LCD->RAM8 = 0;

CW_LCD->RAM9 = 0;

CW_LCD->RAM10 = 0;

CW_LCD->RAM11 = 0;

CW_LCD->RAM12 = 0;

CW_LCD->RAM13 = 0;

LCD_Cmd(ENABLE);

CW_LCD->RAM0 = 0;

LCD_ContrastConfig(LCD_Contrast_Level_6);

LCD_DriveVoltageConfig(LCD_INRS_LEVEL_0);

}

3、功耗控制主要是通過進入深度睡眠模式來實現(xiàn)節(jié)能,并通過RTC的AWT模塊來實現(xiàn)定時喚醒。在此模塊中,我們配置了AWT時鐘源為RTC_AWTSOURCE_FROM_RTC1HZ_1即1秒為單位的喚醒,我們可以通過RTC_AWTARR 喚醒定時器重載值,來實現(xiàn)以秒為單位的休眠時長。主要代碼如下:

//進入低功耗設(shè)置

void entry_power(void)

{

// //1,先判斷是否上電復(fù)位

RTC_InitTypeDef RTC_InitStruct = {0};

RTC_AWTTypeDef RCT_AWTStruct = {0};

RCC_LSE_Enable(RCC_LSE_MODE_OSC, RCC_LSE_AMP_NORMAL, RCC_LSE_DRIVER_NORMAL); // 選擇LSE為RTC時鐘

RTC_InitStruct.DateStruct.Day = 0x24; //設(shè)置日期,DAY、MONTH、YEAR必須為BCD方式,星期為0~6,代表星期日,星期一至星期六

RTC_InitStruct.DateStruct.Month = RTC_Month_June;

RTC_InitStruct.DateStruct.Week = RTC_Weekday_Monday;

RTC_InitStruct.DateStruct.Year = 0x23;

RTC_InitStruct.TimeStruct.Hour = 0x11; //設(shè)置時間,HOUR、MINIUTE、SECOND必須為BCD方式,用戶須保證HOUR、AMPM、H24之間的關(guān)聯(lián)正確性

RTC_InitStruct.TimeStruct.Minute = 0x58;

RTC_InitStruct.TimeStruct.Second = 0x59;

RTC_InitStruct.TimeStruct.AMPM = 0;

RTC_InitStruct.TimeStruct.H24 = 0;

RTC_InitStruct.RTC_ClockSource = RTC_RTCCLK_FROM_LSE;

RTC_Init(&RTC_InitStruct); //

//設(shè)置自動喚醒

RCT_AWTStruct.AWT_ClockSource = RTC_AWTSOURCE_FROM_RTC1HZ_1;

RCT_AWTStruct.AWT_ARRValue = 60;

RTC_AWTConfig(&RCT_AWTStruct);

RTC_AWTCmd(ENABLE);

RCC_APBPeriphClk_Enable1(RCC_APB1_PERIPH_RTC, ENABLE);

RTC_ITConfig(RTC_IT_AWTIMER, ENABLE);

}

4、在主程序中,我們先初始基本外設(shè)后進行循環(huán)的采集——顯示——休眠——喚醒來實現(xiàn)溫濕度采集的目標(biāo),主程序主要代碼如下:

int32_t main(void)

{

uint16_t temp;

int t[20];

uint16_t h[20];

RCC_Configuration();

NVIC_Configuration();

LCD_Configuration();

InitTick(8000000);

SHT30_Init();

Lcd_clear();

SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;

entry_power();

while(1)

{

SHT30_Read_Humiture(t,h);

temp = t[0];

Lcd_clear();

show_num(2, temp/100,0);

show_num(1, (temp/10)%10,1);

show_num(0, temp%10,0);

temp = h[0];

show_num(7, temp/100,0);

show_num(6, (temp/10)%10,1);

show_num(5, temp%10,0);

CW_SYSCTRL->AHBEN_f.GPIOB = 0;

__DSB();

__WFI();

SHT30_Init();

}

}

【實現(xiàn)的效果】

我們設(shè)定60秒中喚醒進行一次溫顯度采集,實現(xiàn)了休眠電流為5uA,綜合平均工作電流為13uA、平均功率為?;緷M足了以電池供電的環(huán)境下的超長工作。

溫濕計.jpg

功耗.png

【討論】

CW32L083集成了LCD控制器,可以實現(xiàn)數(shù)據(jù)采集、顯示的超低功耗工作。非常適合用于電池供電的環(huán)境下工作。本次試驗雖然獲得了理想效果,但是還有一些可以改進的地方。

1、在待機中的主要電流產(chǎn)生是LCD屏產(chǎn)生的功耗,如果在特殊的環(huán)境下,不需要長時間顯示,可以適時關(guān)閉LCD屏,這樣可以節(jié)約差不多4uA的工作電流。啟用按鍵來人工參與顯示數(shù)據(jù),這樣又可以更進一步降低超機功耗。

2、在工作電流中,主要消耗的是SHT30的溫度轉(zhuǎn)換時產(chǎn)生的大電流。如果應(yīng)用的生產(chǎn)環(huán)境,可以在等待溫度轉(zhuǎn)換時,降低MCU的主頻或者進入sleep模式以降低能耗。

[[]()]()

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5050

    瀏覽量

    97455
  • 溫濕度計
    +關(guān)注

    關(guān)注

    1

    文章

    23

    瀏覽量

    8091
  • MDK5
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    5740
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    203

    瀏覽量

    640
收藏 人收藏

    評論

    相關(guān)推薦

    基于CW32模塊的SHT30溫濕度傳感器設(shè)計

    我們的目標(biāo)是將例程移植至CW32F030C8T6開發(fā)板上【測量溫濕度的功能】。首先要獲取資料,查看數(shù)據(jù)手冊應(yīng)如何實現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
    的頭像 發(fā)表于 11-12 11:14 ?295次閱讀
    基于<b class='flag-5'>CW</b>32模塊的SHT30<b class='flag-5'>溫濕度</b>傳感器設(shè)計

    LORA無線溫濕度監(jiān)測系統(tǒng)

    LORA無線溫濕度監(jiān)測系統(tǒng),作為現(xiàn)代環(huán)境監(jiān)測技術(shù)的重要組成部分,正日益受到各行各業(yè)的廣泛關(guān)注和應(yīng)用。 LORA無線溫濕度監(jiān)測系統(tǒng),利用LORA無線通信技術(shù),對環(huán)境中溫度和濕度的實時監(jiān)測和數(shù)據(jù)傳輸,為
    的頭像 發(fā)表于 11-07 16:57 ?332次閱讀

    溫濕度控制器的功能和應(yīng)用

    溫濕度控制器在電阻柜中的應(yīng)用主要涉及以下幾個方面: 溫濕度控制器的功能 檢測與控制:溫濕度控制器可以同時檢測和控制環(huán)境中的溫度和濕度。它通常由傳感器、控制器和加熱器三部分組成。傳感器負(fù)
    的頭像 發(fā)表于 11-07 15:08 ?208次閱讀

    藍牙溫濕度傳感器:準(zhǔn)確監(jiān)測,智能管理

    藍牙溫濕度傳感器以其高精度、低功耗、易操作、多功能的特點,成為了現(xiàn)代溫濕度監(jiān)測領(lǐng)域的佼佼者。無論是在工業(yè)生產(chǎn)、倉儲管理,還是家庭健康、農(nóng)業(yè)生產(chǎn)等領(lǐng)域,它都發(fā)揮著重要的作用。
    的頭像 發(fā)表于 10-15 16:46 ?326次閱讀

    溫濕度監(jiān)測系統(tǒng)應(yīng)用

    在現(xiàn)代化工業(yè)生產(chǎn)、倉儲管理、農(nóng)業(yè)種植以及智能家居等領(lǐng)域,溫濕度監(jiān)測已成為不可或缺的一環(huán)。溫濕度作為環(huán)境控制的關(guān)鍵因素,直接影響著產(chǎn)品質(zhì)量、存儲安全、作物生長效率以及居住舒適度。因此,一套高效、精準(zhǔn)
    的頭像 發(fā)表于 07-26 16:15 ?406次閱讀

    庫房溫濕度自動監(jiān)測系統(tǒng)

    倉儲、庫房在管理上,環(huán)境控制都是重中之重。庫房溫濕度自動監(jiān)測系統(tǒng)作為一種更為便捷的解決方案,已經(jīng)得到廣泛的應(yīng)用。 庫房溫濕度自動監(jiān)測系統(tǒng)通過集成傳感器、數(shù)據(jù)采集器、傳輸設(shè)備和管理平臺等硬件設(shè)備,實現(xiàn)
    的頭像 發(fā)表于 07-09 18:00 ?704次閱讀

    糧倉溫濕度監(jiān)測解決方案

    溫濕度是影響糧食儲存品質(zhì)的重要因素。過高的溫度會加速糧食的呼吸作用,導(dǎo)致水分散失和品質(zhì)下降。因此,糧倉的溫濕度管理,成為了確保糧食儲存安全和質(zhì)量穩(wěn)定的關(guān)鍵因素。方便及時發(fā)現(xiàn)糧倉的發(fā)熱點,及時減少糧食
    的頭像 發(fā)表于 07-04 16:37 ?349次閱讀

    想要準(zhǔn)確地測量環(huán)境溫濕度?溫濕度傳感器是關(guān)鍵!

    ? 溫濕度是生產(chǎn)生活中最重要的環(huán)境指標(biāo)之一,不僅人需要在適宜的溫濕度條件下保持良好的精神狀態(tài)和敏捷的思維,食品、藥品、各種儀器設(shè)備等都對環(huán)境溫濕度有特殊的要求?;趯Νh(huán)境溫濕度的要求,
    的頭像 發(fā)表于 07-04 08:48 ?566次閱讀

    無線溫濕度監(jiān)控系統(tǒng)

    無線溫濕度監(jiān)控系統(tǒng),作為現(xiàn)代環(huán)境監(jiān)測技術(shù)的杰出代表,已經(jīng)廣泛應(yīng)用于各個行業(yè)和領(lǐng)域。利用無線通信技術(shù),實現(xiàn)對環(huán)境溫濕度的實時、遠程監(jiān)控,從而保障了各種設(shè)備和物品的安全運行和保存。 無線溫濕度控制系統(tǒng)
    的頭像 發(fā)表于 05-30 16:43 ?762次閱讀

    小白測功耗之藍牙溫濕度傳感器

    小小的溫濕度計,是人們?nèi)粘I钪械闹悄苄褪?,也是極為典型的電池供電類低功耗產(chǎn)品。通常采用紐扣電池供電,可方便地擺放或粘貼于各種應(yīng)用場景。市面上常見的溫濕度計功耗到底有多低?今天,我
    的頭像 發(fā)表于 04-16 08:04 ?1323次閱讀
    小白測<b class='flag-5'>功耗</b>之藍牙<b class='flag-5'>溫濕度</b>傳感器

    溫濕度傳感器有哪些應(yīng)用場景?

    溫濕度傳感器在眾多領(lǐng)域,特別是在實時記錄溫濕度變化的工作中最為廣泛。溫濕度傳感器可以根據(jù)所記錄的內(nèi)容,對其進行科學(xué)有效的管理、分析和歸納。下面我們就溫濕度傳感器在不同場景中的應(yīng)用做下介
    的頭像 發(fā)表于 02-19 16:28 ?1357次閱讀
    <b class='flag-5'>溫濕度</b>傳感器有哪些應(yīng)用場景?

    溫濕度傳感器工作原理 溫濕度傳感器的接線方法

    溫濕度傳感器是一種用于測量環(huán)境溫度和相對濕度的裝置。它通常用于工業(yè)、農(nóng)業(yè)、氣象、室內(nèi)空調(diào)等領(lǐng)域。本文將詳細(xì)介紹溫濕度傳感器的工作原理和接線方法。 一、溫濕度傳感器的工作原理
    的頭像 發(fā)表于 02-14 18:00 ?9477次閱讀

    溫濕度監(jiān)測系統(tǒng)解決方案應(yīng)用場景

    隨著生活水平質(zhì)量不斷提高,因溫度引發(fā)的各行業(yè)越來越重視產(chǎn)品生產(chǎn)、物品設(shè)備、存儲等溫濕度管理環(huán)境。科學(xué)應(yīng)用溫濕度監(jiān)測系統(tǒng),確保在儲運過程中或?qū)嶒?、生產(chǎn)制造等過程中,有無任何危及產(chǎn)品安全的事件發(fā)生
    的頭像 發(fā)表于 01-24 16:21 ?605次閱讀

    請問如何優(yōu)化CW32L083微控制器的功耗?

    在進行低功耗設(shè)計時,如何優(yōu)化CW32L083系列微控制器的功耗
    發(fā)表于 01-17 07:16

    CW32L083系列微控制器的ADC和DAC模塊要如何使用?怎么配置?

    如何配置和使用CW32L083系列微控制器的ADC和DAC模塊?
    發(fā)表于 01-17 06:08