美文网首页物联网之家IoT-Arduino物联网
[Arduino+Oled+DHT11]检测温湿度并显示

[Arduino+Oled+DHT11]检测温湿度并显示

作者: 破碎的時光 | 来源:发表于2018-01-10 19:10 被阅读278次

Arduino单片机采集DHT11传感器模块的温度和湿度信息,并在OLED显示屏上实时动态显示。
实验材料:


实验材料.JPG

连线图:


连线图.jpg

需要添加的库(在项目->加载库中加载这些库):
dht11
Adafruit_GFX
Adafruit_SSD1306
完整代码:

#include <dht11.h> 
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>   
float str1,str2; 
dht11 DHT11;  
#define OLED_MOSI  D7
#define OLED_CLK   D5
#define OLED_DC    D0
#define OLED_CS    D8
#define OLED_RESET D3
#define PIN_DHT11   D4
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);  

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
void setup()  
{  
  Serial.begin(9600);  
  Wire.begin();
  display.begin(SSD1306_SWITCHCAPVCC);//初始化
  display.display();
  display.clearDisplay();
}    
void loop()  
{ 
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  DHT11.read(PIN_DHT11);  
  Serial.print("Humidity: ");  
  Serial.println((float)DHT11.humidity, 2);  //串口显示
  str1=DHT11.humidity;
  display.print("Humidity:");
  display.println(str1);
  Serial.print("Temperature: ");  
  Serial.println((float)DHT11.temperature, 2);//串口显示
  str2=DHT11.temperature;
  display.print("Temperature:");
  display.println(str2); 
  display.display();//显示出来
  delay(300);  
  display.clearDisplay();
} 

有兴趣的朋友可以尝试!

相关文章

网友评论

  • 二十三_b22f:你好,我贴下来,错误显示D7未定义。
  • taoza:图片应该不是原理图吧?应该是物理连接示意图?
    破碎的時光:@天下独绝 对对对 是连线图

本文标题:[Arduino+Oled+DHT11]检测温湿度并显示

本文链接:https://www.haomeiwen.com/subject/uufanxtx.html