一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

國(guó)民技術(shù)N32WB031驅(qū)動(dòng)HS3003采集溫濕度

華仔的編程隨筆 ? 來(lái)源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-05-02 17:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目的

驅(qū)動(dòng)hs3003溫濕度計(jì)

步驟

  1. 在原來(lái)墨水屏的工程基礎(chǔ)上添加HS3003的驅(qū)動(dòng)。
  2. 新建hs3003.c/hs3003.h,并打hs3003.c加入工程。

fd8cc1a28c5d67ef66e037e3c21171e759f96974db736e7e671030a56d06ba5c.png

  1. 我償試用硬件驅(qū)動(dòng)i2c,但scl即使使用了上位電阻,也不起振,用邏輯分析儀檢測(cè)如下圖:

3b7bd1190103d79d558d5bcbf321b5cea8bc24bce67a64d53cdbaaa3fd3008b5.png

  1. 周轉(zhuǎn)了半天,還得改回來(lái)用軟件i2c來(lái)驅(qū)動(dòng)。hs3003.c驅(qū)動(dòng)程序如下:
#include "hs3003.h"
#include "software_i2c.h"
#include "log.h"

#define I2CT_FLAG_TIMEOUT ((uint32_t)0x1000)
#define I2CT_LONG_TIMEOUT ((uint32_t)(20 * I2CT_FLAG_TIMEOUT))

#define SI2C_SDA_GPIOx 	GPIOB
#define SI2C_SCL_GPIOx 	GPIOB
#define SI2C_SDA_Pin 	GPIO_PIN_8
#define SI2C_SCL_Pin    GPIO_PIN_9

static SI2C_HANDLE SI2C_handle;

void i2c_master_init(){
log_info("\\n this is a software i2c master demo\\r\\n");
if(SI2C_Init(&SI2C_handle,SI2C_SDA_GPIOx, SI2C_SCL_GPIOx, SI2C_SDA_Pin, SI2C_SCL_Pin, 5) == false)
{
log_info("software i2c init fail \\r\\n");
while(1);
}
}

uint32_t Humiture_HS3003_ReadData_Raw(void )
{
uint8_t rx_buf[4] = {0};
uint16_t humi, temp;
float    tmp_f   = 0.0;
float humi_f,temp_f;
SI2C_MasterWrite(&SI2C_handle,I2C_SLAVE_ADDR, NULL, 0);
//8bit->1.2ms
//10bit->2.72ms
//12bit->9.10ms
//14bit->33.90ms
Delay_ms(40);
__retry:		
SI2C_MasterRead(&SI2C_handle, I2C_SLAVE_ADDR, rx_buf, 4);

//		log_info("%x,%x,%x,%x\\n", rx_buf[0], rx_buf[1], rx_buf[2], rx_buf[3]);
//    log_info("state:%x\\n", rx_buf[0] & RM_HS300X_MASK_STATUS_0XC0);
if ((rx_buf[0] & RM_HS300X_MASK_STATUS_0XC0) != RM_HS300X_DATA_STATUS_VALID)
{
Delay_ms(100);
goto __retry;
}
humi = (rx_buf[0] & RM_HS300X_MASK_HUMIDITY_UPPER_0X3F) << 8 | rx_buf[1];
temp = (rx_buf[2] << 8 | (rx_buf[3] & RM_HS300X_MASK_TEMPERATURE_LOWER_0XFC)) >> 2;

humi_f = (float)humi;

humi_f = (humi_f * RM_HS300X_CALC_HUMD_VALUE_100) / RM_HS300X_CALC_STATIC_VALUE;

temp_f = (float)temp;
temp_f = ((temp_f * RM_HS300X_CALC_TEMP_C_VALUE_165) / RM_HS300X_CALC_STATIC_VALUE) - RM_HS300X_CALC_TEMP_C_VALUE_40;

log_info("Temp:%d.%d   ",(int)temp_f,(int)(temp_f*100)%100);
log_info("HUMI:%d.%d\\r\\n",(int)humi_f,(int)(humi_f*100)%100);

return 1;

}

bool Humiture_HS3003_init(void)
{
i2c_master_init();

}
  1. hs3003.h:
#ifndef __HS3003_H__
#define __HS3003_H__

#include "n32wb03x.h"

#define I2C_MASTER_ADDR   0x30
#define I2C_SLAVE_ADDR        0x44<<1
#define HS300X_HUMD_MULTY           0.00006163516
#define HS300X_TEMP_MULTY           0.00006163516

/* Definitions of Mask Data for A/D data */
#define RM_HS300X_MASK_HUMIDITY_UPPER_0X3F       (0x3F)
#define RM_HS300X_MASK_TEMPERATURE_LOWER_0XFC    (0xFC)
#define RM_HS300X_MASK_STATUS_0XC0               (0xC0)

/* Definitions for Status Bits of A/D Data */
#define RM_HS300X_DATA_STATUS_VALID              (0x00) // Status-bit: Valid data

/* Definitions for Calculation */
#define RM_HS300X_CALC_STATIC_VALUE              (16383.0F)
#define RM_HS300X_CALC_HUMD_VALUE_100            (100.0F)
#define RM_HS300X_CALC_TEMP_C_VALUE_165          (165.0F)
#define RM_HS300X_CALC_TEMP_C_VALUE_40           (40.0F)
#define RM_HS300X_CALC_DECIMAL_VALUE_100         (100.0F)

bool Humiture_HS3003_init(void);

uint32_t Humiture_HS3003_ReadData_Raw(void );

#endif

7、在主程序中調(diào)用一下:

#include "main.h"
#include "led.h"
#include "key.h"
#include "log.h"
#include "hs3003.h"

unsigned char BlackImage[4736];//Define canvas space

int main(void)
{
unsigned char fen_L,fen_H,miao_L,miao_H;
log_init();

Humiture_HS3003_init();

Humiture_HS3003_ReadData_Raw();

while (1)

{

Humiture_HS3003_ReadData_Raw();

Delay_ms(1000);

}

}

實(shí)驗(yàn)效果

152488a4470e169d54322890c576d2a0cb51d8d89a83d67ea4982d2d3f0d9ac8.png

總結(jié)

不知道是不是硬件i2c的驅(qū)動(dòng)是不是有問(wèn)題,反正我的浪費(fèi)了半天的時(shí)間,各種工具用上,最后還是得用軟件才搞定。

審核編輯 黃宇

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

    關(guān)注

    12

    文章

    1918

    瀏覽量

    86935
  • THS3000
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    智能倉(cāng)儲(chǔ):溫濕度監(jiān)控方案應(yīng)用

    隨著倉(cāng)儲(chǔ)環(huán)境要求提高,溫濕度監(jiān)控對(duì)保障貨物品質(zhì)至關(guān)重要。本文介紹一個(gè)工廠倉(cāng)庫(kù)溫濕度監(jiān)控方案,利用溫濕度變送器、LoRa技術(shù)和智能監(jiān)測(cè)平臺(tái),為倉(cāng)庫(kù)業(yè)主提供高效、可靠的監(jiān)測(cè)解決方案。倉(cāng)庫(kù)
    的頭像 發(fā)表于 05-29 11:35 ?270次閱讀
    智能倉(cāng)儲(chǔ):<b class='flag-5'>溫濕度</b>監(jiān)控方案應(yīng)用

    LoRa無(wú)線技術(shù)溫濕度監(jiān)測(cè)預(yù)警系統(tǒng)

    LoRa無(wú)線技術(shù)溫濕度監(jiān)測(cè)預(yù)警系統(tǒng)采用LoRa采集器和LoRa網(wǎng)關(guān)實(shí)現(xiàn)監(jiān)控區(qū)域內(nèi)的全覆蓋,同時(shí)在倉(cāng)儲(chǔ)區(qū)各個(gè)數(shù)據(jù)采集節(jié)點(diǎn)安裝溫濕度傳感器,實(shí)
    的頭像 發(fā)表于 05-14 16:06 ?271次閱讀
    LoRa無(wú)線<b class='flag-5'>技術(shù)</b>的<b class='flag-5'>溫濕度</b>監(jiān)測(cè)預(yù)警系統(tǒng)

    【RA-Eco-RA4M2開(kāi)發(fā)板評(píng)測(cè)】RT-Thread上驅(qū)動(dòng)I2C溫濕度傳感器

    框架加進(jìn)來(lái)。 最后把溫濕度傳感器的組件包選上。 四、驅(qū)動(dòng) 有了RT-Thread的sensor驅(qū)動(dòng)框架和hs300x驅(qū)動(dòng)組件包,對(duì)
    發(fā)表于 05-08 22:42

    【RA-Eco-RA4M2開(kāi)發(fā)板評(píng)測(cè)】RA-Eco-RA4M2 溫濕度傳感器HS3003

    傳感元件,其性能已經(jīng)大大提升甚至超出了前一代傳感器的可靠性水平,新一代溫濕度傳感器,經(jīng)過(guò)改進(jìn)使其在惡劣環(huán)境下的性能更穩(wěn)定。 2.2 HS3003采集溫濕度 溫度
    發(fā)表于 05-03 22:57

    工廠溫濕度監(jiān)控系統(tǒng)

    在現(xiàn)代化工業(yè)生產(chǎn)環(huán)境中,溫濕度控制是確保產(chǎn)品質(zhì)量、生產(chǎn)效率和員工健康的關(guān)鍵因素之一。隨著科技的進(jìn)步,工廠溫濕度監(jiān)控系統(tǒng)應(yīng)運(yùn)而生,通過(guò)集成傳感器技術(shù)、數(shù)據(jù)處理與通信技術(shù),對(duì)工廠內(nèi)部環(huán)境參
    的頭像 發(fā)表于 02-25 17:11 ?475次閱讀

    庫(kù)房溫濕度監(jiān)測(cè)系統(tǒng)

    不可或缺的一部分,對(duì)于保障貨物安全、維護(hù)存儲(chǔ)品質(zhì)具有重要意義。 組成與運(yùn)行 庫(kù)房溫濕度監(jiān)測(cè)系統(tǒng)是一種專門用于倉(cāng)庫(kù)環(huán)境溫濕度監(jiān)測(cè)的系統(tǒng),結(jié)合傳感器、數(shù)字通信、物聯(lián)網(wǎng)、自動(dòng)化控制等技術(shù),通過(guò)集成傳感器、數(shù)據(jù)
    的頭像 發(fā)表于 01-06 16:37 ?562次閱讀

    遠(yuǎn)程溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)應(yīng)用方案

    通信、云計(jì)算、大數(shù)據(jù)分析等技術(shù)。傳感器作為系統(tǒng)的“眼睛”,負(fù)責(zé)實(shí)時(shí)采集環(huán)境中的溫濕度數(shù)據(jù)。通過(guò)Wi-Fi、藍(lán)牙、LoRa、NB-IoT等通訊方式,將傳感器采集的數(shù)據(jù)傳輸至云端服務(wù)器。云
    的頭像 發(fā)表于 01-02 17:03 ?634次閱讀

    醫(yī)藥倉(cāng)庫(kù)溫濕度監(jiān)控系統(tǒng)應(yīng)用

    。 醫(yī)藥倉(cāng)庫(kù)溫濕度監(jiān)控系統(tǒng),結(jié)合物聯(lián)網(wǎng)、無(wú)線通訊等技術(shù),通過(guò)傳感器全天候?qū)崟r(shí)采集倉(cāng)庫(kù)內(nèi)的溫濕度數(shù)據(jù),管理云平臺(tái)對(duì)接收到的數(shù)據(jù)進(jìn)行深入分析、處理,并以圖表、曲線等形式直觀展示
    的頭像 發(fā)表于 12-17 16:16 ?659次閱讀

    農(nóng)業(yè)溫濕度監(jiān)控系統(tǒng)

    農(nóng)業(yè)溫濕度監(jiān)控系統(tǒng)作為現(xiàn)代農(nóng)業(yè)管理工具的重要組成部分,正逐漸改變著傳統(tǒng)農(nóng)業(yè)的生產(chǎn)方式,為農(nóng)作物的生長(zhǎng)提供了更為精確和高效的環(huán)境控制手段。 農(nóng)業(yè)溫濕度監(jiān)控系統(tǒng),集成傳感器、網(wǎng)絡(luò)傳輸、智能控制等技術(shù)
    的頭像 發(fā)表于 12-11 16:24 ?535次閱讀

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

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

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

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

    Arduino Nano 和 DHT11 實(shí)現(xiàn) LabVIEW 溫濕度采集

    Arduino Nano 和 DHT11 實(shí)現(xiàn) LabVIEW 溫濕度采集
    的頭像 發(fā)表于 10-08 11:46 ?1147次閱讀
    Arduino Nano 和 DHT11 實(shí)現(xiàn) LabVIEW <b class='flag-5'>溫濕度</b><b class='flag-5'>采集</b>

    溫濕度監(jiān)測(cè)解決方案

    。對(duì)于維護(hù)環(huán)境穩(wěn)定、保障生產(chǎn)安全、提升生活質(zhì)量具有重要意義。 溫濕度監(jiān)測(cè)解決方案,融入物聯(lián)網(wǎng)、無(wú)線通訊等技術(shù),通過(guò)溫濕度傳感器、智能采集器等感知設(shè)備,實(shí)時(shí)
    的頭像 發(fā)表于 09-04 17:16 ?770次閱讀

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

    、可靠的溫濕度監(jiān)測(cè)系統(tǒng)顯得尤為重要。 溫濕度監(jiān)測(cè)系統(tǒng),通過(guò)溫度傳感器、智能控制終端等硬件設(shè)備,與管理云平臺(tái)組成高精度傳感器網(wǎng)絡(luò),在線采集室內(nèi)溫濕度變化情況,聯(lián)動(dòng)空調(diào)等設(shè)備,以數(shù)字形式打
    的頭像 發(fā)表于 07-26 16:15 ?904次閱讀

    藥品倉(cāng)庫(kù)溫濕度監(jiān)控系統(tǒng)

    和有效使用具有重要意義。 藥品倉(cāng)庫(kù)溫濕度監(jiān)控系統(tǒng),結(jié)合物聯(lián)網(wǎng)、無(wú)線通訊等技術(shù),主要由傳感器、數(shù)據(jù)采集器、傳輸設(shè)備、管理云平臺(tái)等組成。針對(duì)藥品倉(cāng)庫(kù)的溫濕度進(jìn)行實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn)并調(diào)整不利
    的頭像 發(fā)表于 07-26 10:12 ?660次閱讀