18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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ù)被轉(zhuǎn)換成兩個字節(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)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2573

    文章

    53935

    瀏覽量

    781858
  • 溫濕度傳感器

    關注

    6

    文章

    616

    瀏覽量

    37216
  • CW32
    +關注

    關注

    1

    文章

    278

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

    溫濕度傳感器需要進行水合處理(Hydration),主要是為了優(yōu)化傳感器的性能、穩(wěn)定性和長期可靠性。以下是具體原因和作用的詳細解釋:1.穩(wěn)定濕度敏感材料電容式
    的頭像 發(fā)表于 07-11 12:10 ?540次閱讀
    什么是<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 ?713次閱讀
    零知開源——STM32F407VET6驅(qū)動<b class='flag-5'>SHT</b>41<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>完整教程

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

    Sensirion 新推出 SHT40-AD1P-R2和SHT41-AD1P-R2 兩款數(shù)字溫濕度傳感器,現(xiàn)已通過其全球代理網(wǎng)絡銷售。這兩款傳感器
    發(fā)表于 06-26 17:56 ?1415次閱讀
    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 ?1257次閱讀
    <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 ?745次閱讀

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

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

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

    AHT10,新一代溫濕度傳感器在尺寸與智能方面建立了新的標準:它嵌入了適于回流焊的雙列扁平無引腳SMD 封裝,底面 4 x 5mm ,高度1.6mm。傳感器輸出經(jīng)過標定的數(shù)字信號,標準 I 2 C
    的頭像 發(fā)表于 11-28 17:28 ?1413次閱讀
    <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 ?912次閱讀
    <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 ?1253次閱讀
    基于<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>設計

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

    倉儲、農(nóng)業(yè)、機房等多種應用場景,提供高效、可靠的解決方案。 部分組成 LORA溫濕度傳感器:作為系統(tǒng)的前端采集設備,實時捕捉環(huán)境中的溫濕度數(shù)據(jù)。LORA溫濕度
    的頭像 發(fā)表于 11-07 16:57 ?1038次閱讀

    溫濕度控制的功能和應用

    溫濕度控制在電阻柜中的應用主要涉及以下幾個方面: 溫濕度控制的功能 檢測與控制:溫濕度控制
    的頭像 發(fā)表于 11-07 15:08 ?1163次閱讀