女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

由瑞士Sensirion推出的 SHT20數(shù)字溫濕度傳感器,基于領先世界的CMOSens ? 數(shù)字傳感技術,具有極高的可靠性和卓越的長期穩(wěn)定性。全量程標定,兩線數(shù)字接口,可與單片機直接相連,大大縮短研發(fā)時間、簡化外圍電路并降低費用。此外,體積微小、響應迅速、低能耗、可浸沒、抗干擾能力強、溫濕一體,兼有露點測量,性價比高,使該產(chǎn)品能夠適于多種場合的應用。

一、模塊來源

模塊實物展示:

wKgZO2dRKKyAIO6_AAAfhHrgIiQ054.jpg


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

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

工作電壓:2.1~3.6V

工作電流:0.1~1000uA

溫度精度:±0.3℃

溫度范圍:-40~125℃

濕度范圍:0~100 %RH

濕度精度:±3%RH

輸出方式: IIC

管腳數(shù)量:4 Pin

以上信息見廠家資料文件

三、移植過程

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

3.1查看資料

開始傳輸后,隨后先傳輸首字節(jié)包括I2C設備地址(7bit)和一個SDA方向位(R:1, W:0)。

wKgZPGdRKKyAKSFzAACC6HuC4lo524.jpg

一個時鐘發(fā)送一個位,在第8個下降沿之后,通過拉低SDA引腳(ACK位 為0),只是傳感器數(shù)據(jù)接收正常。在發(fā)出測量命令之后(‘1110’‘0011’代表溫度測量,‘1110’‘0101’代表相對濕度測量 ,這種為主機模式),MCU必須等待測量完成。

wKgZO2dRKKyAKZiaAAB_fLtHH34993.jpg

主機模式:

測量過程中,SCL線被封鎖(由傳感器控制),在測量時,SHT2x將SCL拉低強制主機進入等待狀態(tài)。當釋放SCL線,表示傳感器內(nèi)部工作接收,可以繼續(xù)進行數(shù)據(jù)傳送

wKgZPGdRKK2AUVsoAAA_wrbcH2c867.jpg

灰色的部分是傳感器控制的,當傳感器給MCU返回數(shù)據(jù)時,每返回一個字節(jié),MCU要返回一個ACK信號,當接收完畢之后,返回一個NACK并接著傳輸停止時序(P)。

注:校驗和可以不需要,不需要則就在數(shù)據(jù)接收完之后返回NACK

非主機模式:

測量過程中,SCL線是開發(fā)狀態(tài),可進行其他通信,可以在總線上處理其他I2C總線通信任務。

當MCU要對傳感器狀態(tài)進行查詢時,先發(fā)起一個開始信號,在發(fā)送從機地址和SDA方向位(寫),此時從機匹配地址成功,則發(fā)送ACK信號,并開始測量。如果傳感器完成了測量過程,并且發(fā)送ASK信號,那么MCU就可以讀取相關數(shù)據(jù)。如果測量沒有完成,傳感器發(fā)送NACK信號,此時MCU必須重新發(fā)送啟動傳輸時序,直至測量完成,MCU讀取數(shù)據(jù)。

注意:測量的數(shù)據(jù),溫度和濕度均為兩個字節(jié)。而且無論哪一種傳輸模式,測量的最大分辨率最大是14bit,數(shù)據(jù)的第二個字節(jié)SDA上最后兩位是用來標記相關狀態(tài)信息。其中bit1表示測量類型(0是溫度,1是濕度)

wKgZO2dRKK2Aai9wAABNpkqliYw573.jpg

灰色的區(qū)域是傳感器控制的,如果不需要校驗和,那么在接收完兩個字節(jié)的數(shù)據(jù)之后就MCU直接發(fā)出NACK信號再接著發(fā)出停止時序(P),則結束通信。

通常測量的最長時間取決于測量類型和分辨率.

wKgZPGdRKK2AZ08xAAAeEAbaEhQ623.jpg

在計算MCU通信時間時,測量溫度選擇最長測量時間是85ms,而測量相對濕度選擇最長的時間是29ms。

傳感器內(nèi)部設置的默認分辨率為相對濕度12位和溫度14位。SDA的輸出數(shù)據(jù)被轉換成兩個字節(jié)的數(shù)據(jù)包,高字節(jié)MSB在前(左對齊)。每個字節(jié)后面都跟隨一個應答位。兩個狀態(tài)位,即 LSB的后兩位在進行物理計算前須置0。計算濕度:其中SRH表示我們讀取到的濕度原始數(shù)據(jù)。

wKgZO2dRKK6AO55YAAAE5Js2Rwo979.jpg

計算溫度:其中ST表示我們讀取到的溫度原始數(shù)據(jù)。

wKgZPGdRKK6AGH71AAAGJuiVaI4140.jpg

3.2引腳選擇

wKgZO2dRKK-ANulgAAEy_rc0LtI178.jpg

模塊接線圖

3.3移植至工程

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

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

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#include "bsp_sht20.h"
#include "board.h"
#include "stdio.h"

void SHT20_GPIO_INIT(void)
{
    GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化結構體

    RCC_SHT20_ENABLE();        // 使能GPIO時鐘

    GPIO_InitStruct.Pins = GPIO_SDA|GPIO_SCL;   // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; // 開漏輸出
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;    // 輸出速度高
    GPIO_Init(PORT_SHT20, &GPIO_InitStruct);   // 初始化
}

/******************************************************************
 * 函 數(shù) 名 稱:IIC_Start
 * 函 數(shù) 說 明:IIC起始信號
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void IIC_Start(void)
{
        SDA_OUT();

        SCL(0);
        SDA(1);
        SCL(1);

        delay_us(5);

        SDA(0);
        delay_us(5);
        SCL(0);
        delay_us(5);


}

/******************************************************************
 * 函 數(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ā)送應答
 * 函 數(shù) 形 參:0應答  1非應答
 * 函 數(shù) 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void IIC_Send_Ack(uint8_t 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ù) 名 稱:IIC_Wait_Ack
 * 函 數(shù) 說 明:等待從機應答
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:1=無應答   0=有應答
 * 作       者:LC
 * 備       注:無
******************************************************************/
uint8_t IIC_Wait_Ack(void)
{
        char ack = 0;
        unsigned char ack_flag = 10;
        SDA_IN();
    SDA(1);
        delay_us(5);
        SCL(1);
        delay_us(5);
        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ù) 名 稱:IIC_Write
 * 函 數(shù) 說 明:IIC寫一個字節(jié)
 * 函 數(shù) 形 參:dat寫入的數(shù)據(jù)
 * 函 數(shù) 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void IIC_Write(uint8_t data)
{
        int i = 0;
        SDA_OUT();
        SCL(0);//拉低時鐘開始數(shù)據(jù)傳輸

        for( i = 0; i < 8; i++ )
        {
                SDA( (data & 0x80) >> 7 );
                delay_us(2);
        data

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

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#ifndef __BSP_SHT20_H__
#define __BSP_SHT20_H__

#include "board.h"


//端口移植
#define RCC_SHT20_ENABLE()  __RCC_GPIOB_CLK_ENABLE()
#define PORT_SHT20          CW_GPIOB


#define GPIO_SDA            GPIO_PIN_9
#define GPIO_SCL            GPIO_PIN_8


//設置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_SHT20, &GPIO_InitStruct);       
                     }
//設置SDA輸入模式
#define SDA_IN()    {        
                        GPIO_InitTypeDef GPIO_InitStruct;                
                        GPIO_InitStruct.Pins = GPIO_SDA;                 
                        GPIO_InitStruct.Mode = GPIO_MODE_INPUT;         
                        GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;         
                        GPIO_Init(PORT_SHT20, &GPIO_InitStruct);       
                    }
//獲取SDA引腳的電平變化
#define SDA_GET()       GPIO_ReadPin(PORT_SHT20, GPIO_SDA)
//SDA與SCL輸出
#define SDA(x)          GPIO_WritePin(PORT_SHT20, GPIO_SDA, (x?GPIO_Pin_SET:GPIO_Pin_RESET) )
#define SCL(x)          GPIO_WritePin(PORT_SHT20, GPIO_SCL, (x?GPIO_Pin_SET:GPIO_Pin_RESET) )


void SHT20_GPIO_INIT(void);
float SHT20_Read(unsigned char regaddr);




#endif

四、移植驗證

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

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#include "board.h"
#include "stdio.h"
#include "bsp_uart.h"
#include "bsp_sht20.h"

#define T_ADDR     0xf3   // 溫度
#define PH_ADDR    0xf5   // 濕度

int32_t main(void)
{
    board_init();        // 開發(fā)板初始化

    uart1_init(115200);        // 串口1波特率115200

    SHT20_GPIO_INIT();
    delay_ms(1000);
    printf("SHT20 Start!!rn");

    while(1)
    {
        printf("溫度 = %.2f ℃rn",  SHT20_Read(T_ADDR) );
        printf("濕度 = %.2f %%RHrn",SHT20_Read(PH_ADDR) );

        printf("n");
        delay_ms(1000);
    }
}

上電現(xiàn)象:

wKgZPGdRKK-AOrSBAADUohjlzOo526.jpg

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/13EW713tzDGwSDVUw--ouJQ?pwd=LCKF

提取碼:LCKF

審核編輯 黃宇

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

    關注

    2564

    文章

    52793

    瀏覽量

    765432
  • 溫濕度傳感器

    關注

    5

    文章

    593

    瀏覽量

    36443
  • CW32
    +關注

    關注

    1

    文章

    243

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

    溫濕度傳感器:核心原理與跨領域應用解析

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

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

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

    CW32模塊使用案例 AHT10溫濕度傳感器

    AHT10,新一代溫濕度傳感器在尺寸與智能方面建立了新的標準:它嵌入了適于回流焊的雙列扁平無引腳SMD 封裝,底面 4 x 5mm ,高度1.6mm。傳感器輸出經(jīng)過標定的數(shù)字信號,標準 I 2 C
    的頭像 發(fā)表于 11-28 17:28 ?1021次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用案例 AHT10<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>

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

    資料文件 三、移植過程 我們的目標是將例程移植至CW32F030C8T6開發(fā)板上【測量溫濕度的功能】。首先要獲取資料,查看數(shù)據(jù)手冊應如何實現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。 3.1查看資
    的頭像 發(fā)表于 11-14 17:39 ?571次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 <b class='flag-5'>SHT</b>30<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>

    基于CW32模塊SHT30溫濕度傳感器設計

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

    溫濕度傳感器種類及原理的優(yōu)劣分析

    溫濕度傳感器是一種能夠感知并測量環(huán)境中溫度和濕度變化的設備,它們在環(huán)境監(jiān)測、氣象觀測、農(nóng)業(yè)、工業(yè)生產(chǎn)、智能家居等多個領域發(fā)揮著重要作用。下面將對溫濕度
    的頭像 發(fā)表于 10-21 15:05 ?2494次閱讀

    溫濕度傳感器是什么類型的傳感器

    溫濕度傳感器是一種能夠?qū)崟r監(jiān)測和記錄環(huán)境中溫度和濕度變化的設備或裝置。這類傳感器廣泛應用于環(huán)境監(jiān)測、氣象觀測、農(nóng)業(yè)、工業(yè)生產(chǎn)、倉儲管理、智能家居、醫(yī)療健康等多個領域,為相關領域的研究、
    的頭像 發(fā)表于 10-21 14:53 ?1479次閱讀

    【RA-Eco-RA0E1-32PIN-V1.0開發(fā)板試用】sht30溫濕度傳感器

    這一章節(jié),繼續(xù)探究RA0E1的硬件iic外設。來驅(qū)動SHT30溫濕度傳感器,該款溫濕度傳感器具有高精度穩(wěn)定性,可以精確到0.125度的分辨率
    發(fā)表于 10-14 23:40

    車載溫濕度傳感器有什么功能

    在現(xiàn)代化物流體系中,尤其是針對需要嚴格溫控的冷鏈運輸領域,車載溫濕度傳感器成為了重要的智能設備。車載溫濕度傳感器以其高精度測量、智能化報警、靈活供電及便捷管理等特點,為貨物安全運輸提供
    的頭像 發(fā)表于 10-10 13:23 ?549次閱讀

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

    DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器。其成本低、長期穩(wěn)定、可以測量相對濕度和溫度測量,并可以只使用一根數(shù)
    的頭像 發(fā)表于 09-09 18:21 ?1711次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 DHT11<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>

    溫濕度傳感器怎么調(diào)試

    溫濕度傳感器是一種廣泛應用于工業(yè)、農(nóng)業(yè)、氣象、科研等領域的傳感器,用于測量環(huán)境的溫度和濕度。在實際應用中,溫濕度
    的頭像 發(fā)表于 08-19 15:04 ?2237次閱讀

    溫濕度傳感器技術參數(shù)有哪些

    溫濕度傳感器是一種用于測量環(huán)境溫度和濕度傳感器。它們廣泛應用于氣象、農(nóng)業(yè)、工業(yè)、醫(yī)療、智能家居等領域。本文將介紹溫濕度
    的頭像 發(fā)表于 08-19 15:03 ?2798次閱讀

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

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