日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

和12岁小同志搞创客开发:手撕代码,做一款温湿度检测器

發布時間:2023/11/27 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 和12岁小同志搞创客开发:手撕代码,做一款温湿度检测器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機緣巧合在網上認識一位12歲小同志,從零開始系統輔導其創客開發思維和技巧。

項目專欄:https://blog.csdn.net/m0_38106923/category_11097422.html?


本篇博文將使用DHT11做一款溫濕度檢測器,檢測的溫濕度數據將通過LCD1602顯示。

項目連線效果如下所示:

實現代碼如下所示:

#include <dht11.h>   
#include <Wire.h>
#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x20,16,2);  //設置LCD的地址為0x20,可以設置2行,每行16個字符 dht11 DHT;
#define DHT11_PIN 4void setup(){lcd.init();                 // LCD初始化設置lcd.backlight();           // 打開LCD背光Serial.begin(9600);       // 設置串口波特率9600//串口輸出”Type, status, Humidity(%), Temperature(C)”Serial.println("Type,\tstatus,\tHumidity(%),\tTemperature(C)");lcd.print("Humidity(%): ");    //LCD屏顯示” Humidity(%):”lcd.setCursor(0, 1);            //光標移到第2行,第一個字符lcd.print("Temp(C): ");         //LCD屏顯示”Temp(C):”
}void loop(){int chk;     //chk用于存儲DHT11傳感器的數據Serial.print("DHT11, \t");     //讀取DHT11傳感器的數據chk = DHT.read(DHT11_PIN);    switch (chk){    case DHTLIB_OK:  Serial.print("OK,\t"); break;case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break;case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); break;default: Serial.print("Unknown error,\t"); break;}//串口顯示溫濕度值Serial.print(DHT.humidity,1);Serial.print(",\t");Serial.println(DHT.temperature,1);//LCD顯示溫濕度值lcd.setCursor(12, 0);lcd.print(DHT.humidity,1);lcd.setCursor(8, 1);lcd.print(DHT.temperature,1);delay(1000);
}

首先把用到的庫聲明一下:

#include <dht11.h>   
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

本項目使用到dht11.h和LiquidCrystal_l2C的庫,需要加載庫,那么Wire.h的庫為什么不需要加載呢?因為我們下載的Arduino IDE本身自帶這個庫。

有了現有的庫,所以只需要在程序的一開始聲明一下LCD:

LiquidCrystal_I2C lcd(0x20,16,2);  //設置LCD的地址為0x20,可以設置2行,每行16個字符 

其中:

  • 0X20:是LCD I2C地址,由屏后面的A0~A1決定,可參見產品手冊;
  • 16:每行16個字符;
  • 2:共2行。

程序中LiquidCrystal_I2C.h設計函數說明如下表所示:

“switch”可以理解為是“開關”,多選擇開關。與if語句相似之處在于switch…case也用于判斷,又與if不同點在于它能判斷多種情況。使用如下所示:

需要注意幾點:

1、case后面是冒號,不是分號。
2、關鍵字break用于退出switch語句,通常每條case語句都以break結尾。如果沒有break語句,switch語句將會一直執行接下來的語句(一直向下)直到遇見一個break,或者switch語句結尾。

最后,下載運行程序看看效果吧~

總結

以上是生活随笔為你收集整理的和12岁小同志搞创客开发:手撕代码,做一款温湿度检测器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。