chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

CW32模塊使用 SHT30溫濕度傳感器

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-11-14 17:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、模塊來源

模塊實物展示:

wKgZoWc1xV6AT2l4AAAbIG9cn7k189.jpg


資料下載鏈接:
https://pan.baidu.com/s/1kisMJspcV6Qdr1ye9ElOlQ

二、規(guī)格參數(shù)

工作電壓:2.4-5.5V

工作電流:0.2~1500uA

溫度測量范圍:-40~125℃

溫度測量精度:±0.3℃

濕度測量范圍:0~100%RH

濕度測量精度:±2%RH

輸出方式: IIC

管腳數(shù)量:4 Pin

以上信息見廠家資料文件

三、移植過程

我們的目標(biāo)是將例程移植至CW32F030C8T6開發(fā)板上【測量溫濕度的功能】。首先要獲取資料,查看數(shù)據(jù)手冊應(yīng)如何實現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。

3.1查看資料

SHT30是采用的IIC通信,所以首先要了解IIC的地址與時序,再確定根據(jù)寄存器的設(shè)置。

模塊原理圖

wKgaoWc1xV6AZRZEAAA9qBWDPZ0830.jpg

SHT30地址

數(shù)據(jù)手冊上說明,當(dāng)ADDR引腳接入VSS(接地)時,地址為0X44。而原理圖上已經(jīng)通過R14這個下拉電阻接地。不過需要注意的是,實際地址為 0X44 左移一位,因需要空出最低位給讀寫位,所以實際的地址是 0X44 << 1。

wKgZoWc1xV6AU8wYAAAjnkQ0C5I296.jpg

測量模式

SHT30有兩種測量模式,分別是單次測量模式和周期測量模式。

在單次測量模式下,發(fā)出一個測量命令就觸發(fā)一次數(shù)據(jù)采集。每個數(shù)據(jù)都由一個16位的溫度值和一個16位的濕度值(按此順序)組成。在傳輸過程中,每個數(shù)據(jù)值后面總是跟著一個CRC校驗和。但是在該模式下又分有時鐘拉伸模式和時鐘不拉伸模式,具體情況見下圖。

wKgaoWc1xV-AOA0nAACL9L_NyJg086.jpg

并且在單次測量模式下,可以選擇不同的測量命令。它們在可重復(fù)性(低、中、高)和時鐘拉伸(啟用或禁用)方面有所不同。這里的可重復(fù)性設(shè)置影響測量持續(xù)時間,從而影響傳感器的總體能耗。

wKgZoWc1xV-AeL1oAAAz9vYNM_A156.jpg

在周期測量模式下,時鐘拉伸模式禁用,但是可以分為高中低的可重復(fù)性測量,測量周期為0.5、1、2、4、10(單位 次/秒)(這種模式下最快的測量速度是1秒10次)如果傳感器在一種工作模式下正在測量數(shù)據(jù),此時要發(fā)送其他命令(推薦先發(fā)送一次中斷命令),讓傳感器停止當(dāng)前的測量,進(jìn)入單次測量模式,然后再發(fā)送命令。這里需要注意:如果測量頻率過高,會導(dǎo)致傳感器自熱。

wKgaoWc1xWCAQcnvAABKuMHJrY8259.jpg

設(shè)置好周期測量模式的測量周期和可重復(fù)性強度后,隨時可以進(jìn)行測量讀取數(shù)據(jù),需要發(fā)送一個讀取命令(0XE000)。一旦讀取時序結(jié)束之后,寄存器中的數(shù)值就會清零,如果這時再一次讀取數(shù)據(jù)將得到0。下一次測量結(jié)束后,寄存器的值就會重新寫入。

wKgZoWc1xWCAPGALAABEfKwSAXg309.jpg

3.2引腳選擇

wKgaoWc1xWGAfZWTAAGLUs1dnqg002.jpg

接線表

3.3移植至工程

工程模板參考入門手冊的工程模板

移植步驟中的導(dǎo)入.c和.h文件與【CW32模塊使用】DHT11溫濕度傳感器相同,只是將.c和.h文件更改為bsp_sht30.c與bsp_sht30.h。這里不再過多講述,移植完成后面修改相關(guān)代碼。

在文件bsp_sht30.c中,編寫如下代碼。

/* * Change Logs: * Date Author Notes * 2024-06-20 LCKFB-LP first version */ #include "bsp_sht30.h" #include "stdio.h" double Temperature = 0.0, Humidity = 0.0; /****************************************************************** * 函 數(shù) 名 稱:SHT30_GPIO_Init * 函 數(shù) 說 明:SHT30的引腳初始化 * 函 數(shù) 形 參:無 * 函 數(shù) 返 回:無 * 作 者:LC * 備 注:無 ******************************************************************/ void SHT30_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化結(jié)構(gòu)體 RCC_SHT30_ENABLE(); // 使能GPIO時鐘 GPIO_InitStruct.Pins = GPIO_SCL|GPIO_SDA; // GPIO引腳 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; // 開漏輸出 GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; // 輸出速度高 GPIO_Init(PORT_SHT30, &GPIO_InitStruct); // 初始化 } /****************************************************************** * 函 數(shù) 名 稱:IIC_Start * 函 數(shù) 說 明:IIC起始時序 * 函 數(shù) 形 參:無 * 函 數(shù) 返 回:無 * 作 者:LC * 備 注:無 ******************************************************************/ void IIC_Start(void) { SDA_OUT(); SCL(1); SDA(0); SDA(1); delay_us(5); SDA(0); delay_us(5); SCL(0); } /****************************************************************** * 函 數(shù) 名 稱:IIC_Stop * 函 數(shù) 說 明:IIC停止信號 * 函 數(shù) 形 參:無 * 函 數(shù) 返 回:無 * 作 者:LC * 備 注:無 ******************************************************************/ void IIC_Stop(void) { SDA_OUT(); SCL(0); SDA(0); SCL(1); delay_us(5); SDA(1); delay_us(5); } /****************************************************************** * 函 數(shù) 名 稱:IIC_Send_Ack * 函 數(shù) 說 明:主機發(fā)送應(yīng)答或者非應(yīng)答信號 * 函 數(shù) 形 參:0發(fā)送應(yīng)答 1發(fā)送非應(yīng)答 * 函 數(shù) 返 回:無 * 作 者:LC * 備 注:無 ******************************************************************/ void IIC_Send_Ack(unsigned char ack) { SDA_OUT(); SCL(0); SDA(0); delay_us(5); if(!ack) SDA(0); else SDA(1); SCL(1); delay_us(5); SCL(0); SDA(1); } /****************************************************************** * 函 數(shù) 名 稱:I2C_WaitAck * 函 數(shù) 說 明:等待從機應(yīng)答 * 函 數(shù) 形 參:無 * 函 數(shù) 返 回:0有應(yīng)答 1超時無應(yīng)答 * 作 者:LC * 備 注:無 ******************************************************************/ unsigned char I2C_WaitAck(void) { char ack = 0; unsigned char ack_flag = 10; SCL(0); SDA(1); SDA_IN(); SCL(1); while( (SDA_GET()==1) && ( ack_flag ) ) { ack_flag--; delay_us(5); } if( ack_flag <= 0 ) { IIC_Stop(); return 1; } else { SCL(0); SDA_OUT(); } return ack; } /****************************************************************** * 函 數(shù) 名 稱:Send_Byte * 函 數(shù) 說 明:寫入一個字節(jié) * 函 數(shù) 形 參:dat要寫人的數(shù)據(jù) * 函 數(shù) 返 回:無 * 作 者:LC * 備 注:無 ******************************************************************/ void Send_Byte(u8 dat) { int i = 0; SDA_OUT(); SCL(0);//拉低時鐘開始數(shù)據(jù)傳輸 for( i = 0; i < 8; i++ ) { SDA( (dat & 0x80) >> 7 ); delay_us(1); SCL(1); delay_us(5); SCL(0); delay_us(5); dat> 8 ) ); //返回0為產(chǎn)生了應(yīng)答,返回1說明通信失敗 if( I2C_WaitAck() == 1 )return 2; //發(fā)送命令的低8位 Send_Byte(dat & 0xff ); //返回0為產(chǎn)生了應(yīng)答,返回1說明通信失敗 if( I2C_WaitAck() == 1 )return 3; // IIC_Stop(); return 0; } /****************************************************************** * 函 數(shù) 名 稱:crc8 * 函 數(shù) 說 明:CRC校驗 * 函 數(shù) 形 參:data要校驗的數(shù)據(jù)地址 len要校驗的長度 * 函 數(shù) 返 回:校驗后的值 * 作 者:LC * 備 注:無 ******************************************************************/ unsigned char crc8(const unsigned char *data, int len) { const unsigned char POLYNOMIAL = 0x31; unsigned char crc = 0xFF; int j, i; for (j=0; j> 8 )); if( I2C_WaitAck() == 1 )return 2; Send_Byte( dat & 0xff ); if( I2C_WaitAck() == 1 )return 3; //如不使用超時判斷,很容易數(shù)據(jù)錯亂 do { //超時判斷 i++; if( i > 20 ) return 4; delay_ms(2); IIC_Start(); Send_Byte((0X44

在文件bsp_sht30.h中,編寫如下代碼。

/* * Change Logs: * Date Author Notes * 2024-06-20 LCKFB-LP first version */ #ifndef _BSP_SHT30_H_ #define _BSP_SHT30_H_ #include "board.h" extern double Temperature, Humidity; #define u8 unsigned char //端口移植 #define RCC_SHT30_ENABLE() __RCC_GPIOB_CLK_ENABLE() #define PORT_SHT30 CW_GPIOB #define GPIO_SDA GPIO_PIN_8 #define GPIO_SCL GPIO_PIN_9 //SDA輸入模式 #define SDA_IN() { GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pins = GPIO_SDA; GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_Init(PORT_SHT30, &GPIO_InitStruct); } //SDA輸出模式 #define SDA_OUT() { GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pins = GPIO_SDA; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_Init(PORT_SHT30, &GPIO_InitStruct); } //獲取SDA引腳的電平變化 #define SDA_GET() GPIO_ReadPin(PORT_SHT30, GPIO_SDA) //SDA與SCL輸出 #define SDA(x) GPIO_WritePin(PORT_SHT30, GPIO_SDA, (x?GPIO_Pin_SET:GPIO_Pin_RESET ) ) #define SCL(x) GPIO_WritePin(PORT_SHT30, GPIO_SCL, (x?GPIO_Pin_SET:GPIO_Pin_RESET ) ) void SHT30_GPIO_Init(void); char SHT30_Read(uint16_t dat); #endif

四、移植驗證

在自己工程中的main主函數(shù)中,編寫如下。

/* * 立創(chuàng)開發(fā)板軟硬件資料與相關(guān)擴展板軟硬件資料官網(wǎng)全部開源 * 開發(fā)板官網(wǎng):www.lckfb.com * 技術(shù)支持常駐論壇,任何技術(shù)問題歡迎隨時交流學(xué)習(xí) * 立創(chuàng)論壇:https://oshwhub.com/forum * 關(guān)注bilibili賬號:【立創(chuàng)開發(fā)板】,掌握我們的最新動態(tài)! * 不靠賣板賺錢,以培養(yǎng)中國工程師為己任 * Change Logs: * Date Author Notes * 2024-06-20 LCKFB-LP first version */ #include "board.h" #include "stdio.h" #include "bsp_uart.h" #include "bsp_sht30.h" int32_t main(void) { board_init(); // 開發(fā)板初始化 uart1_init(115200); // 串口1波特率115200 SHT30_GPIO_Init(); printf("startrn"); while(1) { SHT30_Read(0xe000); printf("Temp = %.2frn",Temperature); printf("Humi = %.2frn",Humidity); printf("rn"); delay_ms(1000); } }

移植現(xiàn)象:每隔1秒讀取一次溫濕度,并通過串口輸出。

wKgZoWc1xWGAFx8GAAYPVht_a7Y018.jpg

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/1Y6lkd6YjQyW9bxpsW8B36g?pwd=LCKF 提取碼:LCKF

審核編輯 黃宇

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

    關(guān)注

    6

    文章

    624

    瀏覽量

    37344
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    281

    瀏覽量

    1666
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    CW32F030做溫濕度采集,ADC讀數(shù)跳變超過±3LSB正常嗎?

    CW32F030做溫濕度采集,ADC讀數(shù)跳變超過±3LSB正常嗎?已排除傳感器問題,參考電壓用LDO單獨供電還是波動明顯,是否需要外接精密基準(zhǔn)源?
    發(fā)表于 11-20 07:47

    溫濕度傳感器HTU31D在溫濕度中的應(yīng)用優(yōu)勢

    溫濕度控制是一種用于監(jiān)測和調(diào)節(jié)環(huán)境溫度與濕度的設(shè)備,廣泛應(yīng)用于農(nóng)業(yè)、倉儲、工業(yè)生產(chǎn)、家庭等多個領(lǐng)域。其主要功能是維持特定環(huán)境條件,以確保產(chǎn)品質(zhì)量和舒適的居住環(huán)境。 溫濕度控制
    的頭像 發(fā)表于 11-06 14:38 ?119次閱讀
    <b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>HTU31D在<b class='flag-5'>溫濕度</b>控<b class='flag-5'>器</b>中的應(yīng)用優(yōu)勢

    中科銀河芯GXHT30C溫濕度傳感器的核心亮點

    在工業(yè)控制、智能家居、醫(yī)療設(shè)備等領(lǐng)域,溫濕度數(shù)據(jù)的精準(zhǔn)采集是保障設(shè)備穩(wěn)定運行、提升用戶體驗的關(guān)鍵。而一款性能卓越、適配性強的溫濕度傳感器,正是實現(xiàn)這一目標(biāo)的核心組件。
    的頭像 發(fā)表于 11-05 17:54 ?1076次閱讀

    工業(yè)烘干機中使用SHT30溫濕度傳感器的注意事項

    工業(yè)烘干機內(nèi)部是一個極端惡劣的環(huán)境,使用SHT30-DIS這樣的傳感器監(jiān)測溫濕度,需要注意以下方面:挑戰(zhàn)具體描述對SHT30-DIS的影響高溫工業(yè)烘干機的工作溫度通常在60°C至120
    的頭像 發(fā)表于 10-09 12:07 ?277次閱讀
    工業(yè)烘干機中使用<b class='flag-5'>SHT30</b><b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>的注意事項

    中科銀河芯GXHT30溫濕度傳感器的卓越性能

    在工業(yè)自動化、智能家居、醫(yī)療設(shè)備等領(lǐng)域,溫濕度數(shù)據(jù)的精準(zhǔn)采集直接影響系統(tǒng)性能與決策質(zhì)量。傳統(tǒng)傳感器往往面臨精度不足、穩(wěn)定性差、適配性有限等痛點,而中科銀河芯推出的 GXHT30 溫濕度
    的頭像 發(fā)表于 08-08 17:09 ?1791次閱讀

    什么是溫濕度傳感器的水合?

    溫濕度傳感器需要進(jìn)行水合處理(Hydration),主要是為了優(yōu)化傳感器的性能、穩(wěn)定性和長期可靠性。以下是具體原因和作用的詳細(xì)解釋:1.穩(wěn)定濕度敏感材料電容式
    的頭像 發(fā)表于 07-11 12:10 ?703次閱讀
    什么是<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>的水合?

    零知開源——STM32F407VET6驅(qū)動SHT41溫濕度傳感器完整教程

    目基于STM32F407VET6零知增強板,實現(xiàn)SHT41高精度溫濕度傳感器的驅(qū)動和數(shù)據(jù)采集。SHT41是Sensirion推出的新一代數(shù)字溫濕度
    發(fā)表于 07-10 12:01

    零知開源——STM32F407VET6驅(qū)動SHT41溫濕度傳感器完整教程

    摘要:本項目基于STM32F407VET6零知增強板驅(qū)動SHT41高精度溫濕度傳感器,實現(xiàn)±0.2℃溫度精度和±1.8%RH濕度精度的數(shù)據(jù)采集。硬件連接采用I2C接口(SCL:PB6,
    的頭像 發(fā)表于 07-09 18:53 ?879次閱讀
    零知開源——STM32F407VET6驅(qū)動<b class='flag-5'>SHT</b>41<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>完整教程

    Sensirion 推出帶保護(hù)蓋的新型數(shù)字溫濕度傳感器

    Sensirion 新推出 SHT40-AD1P-R2和SHT41-AD1P-R2 兩款數(shù)字溫濕度傳感器,現(xiàn)已通過其全球代理網(wǎng)絡(luò)銷售。這兩款傳感器
    發(fā)表于 06-26 17:56 ?1453次閱讀
    Sensirion 推出帶保護(hù)蓋的新型數(shù)字<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>

    常見的溫濕度傳感器類型?

    溫濕度傳感器是一種用于測量環(huán)境溫度和濕度的設(shè)備,廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、氣象等領(lǐng)域。以下是幾種常見的溫濕度傳感器類型及其優(yōu)缺點: 電容式
    發(fā)表于 06-24 09:24

    【道生物聯(lián)TKB-620開發(fā)板試用】采集溫濕度上報

    【前言】 我提交的計劃為冷鏈監(jiān)控系統(tǒng),因此采集溫濕度是首要步驟。這篇將分享如何采集sht30并實現(xiàn)手動上報數(shù)據(jù),在接收端打印出接收到的數(shù)據(jù)。 【硬件】 1、TKB-620開發(fā)板*2 2、sht30
    發(fā)表于 04-18 15:06

    溫濕度傳感器:核心原理與跨領(lǐng)域應(yīng)用解析

    、農(nóng)業(yè)種植、醫(yī)療倉儲等領(lǐng)域。根據(jù)市場研究機構(gòu)的數(shù)據(jù),2025 年全球溫濕度傳感器市場規(guī)模預(yù)計突破 50 億美元,年復(fù)合增長率達(dá) 8.7%。 二、工作原理與技術(shù)分類 溫度測量模塊 熱電偶技術(shù) :利用兩種不同金屬的熱電效應(yīng),將溫度差
    的頭像 發(fā)表于 03-27 11:21 ?1436次閱讀
    <b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>:核心原理與跨領(lǐng)域應(yīng)用解析

    溫濕度傳感器:生活中的“小氣候?qū)<摇?/a>

    你有沒有想過,為什么家里的空調(diào)總能自動調(diào)節(jié)到最舒適的溫度和濕度?或者,為什么博物館里的珍貴文物能在恒定的環(huán)境中保存完好?這一切的背后,都離不開一個默默無聞的“小氣候?qū)<摇薄?b class='flag-5'>溫濕度傳感器。 今天
    的頭像 發(fā)表于 02-27 16:36 ?840次閱讀

    NB溫濕度傳感器:無線傳輸,便捷安裝

    在現(xiàn)代環(huán)境監(jiān)測與控制領(lǐng)域,溫濕度傳感器扮演著至關(guān)重要的角色。而 NB 溫濕度傳感器憑借其無線傳輸特性和便捷的安裝方式,正逐漸成為眾多應(yīng)用場景中的設(shè)備,為人們的生活和生產(chǎn)帶來了極大的便利
    的頭像 發(fā)表于 12-29 09:31 ?981次閱讀

    CW32模塊使用 SHT20溫濕度傳感器

    由瑞士Sensirion推出的 SHT20數(shù)字溫濕度傳感器,基于領(lǐng)先世界的CMOSens ? 數(shù)字傳感技術(shù),具有極高的可靠性和卓越的長期穩(wěn)定性。全量程標(biāo)定,兩線數(shù)字接口,可與單片機直接
    的頭像 發(fā)表于 12-05 12:14 ?1036次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 <b class='flag-5'>SHT</b>20<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>