色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

電子發燒友網>嵌入式技術>嵌入式軟件/開發板>DHT11溫濕度傳感器使用注意事項 - 基于arduino的dht11溫濕度傳感器的使用

DHT11溫濕度傳感器使用注意事項 - 基于arduino的dht11溫濕度傳感器的使用

  DHT11溫濕度傳感器使用注意事項

  DHT11的供電電壓為3-5.5V。傳感器上電后,要等待1s以越過不穩定狀態在此期間無需發送任何指令。電源引腳(VDD,GND)之間可增加一個100nF的電容,用以去耦濾波。

  微處理器與DHT11之間的通訊和同步,采用單總線數據格式,一次通訊時間4ms左右,數據分小數部分和整數部分,具體格式在下面說明,當前小數部分用于以后擴展,現讀出為零。

  操作流程如下:

  一次完整的數據傳輸為40bit,高位先出。

  數據格式:8bit濕度整數數據+8bit濕度小數數據

  +8bi溫度整數數據+8bit溫度小數數據+8bit校驗和

  數據傳送正確時校驗和數據等于8bit濕度整數數據+8bit濕度小數數據+8bi溫度整數數據+8bit溫度小數數據所得結果的末8位。

  用戶MCU發送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發送響應信號,送出40bit的數據,并觸發一次信號采集,用戶可選擇讀取部分數據。

  從模式下,DHT11接收到開始信號觸發一次溫濕度采集,如果沒有接收到主機發送開始信號,DHT11不會主動進行溫濕度采集。采集數據后轉換到低速模式。

  通訊過程

基于arduino的dht11溫濕度傳感器的使用

  總線空閑狀態為高電平,主機把總線拉低等待DHT11響應,主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結束,然后發送80us低電平響應信號。主機發送開始信號結束后,延時等待20-40us后,讀取DHT11的響應信號,主機發送開始信號后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。

基于arduino的dht11溫濕度傳感器的使用

  總線為低電平,說明DHT11發送響應信號,DHT11發送響應信號后,再把總線拉高80us,準備發送數據,每一bit數據都以50us低電平時隙開始,高電平的長短定了數據位是0還是1.格式見下面圖示。如果讀取響應信號為高電平,則DHT11沒有響應,請檢查線路是否連接正常。當最后一bit數據傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態。

  數字0信號表示方法

基于arduino的dht11溫濕度傳感器的使用

  數字1信號表示方法

基于arduino的dht11溫濕度傳感器的使用

  程序:

  //DHT11temperature

  //chriz_w@163.com

  //arduinonano

  //arduinolite

  #include“arduino_lit.h”

  #defineDHT11Pin2

  //TesttheDHT11--chriz_w@163.com

  bytedat[5];//存放濕度2byte,溫度2byte,checksum1byte

  bytereadData(){//每次讀取8bits(onebyte)

  bytedata;

  for(inti=0;i《8;i++){

  if(digitalRead(DHT11Pin)==LOW)

  {

  //一開始要LOW才表示要傳過來

  while(digitalRead(DHT11Pin)==LOW);//等待50us;

  //現在已經變成HIGH了

  _delay_us(30);//判斷高電平持續時間,以判定資料是‘0’還是‘1’;

  if(digitalRead(DHT11Pin)==HIGH)//根據時序持續了30us以上就是1

  data|=(1《《(7-i));//高位在前,低位元在后;

  //如果這時已經是LOW,表示這bit是0,不必塞入data

  //。。而且以下的while也會立即結束(因為LOW),準備接收下一個bit

  while(digitalRead(DHT11Pin)==HIGH);//等待下一bit的接收;

  //這時一定已經變成LOW了

  }

  }

  returndata;//收完8bit=onebyte=onechar

  }

  voidstart_dht11(){//每次要與DHT11溝通

  DIGITAL_WRITE(DHT11Pin,LOW);//拉低到LOW,發表示要開始溝通的信號;

  _delay_ms(30);//延時要大于18ms,以便DHT11能檢測到開始信號;這里用30ms

  DIGITAL_WRITE(DHT11Pin,HIGH);//拉高HIGH,讓DHT11拉低到LOW告訴我們要傳送

  _delay_us(40);//給40us等待DHT11響應;

  PIN_MODE(DHT11Pin,INPUT);//改為輸入mode準備digitalRead()

  while(DIGITAL_READ(DHT11Pin)==HIGH);//必須等到LOW

  _delay_us(80);//DHT11發出響應,會拉低80us;所以至少等80us

  while(DIGITAL_READ(DHT11Pin)==LOW);//繼續等到變HIGH

  _delay_us(80);//DHT11會拉高到HIGH80us后開始發送資料;

  ///以下連續讀入5bytes(40bits),最后的byte是checksum校驗值

  for(inti=0;i《5;i++)

  dat[i]=readData();//接收溫濕度資料,校驗;

  PIN_MODE(DHT11Pin,OUTPUT);//改為Outputmode,準備拉高HIGH

  DIGITAL_WRITE(DHT11Pin,HIGH);//發送完一次資料后釋放bus,等待下一次開始信號;

  }

  voidsetup(){

  SERIAL_BEGIN();

  PIN_MODE(DHT11Pin,OUTPUT);

  }

  voidloop(){

  start_dht11();//讀取濕度溫度和檢核位到dat[];其中dat[4]是checkSum

  //根據datasheet規定,dat[4]要==(dat[0]+dat[1]+dat[2]+dat[3])%256

  //否則表示溝通有錯誤!!

  PRINT(“currenthumidity=”);

  println(dat[0]&0xff,10,serial_puts);

  PRINT(“currenttemperature=”);

  println(dat[2]&0xff,10,serial_puts);//顯示溫度的整數部分;

  _delay_ms(2000);

  }

  intmain()

  {

  setup();

  while(1)

  loop();

  }

上一頁12全文

本文導航

收藏3

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

評論

请按住滑块,拖动到最右边
了解新功能

查看更多

相關推薦

基于MCU的DHT11數字溫濕度傳感器設計

  DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,采用專用的數字模塊采集技術和溫濕度傳感技術,無需復雜的電路處理。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。
2022-09-09 16:46:462051

51單片機dht11溫濕度傳感器

51單片機dht11溫濕度傳感器,今天給大家介紹的是一個溫濕度檢測設計,基于51單片機、藍牙模塊、溫濕度傳感器、Android APP完成。首先先展示一下設計好的實物,接下來將從系統方案、硬件
2021-07-14 07:45:56

Arduino開發板使用DHT11溫濕度傳感器的方法 精選資料分享

在本篇文章中,我們將DHT11溫濕度傳感器Arduino開發板和LCD顯示屏連接,設計一種能夠測量室溫和環境濕度的設備。簡單地說,我們將使用ArduinoDHT11傳感器設計數字濕度和溫度計
2021-07-13 06:58:11

Arduino開發板使用DHT11溫濕度傳感器的方法 精選資料分享

在本篇文章中,我們將DHT11溫濕度傳感器Arduino開發板和LCD顯示屏連接,設計一種能夠測量室溫和環境濕度的設備。簡單地說,我們將使用ArduinoDHT11傳感器設計數字濕度和溫度計
2021-07-13 09:35:01

DHT11傳感器的相關資料推薦

1、DHT11傳感器簡介DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性和卓越的長期穩定性。傳感器包括
2022-02-16 07:44:24

DHT11溫濕度傳感器

DHT11溫濕度傳感器1. DHT11簡介2. 硬件設計3. 軟件設計3.1 STM32CubeMX設置3.2 MDK-ARM編程4. 下載驗證
2021-08-11 06:04:01

DHT11溫濕度傳感器

溫濕度傳感器資料(資料+程序)DHT11參考資料
2016-07-25 17:17:54

DHT11溫濕度傳感器

一、實驗目的采用ARM結構中最為代表的Cortex-M4系列的芯片,選用STM32F407ZGT6開發板進行項目開發,選用的傳感器為常見通用的DHT11溫濕度傳感器傳感器將采集到的數據傳輸到STM32(MCU)主控進行數據處理,最后通過串口打印出來。...
2021-08-10 07:36:20

DHT11溫濕度傳感器介紹

DHT11溫濕度傳感器介紹,1.實物原理圖2.模塊說明2.1 DHT11產品概述DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術
2021-07-21 09:04:40

DHT11溫濕度傳感器發生超時錯誤

最近在使用DHT11溫濕度傳感器時老是發生超時錯誤,導致數據錯誤,怎么辦
2016-03-06 10:43:54

DHT11溫濕度傳感器無小數部份

請高手指教為什么:基于51單片機的溫濕度測量,溫濕度傳感器的型號為:DHT11,用1602顯示測量值,所顯示的測量值小數部份全為零?
2012-11-05 21:27:47

DHT11溫濕度傳感器的原理資料

附件味DHT11溫濕度傳感器的原理資料
2017-06-05 15:16:05

正在加载...

主站蜘蛛池模板: 99久久全国免费久久爱 | 一个人日本的视频免费完整版 | 色妞色视频一区二区三区四区 | 果冻传媒在线完整免费播放 | 精品久久久久久久99热 | 日日日夜夜在线视频 | 久久有码中文字幕 | 冰山高冷受被c到哭np双性 | 性生片30分钟 | 久久综合九色综合国产 | 大学生宿舍飞机china free | 欧美午夜精品一区区电影 | 国产午夜精品理论片在线 | 亚洲男女羞羞无遮挡久久丫 | 国产性夜夜性夜夜爽91 | 甜性涩爱bt下载 | 性色AV乱码一区二区三区视频 | 米奇影视999 | 色综合色综合久久综合频道 | 内射少妇36P亚洲区 内射少妇36P九色 | 亚洲人成网站在线观看90影院 | 国精产品砖一区二区三区糖心 | 天美传媒在线完整免费观看网站 | 黄桃AV无码免费一区二区三区 | 99久女女精品视频在线观看 | 一扒二脱三插片在线观看 | 99视频久久精品久久 | 18禁裸乳无遮挡免费网站 | 国产精品自在在线午夜精品 | 日本亚洲电影 | 久久精品视在线观看2 | 国产AV麻豆出品在线播放 | 成人国产在线24小时播放视频 | 无码日本亚洲一区久久精品 | 秋霞电影在线观看午夜伦 | 女人高潮时一吸一夹 | 女人被躁到高潮嗷嗷叫69 | 日本边添边摸边做边爱边 | 亚洲AV无码一区二区色情蜜芽 | 亚洲人成77777在线视频 | 日本无码人妻丰满熟妇5G影院 |