1. Trang chủ
  2. » Tất cả

Thiết kế chế tạo mạch đo nhiệt độ ,độ ẩm ,cường độ ánh sáng hiển thị trên lcd sử dụng arduino

30 8 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 đề Thiết kế chế tạo mạch đo nhiệt độ ,độ ẩm ,cường độ ánh sáng hiển thị trên LCD sử dụng Arduino
Trường học Trường Đại học Sư phạm Kỹ thuật Hưng Yên
Chuyên ngành Kỹ thuật điện tử
Thể loại Đồ án chuyên ngành
Năm xuất bản 2022
Thành phố Hưng Yên
Định dạng
Số trang 30
Dung lượng 3,81 MB

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

Cấu trúc

  • CHƯƠNG 1. TÌM HIỂU VỀ MẠCH CẢM BIẾN ĐỘ ẨM DÙNG VI XỬ LÝ (5)
    • 1.1 Giới thiệu đề tài (5)
      • 1.1.1 Định hướng đề tài (6)
  • CHƯƠNG 2.CÁC LINH KIỆN CẦN DÙNG (7)
    • 2.1 VI XỬ LÝ ARDUINO UNO R3 (7)
      • 2.1.1 Giới thiệu vi xử lý arduino (7)
      • 2.1.2 Cấu tạo arduino (7)
    • 2.2 CẢM BIẾN DHT11 (11)
      • 2.2.1 Giới thiệu (11)
      • 2.2.2 Nguyên lý hoạt động (13)
    • 2.3 MÀN HÌNH LCD 16×2 (13)
      • 2.3.1 Giới thiệu (13)
      • 2.3.2 Sơ đồ kết nối với MCU (15)
    • 2.4. Cảm biến cường độ ánh sáng BH1750 (17)
  • CHƯƠNG 3. TIẾN TRÌNH THIẾT KẾ MẠCH (19)
    • 3.1 THIẾT KẾ MẠCH (19)
      • 3.1.1 Lưu đồ thuật toán (19)
      • 3.1.2 Sơ đồ mô phỏng mạch (20)
      • 3.1.3 Chức năng của linh kiện (21)
      • 3.1.4 Nguyên lý hoạt động (21)
    • 3.2. Hoàn thiện sản phẩm (21)
  • KẾT LUẬN (25)

Nội dung

NHẬN XÉT CỦA GIẢNG VIÊN 2 CHƯƠNG 1. TÌM HIỂU VỀ MẠCH CẢM BIẾN ĐỘ ẨM DÙNG VI XỬ LÝ 4 1.1 Giới thiệu đề tài 4 1.1.1 Định hướng đề tài 5 CHƯƠNG 2.CÁC LINH KIỆN CẦN DÙNG 6 2.1 VI XỬ LÝ ARDUINO UNO R3 6 2.1.1 Giới thiệu vi xử lý arduino 6 2.1.2 Cấu tạo arduino 6 2.2 CẢM BIẾN DHT11 11 2.2.1 Giới thiệu 11 2.2.2 Nguyên lý hoạt động 12 2.3 MÀN HÌNH LCD 16×2 12 2.3.1 Giới thiệu 12 2.3.2 Sơ đồ kết nối với MCU 14 2.4.Cảm biến cường độ ánh sáng BH1750 16 CHƯƠNG 3. TIẾN TRÌNH THIẾT KẾ MẠCH 18 3.1THIẾT KẾ MẠCH 18 3.1.1 Lưu đồ thuật toán 18 3.1.2 Sơ đồ mô phỏng mạch 19 Hình 3.3: BH1750 Kết nối với Arduino 20 3.1.3 Chức năng của linh kiện 20 3.1.4 Nguyên lý hoạt động 20 3.2.Hoàn thiện sản phẩm 21 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 24 KẾT LUẬN: 24 HƯỚNG PHÁT TRIỂN 24 TÀI LIỆU THAM KHẢO 25 PHỤ LỤC 26 Code cho chương trình: 26 CHƯƠNG 1. TÌM HIỂU VỀ MẠCH CẢM BIẾN ĐỘ ẨM DÙNG VI XỬ LÝ 1.1 Giới thiệu đề tài Môi trường sống của con người ngày nay do bị tác động bởi nhiều lý do( nhiệt độ, độ ẩm.......), nên hay thay đổi một cách bất thường gây nên nhiều hậu quả không mong muốn cho đời sống của con người. Do đó các mạch cảm biến đã ra đời nhằm nắm bắt được sự thay đổi của môi trương từ đó đưa ra các giải pháp hợp lý. Mạch cảm biến độ ẩm dùng vi xử lý arduino la một trong những mạch vi xử lý đơn giản để đo độ ẩm của môi trường và có thể báo động cho con người một cách nhanh chóng khi độ ẩm tăng cao, nhằm đưa ra các giải pháp hợp lý. Các mạch này có thể dùng trong nhà hay phục vụ một phần trong công nghệ trồng cây trong nhà kính...... Các mạch cảm biến độ ẩm thường gặp Hình 1.1: Các mạch cảm biến độ ẩm thường gặp Mạch cảm biến độ ẩm dùng vi xử lý hiện nay giá thành tương đối rẻ, và hoạt động khá hiệu quả để đo độ ầm của môi trường. Mạch đo độ ẩm đất dùng để tưới cây và mạch đo nhiệt độ, độ ẩm trong các bo mạch như led điện tử cũng được sử dụng phổ biến. 1.1.1 Định hướng đề tài Mạch sử dụng một vi xử lý trung tâm là arduino, cảm biến nhiệt độ độ ẩm DHT11, cảm biến cường độ ánh sáng BH1750, màn hình LCD, Cảm biến DHT11, BH1750 sẽ ghi nhận độ ẩm của môi trường và truyền dữ liệu đến arduino để xử lý và xuất kết quả ra màn hình LCD.

Trang 1

Trường đại học Sư phạm Kỹ thuật Hưng Yên

Khoa: Điện- điện tử

ĐỒ ÁN CHUYÊN NGÀNH 2

Đề tài: “Thiết kế chế tạo mạch đo nhiệt độ ,độ ẩm ,cường độ ánh sáng

hiển thị trên LCD sử dụng arduino”

Hưng Yên, năm 2022

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN 2

CHƯƠNG 1 TÌM HIỂU VỀ MẠCH CẢM BIẾN ĐỘ ẨM DÙNG VI XỬ LÝ 4

1.1 Giới thiệu đề tài 4

1.1.1 Định hướng đề tài 5

CHƯƠNG 2.CÁC LINH KIỆN CẦN DÙNG 6

2.1 VI XỬ LÝ ARDUINO UNO R3 6

2.1.1 Giới thiệu vi xử lý arduino 6

2.1.2 Cấu tạo arduino 6

2.2 CẢM BIẾN DHT11 11

2.2.1 Giới thiệu 11

2.2.2 Nguyên lý hoạt động 12

2.3 MÀN HÌNH LCD 16×2 12

2.3.1 Giới thiệu 12

2.3.2 Sơ đồ kết nối với MCU 14

2.4.Cảm biến cường độ ánh sáng BH1750 16

CHƯƠNG 3 TIẾN TRÌNH THIẾT KẾ MẠCH 18

3.1THIẾT KẾ MẠCH 18

3.1.1 Lưu đồ thuật toán 18

3.1.2 Sơ đồ mô phỏng mạch 19

Hình 3.3: BH1750 Kết nối với Arduino 20

3.1.3 Chức năng của linh kiện 20

3.1.4 Nguyên lý hoạt động 20

3.2.Hoàn thiện sản phẩm 21

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 24

KẾT LUẬN: 24

HƯỚNG PHÁT TRIỂN 24

Trang 4

TÀI LIỆU THAM KHẢO 25 PHỤ LỤC 26 Code cho chương trình: 26

Trang 5

CHƯƠNG 1 TÌM HIỂU VỀ MẠCH CẢM BIẾN ĐỘ ẨM DÙNG VI

XỬ LÝ

1.1 Giới thiệu đề tài

- Môi trường sống của con người ngày nay do bị tác động bởi nhiều lý do( nhiệt độ,

độ ẩm ), nên hay thay đổi một cách bất thường gây nên nhiều hậu quả không mongmuốn cho đời sống của con người Do đó các mạch cảm biến đã ra đời nhằm nắm bắt được

sự thay đổi của môi trương từ đó đưa ra các giải pháp hợp lý Mạch cảm biến độ ẩm dùng

vi xử lý arduino la một trong những mạch vi xử lý đơn giản để đo độ ẩm của môi trường và

có thể báo động cho con người một cách nhanh chóng khi độ ẩm tăng cao, nhằm đưa ra cácgiải pháp hợp lý Các mạch này có thể dùng trong nhà hay phục vụ một phần trong côngnghệ trồng cây trong nhà kính

Các mạch cảm biến độ ẩm thường gặp

Hình 1.1: Các mạch cảm biến độ ẩm thường gặp

Trang 6

Mạch cảm biến độ ẩm dùng vi xử lý hiện nay giá thành tương đối rẻ, và hoạt động khá hiệuquả để đo độ ầm của môi trường Mạch đo độ ẩm đất dùng để tưới cây và mạch đo nhiệt

độ, độ ẩm trong các bo mạch như led điện tử cũng được sử dụng phổ biến

1.1.1 Định hướng đề tài

- Mạch sử dụng một vi xử lý trung tâm là arduino, cảm biến nhiệt độ độ ẩm DHT11,cảm biến cường độ ánh sáng BH1750, màn hình LCD, Cảm biến DHT11, BH1750 sẽ ghinhận độ ẩm của môi trường và truyền dữ liệu đến arduino để xử lý và xuất kết quả ra mànhình LCD

Hình 1.2: sơ đồ khối tổng quát

DHT11,BH1750

Trang 7

CHƯƠNG 2.CÁC LINH KIỆN CẦN DÙNG

2.1 VI XỬ LÝ ARDUINO UNO R3

2.1.1 Giới thiệu vi xử lý arduino

Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhauhoặc với môi trường được thuận lợi hơn Gồm một board mạch nguồn mở được thiết kếtrên nền tảng vi xử lý AVR Atmel 8 bit Gồm một cổng giao tiếp USB, 6 chân đầu vàoanalog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau

2.1.2 Cấu tạo arduino

Hình 2.1: ARDUINO UNO R3

1.Cáp USB

Trang 8

Đây là cáp thường được bán kèm theo bo, dây cáp dùng để nạp chương trình cho board và dây đồng thời cũng lấy nguồn từ usb của máy tính để board hoạt động Ngoài ra cáp USB còn được dùng để chuyển dữ liệu từ Arduino lên máy tính Dây cáp có hai đầu Đầu ra được dùng để cắm vào cổng USB trên board Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính.

2.IC Atmega 16U2

- IC này được lập trình như một bộ chuyển đổi USB - to – Serial dùng để giao tiếp với máy tính thông qua giao thức Serial ( dùng cổng COM )

6.ICSP của Atmega 16U2

- ICSP là chữ viết tắt của In – Circuit Serial Programming Đây là các chân giao tiếpSPI của chip Atmega 16U2 Các chân này thường ít được sử dụng trong các dự án

về Arduino

7.Chân xuất tín hiệu ra

- Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu ~ lànhững chân có thể băm xung ( PWM ), tức có thể điều khiển tốc độ động cơ hoặc

độ sáng của đèn

8.IC Atmega 328

- IC Atmega 328 là linh hồn của board mạch Arduino Uno, IC này được sử dụngtrong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra,

Trang 9

9.Chân ICSP của Atmega 328

- Các chân ICSP của Atmega 328 được sử dụng cho các giao tiếp SPI ( SerialPeripheral Interface ), một số ứng dụng của Arduino có sử dụng chân này, ví dụnhư sử dụng module RFID, RC522 với Arduino hay Ethernet Shield với Arduino.10.Chân lấy tín hiệu Analog

- Các chân này lấy tín hiệu Analog ( tín hiệu tương tự ) từ cảm biến để IC Atmega

328 xử lý Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5

11.Chân cấp nguồn cho cảm biến

- Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như rơle, cảm biến, RCservo, trên khu vực này có sẵn các chân GND ( chân nối đất, chân âm ), chân 5V,chân 3.3V Nhờ những chân này mà người sử dụng không cần thiết bị biến đổi điệnkhi cấp nguồn cho cảm biến, roowle, rc servo, Ngoài ra trên khu vực này còn cócác chân Vin và chân reset, chân IOREF Tuy nhiên các chân này thường ít được sửdụng

Các linh kiện khác trên board Arduino Uno

- Ngoài các linh kiện đã liệt kê trên, Arduino Uno còn một số linh kiện đáng chú ýkhác Trên board có tất cả 4 đèn led, bao gồm 1 led nguồn ( led ON nhằm cho biếtloa đã được cấp nguồn ), 2 led Tx và Rx, 1 led L Các led Tx và Rx sẽ nhấp nháykhi có dữ liệu truyền từ board lên máy tính hoặc ngược lại thông qua cổng USB.Led L được kết nối với chân số 13 Led này được gọi là led on board ( tức led trênboard ), led này giúp người dùng có thể thực hành các bài đơn giản mà không cầndùng thêm led ngoài

- Trong 14 chân ra của board còn có 2 châ 0 và 1 có thể truyền nhận dữ liệu nối tiếpTTL Có một số ứng dụng đến tính năng này, ví dụ ứng dụng điều khiển mạchArduino Uno qua điện thoại sử dụng bluetooth HC05

- Thêm vào đó, chân 2 và 3 cũng được sử dụng cho lập trình ngắt ( interrupt ), đồng thời còn vài chân khác có thể sử dụng cho các chức năng khác

Trang 10

Hình 2.2: Tên các chân trên Arduino Uno R3

Trang 11

Bảng 2-1: Bảng thông số của Arduino Uno R3

Thông số

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

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

Trang 13

Hình 2.4: Sơ đồ nối chân DHT11

2.3 MÀN HÌNH LCD 16×2

2.3.1 Giới thiệu

Hình 2.5: LCD 16×2

Bảng 2-2:Chức năng các chân LCD

Trang 14

Chân Ký hiệu Mô 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 trongLCD

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

-Ở 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-lowtransition) 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ệncạ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ó 2chế độ sử dụng 8 đường bus này :

Trang 15

+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, bitMSB là DB7

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

16 GND cho đèn nền

2.3.2 Sơ đồ kết nối với MCU

Hình 2.6: Hoạt động nạp xả của transistor.

- VSS: tương đương GND – cực âm

- VDD: tương đương với VCC – cực dương ( 5V )

- Contrast Voltage ( Vo ): Điều khiển địa chỉ nào sẽ được ghi dữ liệu

- Register Select ( RS ): Đọc ( mode ) hay ghi ( write mode ) dữ liệu ? Nó sẽ phụ thuộc vào giá trị gửi vào

- Enable pin: Cho phép ghi vào LCD

Trang 16

- D0 – D7: 8 chân dữ liệu, mỗi chân sẽ có giá trị HIGH hoặc LOW nếu đang ở chế

độ đọc ( read mode ) sẽ nhận giá trị HIGH hoặc LOW nếu đang ở chế độ ghi ( writemode )

- Backlight ( Back Anode (+) và Backlight Cathode (-)): Tắt bật màn hình LCD

2.3.3 Nguyên lý hoạt động

- Khi sản xuất LCD, nhà sản xuất đã tích hợp chip điểu khiển ( HD44780 ) bên tronglớp vỏ và địa chỉ các chân giao tiếp cần thiết Các chân này được đánh số thứ tựnhư hình

Hình 2.7: Hoạt động nạp xả của transistor.

- Chip HD44780 có hai thanh ghi 8 bit quan trọng: Thanh ghi lệnh IR

( Instructor Register ) và thanh ghi dữ liệu DR ( Data Register )

- Thanh ghi IR: Để điều khiển LCD, người dung phải ra lệnh thông qua tám đườngbus DB0 – DB7 Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ rang Ngườidung chỉ việc cung cấp địa chỉ lệnh bằng bảng mã lệnh tại chỉ mà IR cung cấp vàthực hiện lệnh đó

- Thanh ghi DR: Thanh ghi dung để chứa dữ liệu 8 bit để ghi vào vùng RAMDDRAM hoặc CGRAM ( ở chế độ ghi ) hoặc dùng để chứa dữ liệu từ hai vùngRAM này gửi ra cho MPU ( ở chế độ đọc ) Nghĩa là, khi MPU ghi thông tin DR,mạch nội bên trong chip sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM.Hoặc khi thông tin về địa chỉ được ghi vào IR, dữ liệu ở địa chỉ này trong vùngRAM nội của HD44780 sẽ được chuyển ra DR đê truyền cho MPU

Trang 17

Thông số:

Trang 18

 Nguồn: 3~5VDC

 Điện áp giao tiếp: TTL 3.3~5VDC

 Chuẩn giao tiếp: I2C

 Khoảng đo: 1 -> 65535 lux

 Kích cỡ: 21*16*3.3mm

Một số ví dụ về độ rọi của ánh sáng:

 Vào buổi tối : 0.001 - 0.02 Lux

 Ánh trăng : 0.02 - 0.3 lux

 Trời nhiều mây trong nhà : 5 - 50 lux

 Trời nhiều mây ngoài trời : 50 - 500 lux

 Trời nắng trong nhà : 100 - 1000 lux

 Ánh sáng cần thiết để đọc sách: 50 - 60 lux

Trang 19

CHƯƠNG 3 TIẾN TRÌNH THIẾT KẾ MẠCH

3.1THIẾT KẾ MẠCH

3.1.1 Lưu đồ thuật toán

Hình 3.1: Lưu đồ thuật toán.

Bắt đầu

MCU đọc cảm biến

Xuất LCD

Kết thúc

Trang 20

3.1.2 Sơ đồ mô phỏng mạch

Hình 3.2: Hỉnh ảnh mô phỏng.

Trang 21

Hình 3.3: BH1750 Kết nối với Arduino

3.1.3 Chức năng của linh kiện

- MCU ( Arduino UNO R3 ): Là bộ xử lý để điều khiển toàn bộ quá trình hoạt

động của mạch

- BH1750: có nhiệm vụ thu nhận dữ liệu về ánh sáng để MCU xử lý

- DHT11: có nhiệm vụ thu nhận dữ liệu về độ ẩm để MCU xử lý

- LCD: Hiển thị nhiệt độ và độ ẩm

3.1.4 Nguyên lý hoạt động

MCU khi nhận dữ liệu độ ẩm từ cảm biến DHT11,BH1750 và xuất dữ liệu độ ẩm qua LCD

3.2.Hoàn thiện sản phẩm

Trang 24

Hình 3.3: Hình ảnh thực tế của mô hình

Trang 25

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

KẾT LUẬN:

- Hệ thống tuy đơn giản nhưng có thể được áp vào nhiều dự án thực tế trong cuộc sống trong những môi trường cần có nhiệt độ, độ ẩm ổn định Như những nơi nuôi trồng những loại thực vật nhạy cảm với nhiệt độ, độ ẩm

HƯỚNG PHÁT TRIỂN

- Có thể tối ưu hóa mô hình để có thể tích hợp vào nhiều vi mạch với những ưu

điểm mạnh hơn như trong dự án nhà thông minh

Trang 26

TÀI LIỆU THAM KHẢO

- Arduino Uno R3: http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi

- LCD: http://arduino.vn/bai-viet/531-dieu-khien-lcd-bang-arduino-uno

Trang 27

PHỤ LỤC Code cho chương trình:

const int DHTPIN = 2;

const int DHTTYPE = DHT11;

Trang 29

lcd.setCursor(10, 0); lcd.print(round(t)); lcd.setCursor(12, 0); lcd.write(1);

lcd.print("C");

lcd.setCursor(0, 1); lcd.print("AS: "); lcd.setCursor(3, 1); lcd.print(round(lux)); lcd.setCursor(8, 1); lcd.print("lux"); delay(500);

Ngày đăng: 18/02/2023, 09:33

TỪ KHÓA LIÊN QUAN

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

w