91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-04-12
  • 語言: 其他
  • 標簽: arduino??dht11??

資源簡介

dht11頭文件,'dht11.h','dht11.cpp'.包含一個溫度濕度實例

資源截圖

代碼片段和文件信息

//
//????FILE:?dht11.cpp
//?VERSION:?0.4.1
//?PURPOSE:?DHT11?Temperature?&?Humidity?Sensor?library?for?Arduino
//?LICENSE:?GPL?v3?(http://www.gnu.org/licenses/gpl.html)
//
//?DATASHEET:?http://www.micro4you.com/files/sensor/DHT11.pdf
//
//?HISTORY:
//?George?Hadjikyriacou?-?Original?version?(??)
//?Mod?by?SimKard?-?Version?0.2?(24/11/2010)
//?Mod?by?Rob?Tillaart?-?Version?0.3?(28/03/2011)
//?+?added?comments
//?+?removed?all?non?DHT11?specific?code
//?+?added?references
//?Mod?by?Rob?Tillaart?-?Version?0.4?(17/03/2012)
//?+?added?1.0?support
//?Mod?by?Rob?Tillaart?-?Version?0.4.1?(19/05/2012)
//?+?added?error?codes
//

#include?“dht11.h“

//?Return?values:
//?DHTLIB_OK
//?DHTLIB_ERROR_CHECKSUM
//?DHTLIB_ERROR_TIMEOUT
int?dht11::read(int?pin)
{
//?BUFFER?TO?RECEIVE
uint8_t?bits[5];
uint8_t?cnt?=?7;
uint8_t?idx?=?0;

//?EMPTY?BUFFER
for?(int?i=0;?i
//?REQUEST?SAMPLE
pinMode(pin?OUTPUT);
digitalWrite(pin?LOW);
delay(18);
digitalWrite(pin?HIGH);
delayMicroseconds(40);
pinMode(pin?INPUT);

//?ACKNOWLEDGE?or?TIMEOUT
unsigned?int?loopCnt?=?10000;
while(digitalRead(pin)?==?LOW)
if?(loopCnt--?==?0)?return?DHTLIB_ERROR_TIMEOUT;

loopCnt?=?10000;
while(digitalRead(pin)?==?HIGH)
if?(loopCnt--?==?0)?return?DHTLIB_ERROR_TIMEOUT;

//?READ?OUTPUT?-?40?BITS?=>?5?BYTES?or?TIMEOUT
for?(int?i=0;?i<40;?i++)
{
loopCnt?=?10000;
while(digitalRead(pin)?==?LOW)
if?(loopCnt--?==?0)?return?DHTLIB_ERROR_TIMEOUT;

unsigned?long?t?=?micros();

loopCnt?=?10000;
while(digitalRead(pin)?==?HIGH)
if?(loopCnt--?==?0)?return?DHTLIB_ERROR_TIMEOUT;

if?((micros()?-?t)?>?40)?bits[idx]?|=?(1?< if?(cnt?==?0)???//?next?byte?
{
cnt?=?7;????//?restart?at?MSB
idx++;??????//?next?byte!
}
else?cnt--;
}

//?WRITE?TO?RIGHT?VARS
????????//?as?bits[1]?and?bits[3]?are?allways?zero?they?are?omitted?in?formulas.
humidity????=?bits[0];?
temperature?=?bits[2]+bits[3];?//bits[3]是溫度的小數部分

uint8_t?sum?=?bits[0]?+bits[1]+?bits[2]+bits[3];??//校驗碼的正確計算方法,舊版本的bits[1]和bits[3]是0可以不加,新的是有小數的?必須加上否則不對 if?(bits[4]?!=?sum)?return?DHTLIB_ERROR_CHECKSUM;
return?DHTLIB_OK;
}
//

//?END?OF?FILE
//

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2333??2018-06-27?18:54??Dht11\dht11.cpp

?????文件????????392??2018-06-27?18:54??Dht11\dht11.h

?????文件???????2474??2018-06-27?18:54??Dht11\examples\dht11\dht11.ino

?????目錄??????????0??2018-06-27?18:51??Dht11\examples\dht11

?????目錄??????????0??2018-06-27?18:51??Dht11\examples

?????目錄??????????0??2018-06-27?18:51??Dht11

-----------?---------??----------?-----??----

?????????????????5199????????????????????6


評論

共有 條評論