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

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

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

利用Proteus仿真STM32實(shí)現(xiàn)DHT11溫濕度檢測(cè)

DS小龍哥-嵌入式技術(shù) ? 2022-09-17 15:53 ? 次閱讀

1. 前言

Proteus是英國(guó)著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一 鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟 件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、 PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系 列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、KeilMATLAB等多種編譯 器。 前面文章介紹了Proteus的下載,安裝,建立工程,完成LED燈仿真運(yùn)行。這篇文章在這基礎(chǔ)上增加串口打印,DHT11溫濕度檢測(cè)。

2. 設(shè)計(jì)程序

先使用keil軟件就將程序設(shè)計(jì)設(shè)計(jì)好,然后生成HEX文件,等待設(shè)計(jì)好原理圖后進(jìn)行仿真測(cè)試。

注意: 當(dāng)前使用的芯片STM32F103。Proteus的版本是8.9

image-20220524143658130
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "key.h"
#include "dht11.h"
?
/*
(3)溫濕度傳感器: DHT11
VCC--VCC
GND---GND
DAT---PA5 
*/
?
#include "stm32f10x.h"
#include 
#include 
#include "sys.h"
#include 
?
#define USART1_RX_LENGTH 1024
extern u8 USART1_RX_BUFFER[USART1_RX_LENGTH]; //保存接收數(shù)據(jù)的緩沖區(qū)
extern u32 USART1_RX_CNT; //當(dāng)前接收到的數(shù)據(jù)長(zhǎng)度
extern u8 USART1_RX_FLAG; //1表示數(shù)據(jù)接收完畢 0表示沒有接收完畢
?
#define USART2_RX_LENGTH 1024
extern u8 USART2_RX_BUFFER[USART2_RX_LENGTH]; //保存接收數(shù)據(jù)的緩沖區(qū)
extern u32 USART2_RX_CNT; //當(dāng)前接收到的數(shù)據(jù)長(zhǎng)度
extern u8 USART2_RX_FLAG; //1表示數(shù)據(jù)接收完畢 0表示沒有接收完畢
?
#define USART3_RX_LENGTH 1024
extern u8 USART3_RX_BUFFER[USART3_RX_LENGTH]; //保存接收數(shù)據(jù)的緩沖區(qū)
extern u32 USART3_RX_CNT; //當(dāng)前接收到的數(shù)據(jù)長(zhǎng)度
extern u8 USART3_RX_FLAG; //1表示數(shù)據(jù)接收完畢 0表示沒有接收完畢
?
void USART1_Init(u32 baud);
void USART2_Init(u32 baud);
void USART3_Init(u32 baud);
void USARTx_StringSend(USART_TypeDef *USARTx,char *str);
void USARTx_DataSend(USART_TypeDef *USARTx,u8 *data,u32 len);
?
//定義按鍵IO口
#define KEY_S3 PAin(1) 
?
//函數(shù)聲明
void KEY_Init(void);
u8 KEY_Scan(u8 mode);
?
?
//LED定義
#define LED1 PBout(6)
#define LED2 PBout(7)
#define LED3 PBout(8)
#define LED4 PBout(9)
?
//蜂鳴器IO口定義
#define BEEP PAout(6)
?
//函數(shù)聲明
void LED_Init(void);
void BEEP_Init(void);
?
?
?
//IO方向設(shè)置
#define DHT11_IO_IN()  {GPIOA->CRL&=0XFF0FFFFF;GPIOA->CRL|=0x00800000;}
#define DHT11_IO_OUT() {GPIOA->CRL&=0XFF0FFFFF;GPIOA->CRL|=0x00300000;}
////IO操作函數(shù)                                            
#define DHT11_DQ_OUT PAout(5) //數(shù)據(jù)端口    PA5 
#define DHT11_DQ_IN  PAin(5) //數(shù)據(jù)端口    PA5
?
?
u8 DHT11_Init(void);        //初始化DHT11
u8 DHT11_Read_Data(u8 *temp,u8 *humi);//讀取溫濕度
u8 DHT11_Read_Byte(void);   //讀出一個(gè)字節(jié)
u8 DHT11_Read_Bit(void);    //讀出一個(gè)位
u8 DHT11_Check(void);       //檢測(cè)是否存在DHT11
void DHT11_Rst(void);       //復(fù)位DHT11  
?
//復(fù)位DHT11
void DHT11_Rst(void)      
{         
     DHT11_IO_OUT();   //SET OUTPUT
  DHT11_DQ_OUT=0;     //拉低DQ
  DelayMs(20);       //拉低至少18ms
  DHT11_DQ_OUT=1;     //DQ=1 
     DelayUs(30);    //主機(jī)拉高20~40us
}
//等待DHT11的回應(yīng)
//返回1:未檢測(cè)到DHT11的存在
//返回0:存在
u8 DHT11_Check(void)      
{  
    u8 retry=0;
    DHT11_IO_IN();//SET INPUT    
 while (DHT11_DQ_IN&&retry<100)//DHT11會(huì)拉低40~80us
?    {
?        retry++;
?        DelayUs(1);
?    };   
?    if(retry>=100)return 1;
    else retry=0;
  while (!DHT11_DQ_IN&&retry<100)//DHT11拉低后會(huì)再次拉高40~80us
?    {
?        retry++;
?        DelayUs(1);
?    };
?    if(retry>=100)return 1;   
    return 0;
}
//從DHT11讀取一個(gè)位
//返回值:1/0
u8 DHT11_Read_Bit(void)              
{
    u8 retry=0;
    while(DHT11_DQ_IN&&retry<100)//等待變?yōu)榈碗娖??    {
?        retry++;
?        DelayUs(1);
?    }
?    retry=0;
?    while(!DHT11_DQ_IN&&retry<100)//等待變高電平
?    {
?        retry++;
?        DelayUs(1);
?    }
?    DelayUs(40);//等待40us
?    if(DHT11_DQ_IN)return 1;
?    else return 0;       ? 
?}
??
?//從DHT11讀取一個(gè)字節(jié)
?//返回值:讀到的數(shù)據(jù)
?u8 DHT11_Read_Byte(void) ? ?
?{ ? ? ? ?
? ? ?u8 i,dat;
? ? ?dat=0;
?    for (i=0;i<8;i++) 
?    {
? ?      dat<<=1; 
?     ? ?dat|=DHT11_Read_Bit();
? ?  }                        ? ?
? ? ?return dat;
?}
??
??
?//從DHT11讀取一次數(shù)據(jù)
?//temp:溫度值(范圍:0~50°)
?//humi:濕度值(范圍:20%~90%)
?//返回值:0,正常;1,讀取失敗
?u8 DHT11_Read_Data(u8 *temp,u8 *humi) ? ?
?{ ? ? ? ?
?    u8 buf[5];
?    u8 i;
?    DHT11_Rst();
?    //printf("------------------------rn");
?    if(DHT11_Check()==0)
?    {
?        for(i=0;i<5;i++)//讀取40位數(shù)據(jù)
?        {
?            buf[i]=DHT11_Read_Byte();
?        }
?        if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
?        {
?            *humi=buf[0];
?            *temp=buf[2];
?        }
?    }else return 1;
?    return 0;    ? ?
?}
??
??
?//初始化DHT11的IO口 DQ 同時(shí)檢測(cè)DHT11的存在
?//返回1:不存在
?//返回0:存在 ?       
?u8 DHT11_Init(void)
?{
?    RCC->APB2ENR|=1<<2; ? ?//使能PORTA口時(shí)鐘 
?    GPIOA->CRL&=0XFF0FFFFF;//PORTA.5 推挽輸出
    GPIOA->CRL|=0X00300000;
    GPIOA->ODR|=1<<5; ? ? ?//輸出1                 ? ?
?    DHT11_Rst();
?    return DHT11_Check();
?}
??
??
?/*
?函數(shù)功能:按鍵初始化
?硬件連接:PA1
?特性: 按下為低電平---沒按下高電平
?*/
?void KEY_Init(void)
?{
? ? ?//開時(shí)鐘
? ? ?RCC->APB2ENR|=1<<2;
? ? ?//配置模式
? ? ?GPIOA->CRL&=0xFFFFFF0F;
  GPIOA->CRL|=0x00000080;
  //上拉
  GPIOA->ODR|=1<<1;
?}
??
??
?/*
?函數(shù)功能:函數(shù)掃描函數(shù)
?函數(shù)參數(shù): mode=1表示使用連續(xù)模式  mode=0使用單擊模式
?返回值:  2 3 4 5 表示具體的按鈕 ? 0表示沒有按下
?*/
?u8 KEY_Scan(u8 mode)
?{
? ? static u8 flag=1; //記錄上一次按下的狀態(tài) 
? ? if(mode)flag=1;
? ? if(flag&&(KEY_S3==0))
? ? {
? ? ? ? flag=0;
? ? ? ? delay_ms(20);
? ? ? ? if(KEY_S3==0)return 3;
? ? }
? ? else if(KEY_S3)
? ? {
? ? ? ? flag=1; 
? ? }
? ? return 0;
?}
??
??
?/*
?函數(shù)功能: LED初始化
?硬件連接: PB6 PB7 PB8 PB9
?特性: 低電平點(diǎn)亮
?*/
?void LED_Init(void)
?{
? ? ?//開時(shí)鐘
? ? ?RCC->APB2ENR|=1<<3;
? ? ?//配置GPIO口
? ? ?GPIOB->CRL&=0x00FFFFFF;
  GPIOB->CRL|=0x22000000;
  GPIOB->CRH&=0xFFFFFF00;
  GPIOB->CRH|=0x00000022;
  //上拉
  GPIOB->ODR|=1<<6;
? ? ?GPIOB->ODR|=1<<7;
? ? ?GPIOB->ODR|=1<<8;
? ? ?GPIOB->ODR|=1<<9;
?}
??
?/*
?函數(shù)功能: 蜂鳴器初始化
?硬件連接: PA6
?特性: 高電平響
?*/
?void BEEP_Init(void)
?{
? ? RCC->APB2ENR|=1<<2;
? ? GPIOA->CRL&=0xF0FFFFFF;
  GPIOA->CRL|=0x02000000;
}
?
?
/*
函數(shù)功能: 串口1的初始化
硬件連接: PA9(TX)  和 PA10(RX)
*/
void USART1_Init(u32 baud)
{
  /*1. 開時(shí)鐘*/
  RCC->APB2ENR|=1<<14; //USART1時(shí)鐘
? ? ?RCC->APB2ENR|=1<<2; ?//PA
? ? ?RCC->APB2RSTR|=1<<14; //開啟復(fù)位時(shí)鐘
? ? ?RCC->APB2RSTR&=~(1<<14);//停止復(fù)位
? ? ?/*2. 配置GPIO口的模式*/
? ? ?GPIOA->CRH&=0xFFFFF00F;
  GPIOA->CRH|=0x000008B0;
  /*3. 配置波特率*/
  USART1->BRR=72000000/baud;
  /*4. 配置核心寄存器*/
  USART1->CR1|=1<<5; //開啟接收中斷
? ? ?STM32_SetPriority(USART1_IRQn,1,1); //設(shè)置中斷優(yōu)先級(jí)
? ? ?USART1->CR1|=1<<2; //開啟接收
? ? ?USART1->CR1|=1<<3; //開啟發(fā)送
? ? ?USART1->CR1|=1<<13;//開啟串口功能
?}
??
?/*
?函數(shù)功能: 串口2的初始化
?硬件連接: PA2(TX)  和 PA3(RX)
?*/
?void USART2_Init(u32 baud)
?{
? ? ?/*1. 開時(shí)鐘*/
? ? ?RCC->APB1ENR|=1<<17; //USART2時(shí)鐘
? ? ?RCC->APB2ENR|=1<<2; ?//PA
? ? ?RCC->APB1RSTR|=1<<17; //開啟復(fù)位時(shí)鐘
? ? ?RCC->APB1RSTR&=~(1<<17);//停止復(fù)位
? ? ?
? ? ?/*2. 配置GPIO口的模式*/
? ? ?GPIOA->CRL&=0xFFFF00FF;
  GPIOA->CRL|=0x00008B00;
  /*3. 配置波特率*/
  USART2->BRR=36000000/baud;
  /*4. 配置核心寄存器*/
  USART2->CR1|=1<<5; //開啟接收中斷
? ? ?STM32_SetPriority(USART2_IRQn,1,1); //設(shè)置中斷優(yōu)先級(jí)
? ? ?USART2->CR1|=1<<2; //開啟接收
? ? ?USART2->CR1|=1<<3; //開啟發(fā)送
? ? ?USART2->CR1|=1<<13;//開啟串口功能
?}
??
?/*
?函數(shù)功能: 串口3的初始化
?硬件連接: PB10(TX)  和 PB11(RX)
?*/
?void USART3_Init(u32 baud)
?{
? ? ?/*1. 開時(shí)鐘*/
? ? ?RCC->APB1ENR|=1<<18; //USART3時(shí)鐘
? ? ?RCC->APB2ENR|=1<<3; ?//PB
? ? ?RCC->APB1RSTR|=1<<18; //開啟復(fù)位時(shí)鐘
? ? ?RCC->APB1RSTR&=~(1<<18);//停止復(fù)位
? ? ?
? ? ?/*2. 配置GPIO口的模式*/
? ? ?GPIOB->CRH&=0xFFFF00FF;
  GPIOB->CRH|=0x00008B00;
  /*3. 配置波特率*/
  USART3->BRR=36000000/baud;
  /*4. 配置核心寄存器*/
  USART3->CR1|=1<<5; //開啟接收中斷
? ? ?STM32_SetPriority(USART3_IRQn,1,1); //設(shè)置中斷優(yōu)先級(jí)
? ? ?USART3->CR1|=1<<2; //開啟接收
? ? ?USART3->CR1|=1<<3; //開啟發(fā)送
? ? ?USART3->CR1|=1<<13;//開啟串口功能
?}
??
?u8 USART1_RX_BUFFER[USART1_RX_LENGTH]; //保存接收數(shù)據(jù)的緩沖區(qū)
?u32 USART1_RX_CNT=0; ?//當(dāng)前接收到的數(shù)據(jù)長(zhǎng)度
?u8 USART1_RX_FLAG=0; //1表示數(shù)據(jù)接收完畢 0表示沒有接收完畢
??
?//串口1的中斷服務(wù)函數(shù)
?void USART1_IRQHandler(void)
?{
? ? ?u8 data;
? ? ?//接收中斷
? ? ?if(USART1->SR&1<<5)
? ?  {
? ? ? ? ?TIM1->CNT=0; //清除計(jì)數(shù)器
    TIM1->CR1|=1<<0; //開啟定時(shí)器1
? ? ? ? ?data=USART1->DR; //讀取串口數(shù)據(jù)
   //  if(USART1_RX_FLAG==0) //判斷上一次的數(shù)據(jù)是否已經(jīng)處理完畢
     {
      //判斷是否可以繼續(xù)接收
      if(USART1_RX_CNTSR&1<<5)
? ?  {
? ? ? ? ?TIM2->CNT=0; //清除計(jì)數(shù)器
    TIM2->CR1|=1<<0; //開啟定時(shí)器2
? ? ? ? ?data=USART2->DR; //讀取串口數(shù)據(jù)
   //  if(USART2_RX_FLAG==0) //判斷上一次的數(shù)據(jù)是否已經(jīng)處理完畢
     {
      //判斷是否可以繼續(xù)接收
      if(USART2_RX_CNTSR&1<<5)
? ?  {
? ? ? ? ?TIM3->CNT=0; //清除計(jì)數(shù)器
    TIM3->CR1|=1<<0; //開啟定時(shí)器3
? ? ? ? ?data=USART3->DR; //讀取串口數(shù)據(jù)
   //  if(USART3_RX_FLAG==0) //判斷上一次的數(shù)據(jù)是否已經(jīng)處理完畢
     {
      //判斷是否可以繼續(xù)接收
      if(USART3_RX_CNTDR=*str++;
    while(!(USARTx->SR&1<<7)){}
? ? }
?}
??
?/*
?函數(shù)功能: 數(shù)據(jù)發(fā)送
?*/
?void USARTx_DataSend(USART_TypeDef *USARTx,u8 *data,u32 len)
?{
? ? u32 i;
? ? for(i=0;iDR=*data++;
? ? ? ? while(!(USARTx->SR&1<<7)){}
? ? }
?}
??
?//printf函數(shù)底層函數(shù)接口
?int fputc(int c, FILE* stream)
?{
? ? ?USART1->DR=c;
  while(!(USART1->SR&1<<7)){}
? ? ?return c;
?}
??
??
?u8 dht11_temp;
?u8 dht11_humidity;
??
?int main()
?{
? ? u8 key_val;
? ? u32 time=0;
? ? LED_Init();
? ? BEEP_Init();
? ? KEY_Init();
? ? USART1_Init(115200); ? ?//串口1初始化-打印調(diào)試信息
? ? //初始化DHT11
? ? DHT11_Init();
? ? ?
? ? while(1)
? ? {
? ? ? ?key_val=KEY_Scan(0); //PA1
? ? ? ?if(key_val)
? ? ?  {
? ? ? ? ? BEEP=!BEEP;
? ? ? ? ? LED1=!LED1; ? //PB6
? ? ?  }
? ? ? ?delay_ms(5);
? ? ? ?
? ? ? ?time++;
? ? ? ?if(time>=10)
    {
    time=0;
    LED2=!LED2; //PB7
     
    //讀取溫濕度
    if(DHT11_Read_Data(&dht11_temp,&dht11_humidity))
     {
      printf("溫度讀取失敗.rn");
     }    
    printf("T:%d,H:%drn",dht11_temp,dht11_humidity);
    
    //濕度大于80以上就關(guān)閉插座
    if(dht11_humidity>80)
     {
      LED1=1;
     }
    }
  }
}
復(fù)制代碼

3. 設(shè)計(jì)電路圖

3.1 添加DHT11器件

打開Proteus,搜索DHT11元器件。

image-20220524143937845

鼠標(biāo)選擇空白區(qū)域,點(diǎn)擊鼠標(biāo)右鍵,放置電源和GND。

image-20220524144345503

設(shè)計(jì)好的效果如下:

image-20220524144418613

3.2 添加虛擬串口終端

為了方便查看程序的串口輸出,添加一個(gè)串口終端顯示框。

在虛擬儀表模式下,選擇virtual terminal工具,然后在原理圖空白區(qū)域點(diǎn)擊一下就可以放virtual terminal工具。

image-20220524145332372

在繪制原理圖的經(jīng)常遇到連線復(fù)雜,或者布線很亂,如果元器件的引腳不方便直接與MCU單片機(jī)連接,可以采用標(biāo)簽的形式或者總線方式布線。這里以串口終端演示,采用標(biāo)簽方式連接IO口。

首先在坐標(biāo)的菜單欄里選擇終端模式,然后鼠標(biāo)點(diǎn)擊DEFAULT,然后在原理圖的空白區(qū)域,點(diǎn)擊一下鼠標(biāo)左鍵,會(huì)出現(xiàn)一個(gè)空心的連接線條,將這個(gè)連接線條連接到元器件的IO口上就行。

image-20220524150145275image-20220524145810211

放置好之后,鼠標(biāo)點(diǎn)擊這個(gè)接線端子--空心圓圈,彈出對(duì)話框,設(shè)置連接的IO口。

image-20220524150321956

然后MCU的PA9和PA10的端子上也設(shè)置好標(biāo)簽名稱。

image-20220524151328570

設(shè)置虛擬串口顯示器的波特率為:115200

image-20220524150744558

如果在調(diào)試仿真時(shí), Virtual Terminal無法自動(dòng)彈出窗口,可以點(diǎn)擊菜單欄的調(diào)試,選擇恢復(fù)彈出窗口。

image-20220524151628962

設(shè)置STM32芯片的晶振為:71MHZ

image-20220524155200053

3.3 開始仿真

image-20220524155229691image-20220524155252228image-20220524155723214

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

    關(guān)注

    78

    文章

    1692

    瀏覽量

    106203
  • STM32
    +關(guān)注

    關(guān)注

    2262

    文章

    10846

    瀏覽量

    353650
  • DHT11
    +關(guān)注

    關(guān)注

    19

    文章

    276

    瀏覽量

    57479
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于51單片機(jī)的溫濕度檢測(cè)報(bào)警及串口傳輸系統(tǒng)

    具體實(shí)現(xiàn)功能由51單片機(jī)+DHT11溫濕度傳感器+獨(dú)立按鍵+LCD1602液晶+蜂鳴器+串口模塊構(gòu)成。具體功能:(1)DHT11溫濕度傳感器
    的頭像 發(fā)表于 10-22 14:12 ?20次閱讀
    基于51單片機(jī)的<b class='flag-5'>溫濕度</b><b class='flag-5'>檢測(cè)</b>報(bào)警及串口傳輸系統(tǒng)

    dht11溫濕度傳感器工作原理介紹

    DHT11是一種常用的溫濕度傳感器,它能夠測(cè)量溫度和相對(duì)濕度。這種傳感器廣泛應(yīng)用于智能家居、氣象站、農(nóng)業(yè)監(jiān)控等領(lǐng)域。 DHT11溫濕度傳感器
    的頭像 發(fā)表于 10-21 09:47 ?80次閱讀

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

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

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

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

    dht11溫度傳感器的原理及應(yīng)用

    DHT11是一種廣泛使用的數(shù)字溫濕度傳感器,它能夠測(cè)量溫度和相對(duì)濕度。這種傳感器因其低成本、易于使用和相對(duì)較高的準(zhǔn)確性而受到歡迎。 DHT11傳感器的原理
    的頭像 發(fā)表于 09-03 17:28 ?651次閱讀

    DHT11溫度傳感器測(cè)量范圍與精度

    DHT11是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它結(jié)合了溫濕度傳感技術(shù),通過專用的數(shù)字模塊采集技術(shù)實(shí)現(xiàn)溫濕度的測(cè)量,無需復(fù)雜的電路
    的頭像 發(fā)表于 09-03 17:03 ?572次閱讀

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
    的頭像 發(fā)表于 08-13 18:04 ?764次閱讀
    Arduino Nano 和 NodeMCU ESP8266 讀取 <b class='flag-5'>DHT11</b> 環(huán)境<b class='flag-5'>溫濕度</b>數(shù)據(jù)及 OLED顯示

    基于51單片機(jī)SHT11溫濕度檢測(cè)proteus仿真及電路圖程序

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)SHT11溫濕度檢測(cè)proteus仿真及電路圖程序設(shè)計(jì)包含了電路圖源文件(Altiumdes
    發(fā)表于 06-19 11:45 ?0次下載

    DHT11數(shù)字溫濕度傳感器產(chǎn)品手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《DHT11數(shù)字溫濕度傳感器產(chǎn)品手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 06-12 17:09 ?6次下載

    基于51單片機(jī)的SHT11溫濕度監(jiān)測(cè)系統(tǒng),LCD1602顯示,上下限按鍵設(shè)置

    設(shè)計(jì)要求 1.設(shè)計(jì)一套基于51單片機(jī)的溫濕度Proteus仿真監(jiān)控系統(tǒng); 2.采用高精度的SHT11溫濕度傳感器模塊; 3.LCD液晶實(shí)時(shí)顯
    發(fā)表于 03-26 17:44

    【原創(chuàng)】DHT11傳感器溫濕度監(jiān)測(cè)系統(tǒng)畢設(shè),論文、代碼、原理圖和仿真介紹

    溫濕度傳感器元件,沒有DHT11傳感器元件。Proteus8版本經(jīng)過升級(jí)更新后,元件庫(kù)已添加了DHT11傳感器元件。 因此,本設(shè)計(jì)采用Proteus
    發(fā)表于 03-13 00:53

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】溫濕度傳感器DHT11實(shí)踐

    開發(fā)環(huán)境: IDE:RT-Thread Studio 2.2.7 開發(fā)板:HPM5300EVK 1 理論分析 1.1 DHT11介紹 DHT11 數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的
    發(fā)表于 01-03 23:46

    【LuckFox Pico 開發(fā)板免費(fèi)試用】5.內(nèi)核驅(qū)動(dòng)溫濕度傳感器 DHT11

    前期寫好的驅(qū)動(dòng),我這篇帖子也是基于此項(xiàng)目寫的。 1. DHT11 簡(jiǎn)介 DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和
    發(fā)表于 11-06 15:43

    Arduino篇—自制溫濕度測(cè)量?jī)x

    DHT11數(shù)字溫濕度傳感器:DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器
    的頭像 發(fā)表于 11-02 10:16 ?1673次閱讀
    Arduino篇—自制<b class='flag-5'>溫濕度</b>測(cè)量?jī)x

    基于51單片機(jī)DTH11溫濕度測(cè)量?jī)xprotues仿真設(shè)計(jì)

    單片機(jī)系統(tǒng)選擇使用AT89C51,溫度傳感器采用DHT11,將溫濕度傳感器DHT11采集到的溫度及濕度值數(shù)據(jù)顯示在LCD顯示器上。
    的頭像 發(fā)表于 10-29 17:47 ?955次閱讀
    基于51單片機(jī)DTH<b class='flag-5'>11</b><b class='flag-5'>溫濕度</b>測(cè)量?jī)xprotues<b class='flag-5'>仿真</b>設(shè)計(jì)