基于Arduino的温度、湿度采集系统

准备材料

  • Arduino UNO R3 开发板;
  • LCD1602模块;
  • DTH11模块;
  • 杜邦线若干;

硬件线路链接

LCD1602线路连接

VSS VDD V0 RS RW E D0 D1 D2 D3 D4 D5 D6 D7 A K
GND 5V 10 7 GND 6 NA NA NA NA 5 4 3 2 5V GND

DTH11 线路连接

Vcc DATA GND
5V 8 GND

程序编写

#include 
#include 

#define DHTPIN 8            
#define DHTTYPE DHT11

const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);      // 申明一个lcd对象

DHT dht(DHTPIN, DHTTYPE);                       // 申明一个dht对象

const int lcd_v0 = 10;                          // 用10脚输出PWM信号,控制LCD对比度

void setup()
{
    lcd.begin(16,2);                            // 初始化LCD

    pinMode(lcd_v0,OUTPUT);                     // LCD 对比度控制管脚配置
    analogWrite(lcd_v0,100);
    
    lcd.setCursor(0,0);                         // LCD初始内容显示
    lcd.print("tempe:");
    lcd.setCursor(0,1);
    lcd.print("Humi :");
    delay(500);

    dht.begin();                                // DTH11 初始化
}    

void loop()
{
    int i = 0;

    delay(500);

    float humidity = dht.readHumidity();        // 读取DTH11 湿度信息
    float temperature = dht.readTemperature();  // 读取DTH11 温度信息

    lcd.setCursor(7,0);                         // 将温度信息显示在第一行
    lcd.print(temperature);
    //lcd.setCursor(17,0);
    lcd.print((char)223);
    lcd.print("C");

    lcd.setCursor(7,1);                         // 将湿度信息显示在第二行
    lcd.print(humidity);
    lcd.print((char)37);
    lcd.print("RH");

}

你可能感兴趣的:(Arduino)