传感器数值读取

电路连接

DHT11:
GND-负极
VCC-5V正极
OUT-Arduino 8脚

Arduino自动气象站 - 图1

加载库函数

dht11.zip
image.png
有的库函数是离线下载的,可以通过这个方式下载库函数的压缩包,再进行载入

示例程序

  1. /**********************************************************************
  2. DHT11温湿度传感器的数据读取
  3. -----------------------------------------------------------------------
  4. 修订历史/Revision History
  5. 日期/Date 作者/Author 参考号/Ref 修订说明/Revision Description
  6. 2021/03/30 金陵中学 1.0 金陵中学Arduino选修课使用
  7. -----------------------------------------------------------------------
  8. */
  9. #include <dht11.h>
  10. #define DHT11PIN 8
  11. dht11 DHT11;
  12. void setup(){
  13. Serial.begin(9600);
  14. }
  15. void loop(){
  16. Serial.println();
  17. int chk = DHT11.read(DHT11PIN);
  18. float h = (float)DHT11.humidity;
  19. float t = (float)DHT11.temperature;
  20. Serial.print("Humidity (%): ");
  21. Serial.print(t, 1);//1代表1位小数,2代表2位小数,以此类推
  22. Serial.print(" Temperature (C): ");
  23. Serial.print(h, 1);
  24. delay(500);
  25. }

OLED自动气象站

电路连接

DHT11:
GND-负极
VCC-5V正极
OUT-Arduino 8脚
OLED显示屏:
GND-负极
VCC-5V正极
SCL-Arduino A5脚
SDA-Arduino A4脚
image.png


示例程序

  1. /**********************************************************************
  2. Arduino自动气象站
  3. -----------------------------------------------------------------------
  4. 修订历史/Revision History
  5. 日期/Date 作者/Author 参考号/Ref 修订说明/Revision Description
  6. 2021/04/12 金陵中学 1.0 金陵中学Arduino选修课使用
  7. -----------------------------------------------------------------------
  8. */
  9. #include <dht11.h>
  10. #include <Wire.h>
  11. #include <Adafruit_GFX.h>
  12. #include <Adafruit_SSD1306.h>
  13. #define DHT11PIN 8
  14. dht11 DHT11;
  15. #define OLED_RESET 4
  16. Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
  17. void setup() {
  18. display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  19. display.setTextColor(WHITE);//开像素点发光
  20. }
  21. void loop() {
  22. int chk = DHT11.read(DHT11PIN);
  23. float h = (float)DHT11.humidity;
  24. float t = (float)DHT11.temperature;
  25. display.clearDisplay();//清屏
  26. display.setTextSize(1); //设置字体大小
  27. display.setCursor(7, 0);//设置显示位置
  28. display.println("JinLing High School");//输出字符
  29. display.setCursor(7, 15);//设置显示位置
  30. display.println("Temperature(%):");//输出字符
  31. display.setCursor(100, 15);//设置显示位置
  32. display.print(t,1);//显示温度
  33. display.setCursor(7, 45);//设置显示位置
  34. display.println("Humidity(%):");//输出字符
  35. display.setCursor(100, 45);//设置显示位置
  36. display.print(h,1);//显示温度
  37. display.display();//开显示
  38. delay(100);
  39. }

自动浇花装置 https://www.jianguoyun.com/p/DYwAdvUQ_pLmBxjP7O0D