1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo mini project kỹ thuật đo lường chủ đề thiết kế và lắp mạch cảm biến đo nhiệt độ, độ ẩm

20 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo mini project kỹ thuật đo lường chủ đề thiết kế và lắp mạch cảm biến đo nhiệt độ, độ ẩm
Tác giả Huỳnh Công Đạt, Nguyễn Thanh Phi, Nguyễn Duy Minh, Nguyễn Văn Tiến
Người hướng dẫn TS. Lê Quốc Huy
Trường học Đại học Đà Nẵng
Chuyên ngành Kỹ thuật đo lường
Thể loại Báo cáo mini project
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 20
Dung lượng 5,79 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Kiến thức:  Hiểu và nắm vững khái niệm, cấu tạo và nguyên lý hoạt động của các thiết bị và linh kiện điện tử : Arduino, cảm biến nhiệt độ, LCD 16x2, Module giao tiếp I2C... Cảm biến n

Trang 1

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA FAST

  O O

BÁO CÁO

MINI PROJECT

Chủ đề:Thiết kế và lắp mạch cảm biến đo nhiệt độ, độ ẩm

NGUYỄN THANH PHI – 20PFIEV2 NGUYỄN DUY MINH – 20PFIEV2 NGUYỄN VĂN TIẾN – 20PFIEV1

Đà nẵng, 2022

Trang 2

TẢ Ý TƯỞNG:

 Thiết kế mạch đo các thông số môi trường (nhiệt độ, độ ẩm) bên trong phòng học

Yêu cầu: + Nhiệt độ: 10 C 40 C o – o

+ Độ ẩm: 40% 80% –

 Thiết kế mạch đo: Nhiệt độ trong khoảng 0 50 C – o

Độ ẩm trong khoảng 20 – 80%

Độ chính xác:

 Sai số dự kiến : Nhiệt độ ± 2 C o

Độ ẩm ± 5%

 Tùy thuộc vào các linh kiện, điện trở dây dẫn

 Kiến thức:

 Hiểu và nắm vững khái niệm, cấu tạo và nguyên lý hoạt động của các thiết bị và linh kiện điện tử : Arduino, cảm biến nhiệt độ, LCD 16x2, Module giao tiếp I2C

Trang 3

I SƠ ĐỒ KHỐI:

Thể hiện kết quả

• LCD 16x2 giao tiếp qua chuẩn I2C

Cảm biến

• Cảm

biến

nhiệt

độ +

độ ẩm

DHT11

Chuẩn hóa

• Tích hợp sẵn trong cảm biến DHT11

Xử lý tín hiệu

• Arduino UNO R3

Trang 4

II GIỚI THIỆU LINH KIỆN:

1 Cảm biến nhiệt độ, độ ẩm DHT11

 Cảm biến nhiệt độ, độ ẩm DHT11

là một loại cảm biến khá phổ biến

vì giá thành và rẻ rất dễ lấy dữu liệu ra thông qua 1 chân wire (Giao tiếp Digital 1 dây duy nhất)

 Bộ tiền xử lý tín hiệu được tích hợp sẵn nên không cần thêm bất

kỳ tính toán nào

Trang 6

2 Arduino UNO R3:

Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V

Trang 7

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB

dùng bởi bootloader

Trang 8

3 LCD (Liquid Crystal Display) 16x2

Chức năng của các chân:

Chân Ký

hiệu

tả

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân

này với GND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối

chân này với VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD

4 RS Chân chọn thanh ghi (Register select) Nối chân RS

với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read) + Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân

R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc

6 E Chân cho phép (Enable) Sau khi các tín hiệu được

đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E

Trang 9

+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân

E

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0- DB7 khi phát hiện cạnh lên (low-to-high transition)

ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp

7 - 14 DB0

-

DB7

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng đường 8 bus này : + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7

15 - Nguồn dương cho đèn nền

16 - GND cho đèn nền

Trang 10

4 MODULE I2C

Thông thường, để sử dụng màn hình LCD, ta sẽ phải mất rất nhiều chân trên Arduino để điều khiển Do vậy, để đơn giản hóa công việc, người ta đã tạo ra một loại mạch điều khiển màn hình LCD sử dụng giao tiếp I2C Nói một cách đơn giản, ta chỉ tốn

2 dây để điều khiển màn hình, thay vì 8 dây như cách thông thường

Sau các ta đó chỉ việc hàn mạch như hình bên dưới Bởi vì giao tiếp I2C được thiết kế riêng nhằm giúp LCD giao tiếp với Board

xử lý một cách dễ dàng, nên rất dễ kết nối

Trang 11

Cách nối chân LCD 16x2 vào Module I2C

Nối chân Module I2C vào Ardruino Uno

Module màn hình LCD

Trang 12

III NGUYÊN LÝ HOẠT ĐỘNG:

1 Khâu cảm biến:

 Cảm biến DHT11 thu nhận tín hiệu từ môi trường, tính toán, so lệch và đưa ra giá digital sau khi trị được chuẩn hóa và tính toán chính xác ra chân tín hiệu SIGNAL

 Đưa tín hiệu thu được từ cảm biến DHT11 vào chân D2 của ARDRUINO UNO

Trang 13

2 Khâu chuẩn hóa:

Cảm biến DHT11 được tích hợp sẵn bộ chuẩn hóa tín hiệu, nên tín hiệu đưa ra từ cảm biến DHT11 qua chân SIGNAL là tín hiệu Digital Rất thuận lợi và giảm thiểu sai số do phần cứng được nhà sản xuất tính toán kỹ lưỡng

3 Khâu xử lý tín hiệu:

Tín hiệu sau đo lường và chuẩn hóa được đưa vào chân D2 trên Arduino Uno

Arduino nhận tín hiệu vào, được nạp code và xuất tín hiệu đến khâu hiển thị

 Code nạp cho Arduino:

1 // Gọi thư viện DHT11

2 #include "DHT.h"

3

4 const int DHTPIN = 2; //Đọc dữ liệu từ DHT11 chân ở

2 trên mạch Arduino

5 const int DHTTYPE = DHT11; //Khai báo loại cảm biến,

có 2 loại là DHT11 và DHT22

6

7 DHT dht(DHTPIN, DHTTYPE);

8

9 void setup() {

10 Serial.begin(9600);

11 dht.begin(); // Khởi động cảm biến

13

Trang 14

14 void loop() {

15 float h = dht.readHumidity(); //Đọc độ ẩm

16 float t = dht.readTemperature(); //Đọc nhiệt độ

17

18 Serial.print("Nhiet do: ");

19 Serial.println(t); //Xuất nhiệt độ

20 Serial.print("Do am: ");

21 Serial.println(h); //Xuất độ ẩm

22

23 Serial.println(); //Xuống hàng

24 delay(1000); //Đợi 1 giây

26

4 Khâu hiển thị:

Kết quả sau khi đo và lý xử được xuất ra màn hình LCD 16x2 thông qua một module giao tiếp I2C

Module I2C for LCD

Code hiển thị LCD 16x2

1 #include <Wire.h>

2 #include <LiquidCrystal_I2C.h>

3

4 LiquidCrystal_I2C lcd(0x27,16,2);

5 //0x3F là địa chỉ màn hình trong bus I2C

6 //16 là số cột của màn hình

7 //2 là dòng số của màn hình

8

9 void setup() {

Trang 15

10 lcd.init(); //Khởi động màn hình

11

12 lcd.backlight(); //Bật đèn nền

13 lcd.print("Hello world"); //Xuất ra chữ Hello world

14 lcd.setCursor(0,1); //Đưa con trỏ tới hàng 1, cột 0

15 lcd.print("I love Arduino !");//Xuất ra chữ I love Ardruino

16 }

17

18 void loop() {

19 }

Trang 16

20 SƠ ĐỒ MẠCH TỔNG QUÁT

Code của đề tài:

1 #include <DHT.h>

2 #include <Wire.h>

3 #include <LiquidCrystal_I2C.h>

4 LiquidCrystal_I2C lcd(0x27,16,2);

5 const int DHTPIN = 2;

6 const int DHTTYPE = DHT11;

7 DHT dht(DHTPIN, DHTTYPE);

8 byte degree[8] = {

9 0B01110,

10 0B01010,

11 0B01110,

12 0B00000,

Trang 17

13 0B00000,

14 0B00000,

15 0B00000,

16 0B00000

17 };

18 void setup() {

19 lcd.init();

20 lcd.backlight();

21 lcd.print("Nhiet do: ");

22 lcd.setCursor(0,1);

23 lcd.print("Do am: ");

24 lcd.createChar(1, degree);

25 dht.begin();

26 }

27 void loop() {

28 float h = dht.readHumidity();

29 float t = dht.readTemperature();

30 if (isnan(t) || isnan(h)) { // Kiểm tra xem thử việc đọc giá trị có bị thất bại hay không

31 }

32 else {

33 lcd.setCursor(10,0);

34 lcd.print(round(t));

35 lcd.print(" ");

36 lcd.write(1);

37 lcd.print("C");

38 lcd.setCursor(10,1);

39 lcd.print(round(h));

40 lcd.print(" %");

41 }

42 }

Trang 18

IV KẾT QUẢ ĐỀ TÀI:

 Kết luận:

 Mạch chạy ổn định

 Nhiệt độ đo được có sai số chấp nhận được

 Kết quả gần với nhiệt độ môi trường thực tế

 Thỏa mản yêu cầu ban đầu

Bài báo cáo đến đây xin hết

Chúc thầy luôn tràn đầy năng lượng cho cuộc sống, thành công trong

công việc !

Trang 19

PHỤ LỤC

1 Ardruino IDE – Viết code

2 Ms Word – Viết báo cáo

1 Cảm biến DHT11 35 000 đồng

2 Ardruino UNO R3 140 000 đồng

Ngày đăng: 29/06/2023, 10:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w