NodeMCU+DHT11测温度(bliker+IIC1602显示)

NodeMCU+DHT11测温度(bliker+IIC1602显示)

  1. 所需硬件
  2. 硬件连线
  3. IDE
  4. 代码
  5. 效果

1.所需硬件

开发板 配件
NodeMCU DHT11温湿度传感器
IIC1602液晶显示屏

NodeMCU+DHT11测温度(bliker+IIC1602显示)_第1张图片
NodeMCU+DHT11测温度(bliker+IIC1602显示)_第2张图片

2.硬件连线

NodeMCU开发板 配件
D4 DHT11- -Data
D1 1602- -SCL
D2 1602- -SDA

3.IDE

本设计使用的软件开发平台为Arduino IDE,其可以在Windows、Macintosh OSX、Linux三大主流操作系统上运行,基于processing IDE开发,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 AVRGCC库的二次封装。其具有大量的库函数,调用方便。

4.代码

#define BLINKER_WIFI
#include    //这是I2C的库文件
#include 
#include 
#define DHTPIN 2
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27,16,2);  

float humi_read = 0, temp_read = 0;

char auth[] = "";//写入blinker申请出来的密钥
char ssid[] = "";//写入WiFi名称
char pswd[] = "";//写入WiFi密码

// 新建组件对象
BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");

//温湿度显示
void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}

void setup()
{
    // 初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();

    lcd.init();       
    lcd.backlight();   
    
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);

    Blinker.attachHeartbeat(heartbeat);
    dht.begin();//DHT开始工作
}

void loop() {
    Blinker.run();
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    
    lcd.setCursor(0,0);//lcd显示
    lcd.print("Hum :");//湿度
    lcd.setCursor(7,0);
    lcd.print(h);
    lcd.print("%");
    lcd.setCursor(0,1);
    lcd.print("Temp: ");//温度
    lcd.setCursor(7,1);
    lcd.print(t);
    lcd.print((char)223);
    lcd.print("C");
    
    if (isnan(h) || isnan(t))
    {
        BLINKER_LOG("Failed to read from DHT sensor!");
    }
    else
    {
        BLINKER_LOG("Humidity: ", h, " %");
        BLINKER_LOG("Temperature: ", t, " *C");
        humi_read = h;
        temp_read = t;
    } 
    Blinker.delay(2000);
}

5.效果

NodeMCU+DHT11测温度(bliker+IIC1602显示)_第3张图片
NodeMCU+DHT11测温度(bliker+IIC1602显示)_第4张图片

你可能感兴趣的:(NodeMCU+DHT11测温度(bliker+IIC1602显示))