|
温度的温出不来 请问下是怎么回事?
//https://pan.baidu.com/s/1nlEqX685XKrC5Z3T4nMGag 提取码:sn42
//可用 温度偏高
#include <dht11.h> //引用dht11库文件,使得下面可以调用相关参数
#define DHT11PIN 2 //定义温湿度针脚号为2号引脚
dht11 DHT11; //实例化一个对象
#include <Arduino.h>
#include <U8g2lib.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
void setup() {
Serial.begin(9600); //设置波特率参数
pinMode(DHT11PIN, OUTPUT); //定义输出口
pinMode(9, OUTPUT);
digitalWrite(9, 0); // default output in I2C mode for the SSD1306 test shield: set the i2c adr to 0
u8g2.enableUTF8Print();//必须否则中文不显示。
u8g2.begin();
}
void loop() { //循环
int chk = DHT11.read(DHT11PIN); //将读取到的值赋给chk
int tem = (float)DHT11.temperature; //将温度值赋值给tem
int hum = (float)DHT11.humidity; //将湿度值赋给hum
Serial.print("Tempeature:"); //打印出Tempeature:
Serial.println(tem); //打印温度结果
Serial.print("Humidity:"); //打印出Humidity:
Serial.print(hum); //打印出湿度结果
Serial.println("%"); //打印出%
Serial.println();
delay(1000); //延时一段时间
u8g2.setFont(u8g2_font_unifont_t_chinese1);
u8g2.setFontDirection(0);
u8g2.clearBuffer();
u8g2.setCursor(0, 15);
u8g2.print("当前温度:");
u8g2.print(tem);
u8g2.print("℃");
u8g2.setCursor(0, 35);
u8g2.print("湿度:");
u8g2.print(hum);
u8g2.print("%");
u8g2.sendBuffer();
delay(1000);
}
|
-
|