Diễn đàn Arduino Việt Nam | Tôi yêu Việt Nam
Hãy cùng đăng nhập hoặc đăng ký vào diễn đàn để cập nhật những bài viết mới và mở hết chức năng của diễn đàn nào!

Share
Go down
avatar
Administrator
Administrator
Tổng số bài gửi : 184
Points : 508
Reputation : 83
Join date : 20/07/2016
Age : 18
Đến từ : Bến Tre
Xem lý lịch thành viênhttp://vidieukhien-vn.webnode.vn/

Cách kết nối cảm biến DHT 11 với LCD

on Sat Aug 13, 2016 8:15 am
Message reputation : 100% (1 vote)
I.Giới thiệu
-Hôm nay mình sẽ giới thiệu đến các bạn cách kết nối cảm biến DHT 11 với LCD để hiển thị nhiệt độ-độ ẩm.
II.Phần cứng
-Phần cứng bao gồm:
+Arduino UNO R3
+Màng hình LCD (nếu bạn nào chưa biết thì hãy bấm vào đây)
+Cảm biến DHT11 (nếu bạn nào chưa biết thì hãy bấm vào đây)
+Breadboard
+Dây cắm breadboard
III.Lắp mạch
-Vì phần miềm vẽ mạch của mình bị lỗi nên mình sẽ hướng hẫn các bạn nối dây qua bảng thôi,mong các bạn thông cảm Smile .
-Đầu tiên là cảm biến nhiệt độ-độ ẩm DHT11.
*Arduino------------------------DHT11
+5v-----------------------------Vcc
+Gnd---------------------------Gnd
+A0-----------------------------DATA (từ chân A0 của Arduino nối vào chân Data của cảm biến)
-kết nối màng hình Lcd với Arduino
*Arduino------------------------Lcd
+5v-----------------------------Vdd
+Gnd---------------------------Vss
+3-----------------------------Rs
+4-----------------------------E
+5-----------------------------D4
+6-----------------------------D5
+7-----------------------------D6
+8-----------------------------D7
+còn cách kết nối để chỉnh độ tương phản thì các bạn xem lại ở bài giới thiệu về màng hình lcd cho arduino.



IV.Code
Code:

#include <LiquidCrystal.h>//khai báo thư viện cho Lcd
#include <DHT.h>//khai báo thư viện cho DHT11
LiquidCrystal lcd(3,4,5,6,7,8);//khai báo các chân cho LCD
#define dhtapin A0//khai báo chân cảm biến
const int DHTTYPE = DHT11;//Khai báo loại cảm biến
DHT dht(dhtapin, DHTTYPE);
byte degree[8] = {   //phần khai báo mã nhị phân cho màng hình LCD,hiển thị chữ độ C.
  0B01110,
  0B01010,
  0B01110,
  0B00000,
  0B00000,
  0B00000,
  0B00000,
  0B00000
};

void setup() {
         Serial.begin(9600);
         lcd.begin(16, 2);
         lcd.createChar(1, degree);
         dht.begin();//khởi động cảm biến
}
void loop() {
 
  float h = dht.readHumidity();    //Đọc độ ẩm
  float t = dht.readTemperature(); //Đọc nhiệt độ
   if (isnan(t) || isnan(h)){}

  else{
   //in ra màng hình nhiệt độ
     lcd.setCursor(0,1);  
     lcd.print("Nhiet do:");
     lcd.print(t);
     lcd.write(1);
     lcd.print("C");
    
 //In ra màng hình độ ẩm
    lcd.setCursor(0,0);  
    lcd.print("Do am: ");
    lcd.print(h);
    lcd.print("%");
  delay(500);
  }
}
-Và đây là thành quả của mình:



-Chút các bạn thành công !
Hãy cùng xây dựng diễn đàn arduino với mình nhé!
Tổng số bài gửi : 5
Points : 7
Reputation : 2
Join date : 06/06/2017
Xem lý lịch thành viên

Re: Cách kết nối cảm biến DHT 11 với LCD

on Tue Jun 06, 2017 10:11 pm
anh cho em hỏi cái code đó có đúng không ạ..sao em kết nối như vậy rồi mà không hiển thị lên lcd ạ
mình có cần phải thêm cái biến trở cho lcd không ạ
avatar
Administrator
Administrator
Tổng số bài gửi : 184
Points : 508
Reputation : 83
Join date : 20/07/2016
Age : 18
Đến từ : Bến Tre
Xem lý lịch thành viênhttp://vidieukhien-vn.webnode.vn/

Re: Cách kết nối cảm biến DHT 11 với LCD

on Wed Jun 07, 2017 6:04 am
Bạn cần phải gắn thêm biến trở vào màn hình để chỉnh độ tương phản thì LCD mới hiển thị được.
Tổng số bài gửi : 5
Points : 7
Reputation : 2
Join date : 06/06/2017
Xem lý lịch thành viên

Re: Cách kết nối cảm biến DHT 11 với LCD

on Wed Jun 07, 2017 6:07 pm
em làm như vậy r mà nạp chương trình xong nó không hiển thị là sao a...chương trình có lỗi không ạ
avatar
Administrator
Administrator
Tổng số bài gửi : 184
Points : 508
Reputation : 83
Join date : 20/07/2016
Age : 18
Đến từ : Bến Tre
Xem lý lịch thành viênhttp://vidieukhien-vn.webnode.vn/

Re: Cách kết nối cảm biến DHT 11 với LCD

on Wed Jun 07, 2017 7:15 pm
Bạn thử lắp lại sơ đồ theo hình này:

và code của nó đây:
Code:

#define DHTTYPE DHT11   // DHT 11



DHT dht(DHTPIN, DHTTYPE);


#include <LiquidCrystal.h>


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  dht.begin();
}

void loop() {
  
  float h = dht.readHumidity();
  float t = dht.readTemperature();

 
  if (isnan(t) || isnan(h)) {
    lcd.println("Failed to read");
  } else {
    lcd.setCursor(0, 0);
    lcd.print("Hum.: ");
    lcd.print((int) h);
    lcd.print("%");
    lcd.setCursor(0, 1);
    lcd.print("Temp.: ");
    lcd.print((int) t);
    lcd.println("*C       ");
  }
}
bạn thử làm theo xem có được không.
Tổng số bài gửi : 5
Points : 7
Reputation : 2
Join date : 06/06/2017
Xem lý lịch thành viên

Re: Cách kết nối cảm biến DHT 11 với LCD

on Wed Jun 07, 2017 9:08 pm
Message reputation : 100% (1 vote)
dạ rồi cảm ơn anh nhìu Smile
Tổng số bài gửi : 5
Points : 7
Reputation : 2
Join date : 06/06/2017
Xem lý lịch thành viên

Re: Cách kết nối cảm biến DHT 11 với LCD

on Wed Jun 14, 2017 4:49 pm
Message reputation : 100% (1 vote)
anh có thể giải thích sơ qua chút về cái code cho em được không ạ..Smile
avatar
Administrator
Administrator
Tổng số bài gửi : 184
Points : 508
Reputation : 83
Join date : 20/07/2016
Age : 18
Đến từ : Bến Tre
Xem lý lịch thành viênhttp://vidieukhien-vn.webnode.vn/

Re: Cách kết nối cảm biến DHT 11 với LCD

on Thu Jun 15, 2017 7:44 am
Code:
#define DHTTYPE DHT11   // định  nghĩa đây là DHT 11



DHT dht(DHTPIN, DHTTYPE);


#include <LiquidCrystal.h> //Thêm thư viện LiquitCrystal - nó có sẵn vì vậy bạn không cần cài thêm gì cả


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//khởi động các chân dành cho LCD

void setup() {
  lcd.begin(16, 2);//thong báo đây là màn hình LCD 1602
  dht.begin(); //khởi động cảm biến
}

void loop() {
  
  float h = dht.readHumidity();// đọc độ ẩm
  float t = dht.readTemperature();//đọc nhiệt độ

 
  if (isnan(t) || isnan(h)) {
    lcd.println("Failed to read");
  } else {
    lcd.setCursor(0, 0);
    lcd.print("Do am: ");
    lcd.print((int) h);//xuất giá trị của độ ẩm ra màn hình LCD
    lcd.print("%");
    lcd.setCursor(0, 1);
    lcd.print("Nhiet do: ");
    lcd.print((int) t);   //xuất giá trị của nhiệt độ ra màn hình LCD
    lcd.println("*C       ");
  }
}

Mình đã thêm giải thích vào trong code rồi bạn có thể xem qua.
Tổng số bài gửi : 5
Points : 7
Reputation : 2
Join date : 06/06/2017
Xem lý lịch thành viên

Re: Cách kết nối cảm biến DHT 11 với LCD

on Wed Jun 21, 2017 10:23 pm
anh có nguyên lí làm việc của mạch nảy không ạ
Sponsored content

Re: Cách kết nối cảm biến DHT 11 với LCD

Về Đầu Trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
Free forum | © phpBB | Free forum support | Liên hệ | Report an abuse | Create a blog