第一個程式原始碼
#include <DHT11.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); //設置LCD1602的I2C位址為0x27,LCD1602
//為兩行,每行16個字元的液晶顯示器
int pin=4;
DHT11 dht11(pin);
void setup()
{
lcd.init(); // 給LCD的I2C通訊初始化
lcd.backlight(); // 點亮LCD背光燈
}
void loop()
{
int err;
float temp, humi;
if((err=dht11.read(humi, temp))==0)
{
lcd.setCursor(0, 0);
lcd.print("Temp=");
lcd.print(temp);
lcd.setCursor(0, 1);
lcd.print("Humi=");
lcd.print(humi);
}
else
{
lcd.setCursor(0, 0);
lcd.print("error !");
}
delay(DHT11_RETRY_DELAY); //delay for reread
}
第二個程式原始碼
#include <DHT11.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); //設置LCD1602的I2C位址為0x27,LCD1602
//為兩行,每行16個字元的液晶顯示器
int pin=4;
DHT11 dht11(pin);
void setup()
{
lcd.init(); // 給LCD的I2C通訊初始化
lcd.backlight(); // 點亮LCD背光燈
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
}
void loop()
{
int err;
float temp, humi;
if((err=dht11.read(humi, temp))==0)
{
Serial.print("#S|LOGTEST|[");
Serial.print(temp, DEC);
Serial.print(";");
Serial.print(humi);
Serial.println("]#");
lcd.setCursor(0, 0);
lcd.print("Temp=");
lcd.print(temp);
lcd.setCursor(0, 1);
lcd.print("Humi=");
lcd.print(humi);
}
else
{
Serial.println();
Serial.print("Error No :");
Serial.print(err);
Serial.println();
}
delay(DHT11_RETRY_DELAY); //delay for reread
}