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

bộ theo dõi và điều khiển nhiệt độ độ ẩm trong phòng hiển thị lên LCD sử dụng arduino

31 92 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

Định dạng
Số trang 31
Dung lượng 4,67 MB

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

Nội dung

điều chỉnh nhiệt độ độ ẩm trong phòng bằng 1 tới 2 cảm biến nhiệt độ độ ẩm DHT11, sử dụng (12) động cơ mini làm mát và (12) máy bơm mini điều chỉnh độ ẩm trong phòng qua Arduino và hiển thị trên màn hình LCD

Trang 1

MỞ ĐẦU

Như chúng ta biết , nhiệt độ và độ ẩm là những thành phần vật lý rất quan trọng trong cuộc sống con người Việc thay đổi nhiệt độ, độ ẩm ảnh hưởng rất nhiều đến sự sinh trưởng và phát triển của động vật, thực vật và cấu tạo, tính chất vật

lý của vật chất Ví dụ, sự thay đổi nhiệt độ của 1 chất khí sẽ làm thay đổi thể tích, áp suất của chất khí trong bình Vì vậy, trong nghiên cứu khoa học, trong công nghiệp và trong đời sống sinh hoạt, thu thập các thông số và điều khiển nhiệt độ là điều rất cần thiết Trong các lò nhiệt, máy điều hoà, máy lạnh hay cả trong lò viba, điều khiển nhiệt độ là tính chất quyết định cho sản phảm ấy Trong ngành luyện kim, cần phải đạt đến một nhiệt độ nào đó để kim loại nóng chảy, và cũng cần đạt một nhiệt độ nào đó để ủ kim loại nhằm đạt được tốt các đặc tính cơ học như độ bền, độ dẻo, độ chống gỉ sét, Trong ngành thực phẩm, cần duy trì một nhiệt độ nào đó để nướng bánh, để nấu, để bảo quản, Việc thay đổi thất thường nhiệt độ, không chỉ gây hư hại đến chính thiết bị đang hoạt động, còn ảnh hưởng đến quá trình sản xuất, ngay cả trên chính sản phẩm ấy Trong ngành nông nghiệp, nhiệt dộ và độ ẩm ảnh hưởng trực tiếp đến năng xuất

và chất lượng sản phẩm Vì vậy việc điều khiển được nhiệt độ và độ ẩm là hết sức quan trọng Có nhiều phương pháp điều khiển nhiệt độ và độ ẩm khác nhau,mỗi phương pháp đều có ưu nhược điểm khác nhau Trong nội dung đồ án này

sẽ cho ta phương pháp điều khiển nhiệt độ và độ ẩm từ xa bằng bluetooth thông qua arduino, thông tin nhiệt độ , độ ẩm hiển thị trên màn hình LCD

Đồ án này thích hợp ứng dụng cho nhà lưới trồng các loại rau, hoa, cây cảnh là thích hợp nhất, có tính khả thi rất cao

Giải pháp để điều khiển nhiệt độ, độ ẩm là dùng hệ thống quạt và phun sương

để thay đổi nhiệt độ và độ ẩm trong khu vực điều khiển

Trang 2

CHƯƠNG 1: TỔNG QUAN VỀ CẤU TRÚC THIẾT BỊ 4

1 Tìm hiểu thực tế 4

2 Sơ đồ khối 5

3 Yêu cầu về thiết bị đo 6

4 Một số thiết bị đo nhiệt độ - độ ẩm 6

 Đồng hồ đo nhiệt độ ẩm độ và đồng hồ điện tử để bàn HTC-1 6

 Máy đo nhiệt độ độ ẩm TESTO 606-2 7

CHƯƠNG 2: TÌM HIỂU CÁC THIẾT BỊ VÀ XÂY DỰNG SƠ ĐỒ 9

1 Các thiết bị lắp ráp 9

a) ARDUINO UNO 9

Các chân năng lượng 10

Các cổng vào/ra 12

b) Màn hình LCD 13

c) Modul I2C 16

d) Cảm biến nhiệt độ - độ ẩm DHT11 16

e) Động cơ (máy bơm Mini 6-12V MB385) 20

f) Động Cơ Mini 3-6V V1 ( động cơ làm mát) 21

g) Module điều khiển động cơ L298 21

CHƯƠNG 3: XÂY DỰNG PHẦN MỀM MÔ PHỎNG VÀ LẮP RÁP THIẾT BỊ THỰC 23

1 Thiết kế phần mềm 23

1.1 Sơ đồ thuật toán 23

1.2 Chương trình điều khiển 1 cảm biến với 2 động cơ 23

1.3 Chương trình điều khiển 2 cảm biến với 4 động cơ 26

2 Nhận xét kết quả và kết luận 31

3 Tài liệu tham khảo: 31

Trang 3

CHƯƠNG 1: TỔNG QUAN VỀ CẤU TRÚC THIẾT BỊ

1 Tìm hiểu thực tế

 Ngày nay,các bộ điều khiển đang có ứng dụng rộng rãi trong các lĩnh vực khoa học kỹthuật và đời sống xã hội, đặc biệt là trong tự động hoá và điềukhiển Giờ đây với nhu cầu chuyên dụng hoá,tối ưu hoá về thời gian không gian giá thành,bảo mật, tính chủ động trong công việc, ngày càng đòi hỏi khắt khe Vì thế mà việc đưa tự động hóa như diễn ra một điều tất yếu

 Nhiệt ẩm kế hay còn được gọi với cái tên dễ hiểu hơn là máy đo nhiệt độ độ ẩm Đây là thiết bị có chức năng đo vàtheo dõi nhiệt độ, độ ẩm của không khí và môi trường một cách chính xác nhất

 Nhiệt ẩm kế thường được chia thành 2 loại chính là nhiệt

ẩm kế điện tử tự động hiển thị kết quả đo trên màn hìnhđiện tử và nhiệt ẩm kế cơ yêu cầu người dùng phải tự đọccác thông số Ngoài ra, người ta có thể dựa thêm vào một

số các đặc điểm khác như loại cảm biến nhiệt độ (chấtlỏng, cặp kim loại, bán dẫn, hồng ngoại ); vị trí sử dụngthiết bị (cầm tay, treo tường, để bàn) để phân loại chitiết hơn nữa các loại máy đo độ ẩm và nhiệt độ

 Môi trường không khí có tác động rất lớn đến sức khỏe, đờisống và các hoạt động sản xuất, xây dựng, nghiên cứu của con người Độ ẩm và nhiệt độ của không khí ở mứcquá cao hay quá thấp đều có thể dẫn đến những ảnhhưởng không tốt cho con người: trước tiên là gây ra cácbệnh như cảm cúm, nhức đầu, sau đó là gây hư hại, hỏnghóc như làm ẩm mốc, chập cháy các đồ dùng, thiết bịtrong gia đình, các loại hàng hóa, nông sản, thực phẩm,máy móc Khi sử dụng nhiệt ẩm kế, con người có thể theodõi được nhiệt độ và độ ẩm của môi trường, từ đó cónhững biện pháp giúp ứng phó khi xảy ra các hiện tượngnhiệt độ, độ ẩm không có lợi cho đời sống và sản xuất để

Trang 4

bảo vệ sức khỏe và sử dụng các giải pháp tăng cường chấtlượng không khí (tạo ẩm, hút ẩm, điều hòa nhiệt độ) mộtcách hợp lý nhất Đặc biệt, đối với thời tiết nhiệt đới giómùa mưa nhiều, nóng ẩm và thường xuyên thay đổi tạiViệt Nam, một chiếc máy đo độ ẩm nhiệt độ sẽ vô cùngcần thiết, giúp bạn kịp thời điều chỉnh độ ẩm trong phòng,trong nhà kho để đề phòng các bệnh về đường hô hấpcho các thành viên trong gia đình cũng như đảm bảo cácloại máy móc, thiết bị, hàng hóa không bị hư hại.

 Máy đo độ ẩm và nhiệt độ được ứng dụng rộng rãi, đa dạng trong nhiều lĩnh vực đời sống và sản xuất như:

Trong gia đình, trường học, khu mua sắm, tòa nhà:

đo nhiệt độ, độ ẩm trong phòng để kịp thời sử dụng thêm sự hỗ trợ của các loại quạt, điều hòa nhiệt độ, máytạo độ ẩm hoặc máy hút ẩm, giúp bảo vệ sức khỏe cho mọi người

Trong nông nghiệp: đo nhiệt độ, độ ẩm của các loại

nông sản, cà phê, ngũ cốc và của các phòng, nhà kho bảo quản nông sản, phân bón

Trong công nghiệp: đo nhiệt độ, độ ẩm của các loại

vât liệu như gỗ, hạt nhựa, bê tông và của các phòng, nhà kho bảo quản, các trung tâm vận hành máy móc

Trong y tế: đo độ ẩm, nhiệt độ tại các phòng khám,

trung tâm y tế, bệnh viện, các kho dược phẩm

2 Sơ đồ khối

4

LCDBơm 2

Bơm 1L298

Quạt 2

Quạt 1L298

Arduino UNO

Cảm biến

nhiệt độ

DHT!!

Trang 5

3 Yêu cầu về thiết bị đo

Việc lập trình phải thật chính xác, các linh kiện phải đảm bảo hoạt động tốt Trong quá trình vận hành phải đảm bảo khi nhiệt độ trên 31°C quạt sẽ quay và khi nhiệt độ dưới 27°C quạt sẽ ngừng quay.Khi độ ẩm dưới 82% thì máy bơm sẽhoạt động và khi độ ẩm trên 88% thì máy bơm sẽ ngừng hoạt động

4 Một số thiết bị đo nhiệt độ - độ ẩm

 Đồng hồ đo nhiệt độ ẩm độ và đồng hồ điện tử để bàn HTC-1

Trang 6

Độ phân giải humadity: 1% RH

Nguồn điện: 1 * Pin AAA 1.5V

Kích thước: 100 * 108 * 20 (mm)

 Máy đo nhiệt độ độ ẩm TESTO 606-2

Trang 7

3) Đo độ ẩm vật liệu xây dựng, gỗ

+ 8,8-54,8% tính theo trọng lượng; sồi, vân sam, gỗ tùng, bạch dương, anh đào, quả óc chó

+ 7,0-47,9% tính theo trọng lượng; gỗ sồi, gỗ thông, phong, tro cây,

+ 0,9-22,1% tính theo trọng lượng; xi măng láng nền, bê tông

+ 0,0-11,0% tính theo trọng lượng; cán nền thạch cao

+ 0,7-8,6% tính theo trọng lượng; vữa xi măng

+ 0,6-9,9% tính theo trọng lượng; vôi vữa, thạch cao

Trang 8

+ 0,1-16,5% tính theo trọng lượng; gạch

Độ chính xác: ±1 %

Tốc độ đo: 1 giây

Cấp bảo vệ IP: IP20

Pin: 2 pin AAA, thời lượng 200 giờ

Kích thước: 119 x 46 x 25 mm

Trọng lượng: 90 g

Phụ kiện kèm theo: Máy chính testo 606-2, nắp bảo vệ, túi đựng, pin

CHƯƠNG 2: TÌM HIỂU CÁC THIẾT BỊ VÀ XÂY DỰNG SƠ ĐỒ

1 Các thiết bị lắp ráp

a) ARDUINO UNO

Trang 9

Một vài thông số của Arduino UNO R3

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

Điện áp vào khuyên dùng 7-12V DC

Đ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 chân I/O 30 mA

Trang 10

EEPROM 1 KB (ATmega328)

Vi điều khiển

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 Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO

Các chân năng lượng

dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân nàyphải được nối với nhau

5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.

3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là

50mA

Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực

dương của nguồn với chân này và cực âm của nguồn với chân GND

IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể

được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn

RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương

đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ

Lưu ý:

 Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó bạn phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy mình khuyên bạn nên dùng nguồn từ cổng USB nếu có thể

Trang 11

 Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏng board Điều này không được nhà sản xuất

 Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của

Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển

 Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển

 Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của

Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng

Bộ nhớ

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong

bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu

khai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất

EEPROM (Electrically Eraseble Programmable Read Only Memory):

đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu

Trang 12

của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệutrên SRAM.

Các cổng vào/ra

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có

2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận

(receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết

bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết

Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM

với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh

đượcđiện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức

Trang 13

Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài

các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác

LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi

bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit(0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên

board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit

Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác

b) Màn hình LCD

Figure 1: sơ đồ khối màn hình LCD

Trang 14

Màn hình 16x2 với kích thước như sau:

Dài 80,0 ± 0,5 mm, trong đó có 64,5 ± 0,2 mm dành cho panel hiển thị

Rộng: 36,0 ± 0,5 mm, trong đó có 14,0 ± 0,2 mm dành cho phần panel hiển

thị

Dày 12,0 mm( chiều dày tối đa).16 chân giao tiếp, tương ứng với đó là 16

lỗ, mỗi lỗ chân rộng 1mm để cắm các kết nối, hoặc hàn luôn cable kết nối vào

đó Hai chân liền kề cách nhau “2,54mm” (đúng bằng kích thước và khoảng

cách giữa các lỗ trên bìa đục lỗ thường dùng hàn mạch)

Trên panel hiển thị có 2 hàng( dòng), mỗi dòng có 16 module hiển thị, chính

vì điều này nên thường gọi luôn màn hình này là 16x2 Kích thước mỗi module

5,02x3 mm; các module trên cùng 1 hàng cách nhau 0,5mm và giữa 2 hàng cách

nhau 0,6mm; trên mỗi module có 8x5=40 điểm ảnh, kích thước mỗi điểm ảnh

Vào/Ra (I/O) Tính năng

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 - - Điện áp nguồn cho LCD, nối với VDD 5V của mạch điều

Chân chọn chế độ đọc/ghi Nối chân R/W với logic 0 để LCD hoạt động ở chế độ ghi, nối với mức logic 1 để LCD

ở chế độ đọc.

6 E 0/1 I 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.

+ Ở 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

Trang 15

+ Ở 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.

Trang 16

c) Modul I2C

Môđun LCD I2C cho Arduino dùng để điều khiển hiển thị dữ liệu lên các màn hình 16x2; 16x4; 20x4; thông qua giao tiếp I2C

Ưu điểm khi dùng môđun LCD I2C:

Chỉ cần 2 chân tín hiệu (SDA và SCL) để truyền dữ liệu cần hiển thị từ Arduino tới LCD thay vì 7 chân như khi kết nối trực tiếp LCD với Arduino

Có thể hiển thị đồng thời tới 8 (hoặc hơn) các LCD mà vẫn chỉ cần 2 chân tín hiệu nếu trên

d) Cảm biến nhiệt độ - độ ẩm DHT11

Cảm biến DHT11 đã được tích hợp trong một mạch duy nhất, bạn chỉ việc nối dây nguồn (Vcc, GND) và dây tín hiệu (Signal) vào mạch Arduino là xong

Trang 17

- Nguyên lý hoạt động:

Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:

o Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại

o Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt

độ đo được

- Bước 1: gửi tín hiệu Start

o MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms Trong Code mình để 25ms Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm

o MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào

o Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà

Trang 18

chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11.

o Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong 80us Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT

- Bước 2: đọc giá trị trên DHT11

o DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:

§ Byte 1: giá trị phần nguyên của độ ẩm (RH%)

§ Byte 2: giá trị phần thập phân của độ ẩm (RH%)

§ Byte 3: giá trị phần nguyên của nhiệt độ (TC)

§ Byte 4 : giá trị phần thập phân của nhiệt độ (TC)

§ Byte 5 : kiểm tra tổng

ð Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt

độ là chính xác, nếu sai thì kết quả đo không có nghĩa

Ngày đăng: 09/12/2021, 16:59

HÌNH ẢNH LIÊN QUAN

Figure 1: sơ đồ khối màn hình LCD - bộ theo dõi và điều khiển nhiệt độ độ ẩm trong phòng hiển thị lên LCD sử dụng arduino
igure 1: sơ đồ khối màn hình LCD (Trang 13)
1.1. Sơ đồ thuật toán - bộ theo dõi và điều khiển nhiệt độ độ ẩm trong phòng hiển thị lên LCD sử dụng arduino
1.1. Sơ đồ thuật toán (Trang 23)

TỪ KHÓA LIÊN QUAN

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

w