Thứ Sáu, 22 tháng 12, 2017

Arduino kết hợp với cảm biến nhiệt độ-độ ẩm DHT11 và hiển thị lên màn hình LCD 16x2

1. Giới thiệu: Cảm biến nhiệt độ độ ẩm có thể kết hợp được với Arduino, mạch này có thể ứng dụng nhiều vào thực tế. Các bạn có thể vận dụng vào tưới nước cho vườn rau.

Ví dụ: _Khi nhiệt độ hơn 35 độ C thì Arduino kích relay mở động cơ bơm nước.
           _Khi độ ẩm <60% thì Arduino kích relay mở động cơ bơm nước.
           _Khi nhiệt độ lớn 35 độ C và độ ẩm <60% thì Arduino xuất tín hiệu ra tại một chân náo đó kích relay, mở động cơ bơm nước.

Ở đây mình không giới thiệu lại phần cứng DHT11

Nào bắt đầu thôi:

2. Thực hiện:
Bước 1: Kết nối mạch như sơ đồ nguyên lí.

Bước 2: Tải thư viện hỗ trợ DHT11.
http://www.mediafire.com/file/kqv5fhsmo8vtdcd/dht11.rar
Bước 3: Copy code sau đó dán vào IDE.
Bước 4: Biên dịch code và đổ chương trình chạy thực nghiệm.

3. Code:

#include "DHT.h"
#define DHTPIN 6     
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() 
{
  lcd.begin(16,2);
  Serial.begin(9600); 
  Serial.println("DHTxx test!");
  dht.begin();
}
void loop() 
{
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan(t) || isnan(h)) 
  {
    Serial.println("Failed to read from DHT");
  } 
  else 
  {
    Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");
    lcd.setCursor(4, 0);
    lcd.print("Do am");
    lcd.setCursor(9, 0);
    lcd.print(":");
    lcd.setCursor(10, 0);
    lcd.print(round(h));
    lcd.setCursor(12, 0);
    lcd.print("%");
    lcd.setCursor(2, 1);
    lcd.print("Nhiet do");
    lcd.setCursor(10, 1);
    lcd.print(":");
    lcd.setCursor(11, 1);
    lcd.print(round(t));
    lcd.setCursor(14, 1);
    lcd.print("C");
  }
}
//mail: tranduylinhvlute@gmail.com

0 nhận xét:

Đăng nhận xét