美文网首页物联网之家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