久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4616|回復: 0
打印 上一主題 下一主題
收起左側

DHT11溫濕度模塊+LCD1602模塊制作顯示溫度溫度器

[復制鏈接]
跳轉到指定樓層
樓主
對于Arduino我也是個初學者,今天學個如何使用DHT11溫濕度模塊和LCD1602顯示模塊來制作一個溫度濕度儀器。
搜索了很多的相關資料,包括DHT11模塊的類庫和原理圖,和LCD1602的接線和原理圖等資料,終于搞定了這個實驗制作。
DHT11的類庫會作為附件提供

1、DHT11的連接線路比較簡單,在數據信號引腳(2腳)上要接個上拉電阻,阻值根據文檔要求是4.7kΩ,其他沒有特別需要注意的。

2、LCD1602的連接線路有點復雜,需要注意的是V0(3腳)可以接一個4.7kΩ的電阻,可以增加LCD1602的對比度,這個阻值可以根據自己的1602顯示效果來調整的,并不一定是4.7k。另外注意的是第15腳是1602的LED背光的正極,需要接一個100-200Ω左右的電阻,以調節背光的明暗度。

LCD1602默認是英文顯示,如果想要用中文顯示“溫度”“溫度”的,就要建立字庫,對于我這個初學者來說,就不要太復雜了,先用簡單的方式來做,有必要再進一步研究。

實驗所用到的材料有:
Arduino Uno,面包板,電阻(200Ω*1,4.7kΩ*2),DHT11模塊,LCD1602模塊,杜邦線等


連接示意圖




原理圖




源代碼
  1. double Fahrenheit(double celsius)
  2. {
  3.         return 1.8 * celsius + 32;
  4. }    //攝氏溫度度轉化為華氏溫度

  5. double Kelvin(double celsius)
  6. {
  7.         return celsius + 273.15;
  8. }     //攝氏溫度轉化為開氏溫度

  9. // 露點(點在此溫度時,空氣飽和并產生露珠)
  10. double dewPoint(double celsius, double humidity)
  11. {
  12.         double A0= 373.15/(273.15 + celsius);
  13.         double SUM = -7.90298 * (A0-1);
  14.         SUM += 5.02808 * log10(A0);
  15.         SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ;
  16.         SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ;
  17.         SUM += log10(1013.246);
  18.         double VP = pow(10, SUM-3) * humidity;
  19.         double T = log(VP/0.61078);   // temp var
  20.         return (241.88 * T) / (17.558-T);
  21. }

  22. // 快速計算露點,速度是5倍dewPoint()
  23. // 參考: http://en.wikipedia.org/wiki/Dew_point
  24. double dewPointFast(double celsius, double humidity)
  25. {
  26.         double a = 17.271;
  27.         double b = 237.7;
  28.         double temp = (a * celsius) / (b + celsius) + log(humidity/100);
  29.         double Td = (b * temp) / (a - temp);
  30.         return Td;
  31. }

  32. #include <dht11.h>
  33. #include <LiquidCrystal.h>

  34. dht11 DHT11;

  35. const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
  36. LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

  37. #define DHT11PIN 8

  38. void setup()
  39. {
  40.   Serial.begin(9600);
  41.   Serial.println("DHT11 TEST PROGRAM ");
  42.   Serial.print("LIBRARY VERSION: ");
  43.   Serial.println(DHT11LIB_VERSION);
  44.   Serial.println();

  45.   lcd.begin(16,2);
  46.   lcd.cursor();
  47. }

  48. void loop()
  49. {
  50.   Serial.println("\n");

  51.   int chk = DHT11.read(DHT11PIN);

  52.   Serial.print("Read sensor: ");
  53.   switch (chk)
  54.   {
  55.     case DHTLIB_OK:
  56.                 Serial.println("OK");
  57.                 break;
  58.     case DHTLIB_ERROR_CHECKSUM:
  59.                 Serial.println("Checksum error");
  60.                 break;
  61.     case DHTLIB_ERROR_TIMEOUT:
  62.                 Serial.println("Time out error");
  63.                 break;
  64.     default:
  65.                 Serial.println("Unknown error");
  66.                 break;
  67.   }

  68.   Serial.print("Humidity (%): ");
  69.   Serial.println((float)DHT11.humidity, 2);

  70.   Serial.print("Temperature (oC): ");
  71.   Serial.println((float)DHT11.temperature, 2);

  72.   Serial.print("Temperature (oF): ");
  73.   Serial.println(Fahrenheit(DHT11.temperature), 2);

  74.   Serial.print("Temperature (K): ");
  75.   Serial.println(Kelvin(DHT11.temperature), 2);

  76.   Serial.print("Dew Point (oC): ");
  77.   Serial.println(dewPoint(DHT11.temperature, DHT11.humidity));

  78.   Serial.print("Dew PointFast (oC): ");
  79.   Serial.println(dewPointFast(DHT11.temperature, DHT11.humidity));

  80.   lcd.setCursor(0,0);
  81.   lcd.print("Hum(%):");
  82.   lcd.setCursor(10,0);
  83.   lcd.print((float)DHT11.humidity,2);

  84.   lcd.setCursor(0,1);
  85.   lcd.print("Temp(oC):");
  86.   lcd.setCursor(10,1);
  87.   lcd.print((float)DHT11.temperature,2);

  88.   delay(2000);
  89. }
復制代碼
代碼是由DHT11類庫自帶的示例代碼進行修改,增加了LCD顯示的代碼進去。

有網友說DHT11模塊的溫度濕度不是很準確,這個大家可以自己感覺,我對比過覺得還是比較準確的,也有網友說它的響應速度慢,其實這個真的見仁見智,感應器的靈敏度再高也不可能秒變的,反正日常家居溫度溫度檢測是能滿足的。

附件里有兩個文件,一個是DHT11的說明文檔PDF格式,一個是Dht11.zip類庫,要加載到Arduino的庫里才能使用,LCD1602的類庫在Arduino的庫管理里搜索安裝即可

附件下載:
Dht11.zip (3.03 KB, 下載次數: 33)

DHT11_.pdf (786.99 KB, 下載次數: 17)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品毛片无码 | 久久久久久免费毛片精品 | 一区二区免费 | 国产高清在线精品 | 一区二区精品视频 | 欧美日韩看片 | 国产免费福利小视频 | 欧美在线视频一区二区 | 国产一区二区三区免费视频 | 日韩成人在线播放 | 欧美日韩精选 | 婷婷午夜天 | 国产成人免费视频网站视频社区 | 久久久久99 | 亚洲影音先锋 | 国产午夜视频 | 一级片视频免费观看 | 国产清纯白嫩初高生在线播放视频 | 亚洲一区二区三区在线播放 | 一级黄色片免费 | 激情一区二区三区 | av一区二区在线观看 | 亚洲国产精品va在线看黑人 | 欧美精品一区二区三区在线播放 | 欧美激情在线播放 | 国产人成在线观看 | 99久久婷婷国产综合精品电影 | 亚洲精品一区二区网址 | 欧美日韩亚洲二区 | 五月天婷婷丁香 | 欧洲尺码日本国产精品 | 亚洲狠狠 | 欧美福利一区 | 久久这里只有精品首页 | 国产羞羞视频在线观看 | 欧美精品在线免费观看 | 日韩亚洲一区二区 | 久久久性色精品国产免费观看 | 999久久久久久久久6666 | 亚洲444kkkk在线观看最新 | 国产第1页|