1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài thiết kế, chế tạo module đo các thông số nhiệt độ, độ ẩm, cường độ uv có khả năng gửi dữ liệu lên internet

63 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 Module Đo Các Thông Số Nhiệt Độ, Độ Ẩm, Cường Độ UV Có Khả Năng Gửi Dữ Liệu Lên Internet
Tác giả Trần Văn Thụ, Vũ Huy Tấn, Phạm Hoàng Anh, Nguyễn Hải Nam, Bùi Văn Thuần
Người hướng dẫn Ths. Trịnh Tuấn Dương
Trường học Trường Đại Học Giao Thông Vận Tải
Chuyên ngành Cơ Khí
Thể loại Báo Cáo Tổng Kết Đề Tài Nghiên Cứu Khoa Học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 63
Dung lượng 4,4 MB

Nội dung

Trang 1 TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NĂM HỌC 2022-2023 ĐỀ TÀI: THIẾT KẾ, CHẾ TẠO MODULE ĐO CÁC THÔNG SỐ NHIỆT ĐỘ, ĐỘ ẨM, CƯ

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

LIỆU LÊN INTERNET

Người hướng dẫn: Ths Trịnh Tuấn Dương

HÀ NỘI, 2023

Trang 2

1

NGHIÊN CỨU KHOA HỌC SINH VIÊN

ĐỀ TÀI: THIẾT KẾ, CHẾ TẠO MODULE ĐO CÁC THÔNG SỐ NHIỆT

ĐỘ, ĐỘ ẨM, CƯỜNG ĐỘ UV CÓ KHẢ NĂNG GỬI DỮ LIỆU LÊN INTERNET

Nhóm, tên thành viên:

Vũ Huy Tấn

Phạm Hoàng Anh

Nguyễn Hải Nam

Bùi Văn Thuần

Trang 3

2

MỤC LỤC

MỤC LỤC 2

DANH MỤC CÁC HÌNH 4

DANH MỤC CÁC BẢNG 5

MỞ ĐẦU 6

CHƯƠNG 1: TỔNG QUAN 7

1.1 Giới thiệu chung 7

1.2 Mục đích, đối tượng, nội dung nghiên cứu 7

1.2.1 Mục đích nghiên cứu 7

1.2.2 Đối tượng nghiên cứu 8

1.2.3 Nội dung nghiên cứu của đề tài: 8

CHƯƠNG 2 THIẾT KẾ CHẾ TẠO MẠCH PHẦN CỨNG 10

2.1 Tổng quan về linh kiện sử dụng 10

2.1.1 Arduino UNO R3 11

2.1.2 Phần mềm để lập trình cho Arduino: 14

2.1.3 Chọn loại thiết bị truyền phát không dây và cơ sở lý thuyết : 18

2.1.4 Cơ sở lý thuyết chung về cảm biến nhiệt độ , độ ẩm , tia UV : 20

2.1.5 Phần mềm mô phỏng , thiết kế mạch Proteus: 23

2.2 Sơ đồ khối hệ thống ,thiết kế mạch nguyên lí 26

2.2.1 Chuẩn bị các thiết bị cần thiết để lắp mạch phát cảm biến nhiệt độ, độ ẩm và cường độ tia uv 27

2.2.2 Thiết kế mạch phát trên Proteus: 28

2.2.3 Tiến hành lắp mạch thật: 29

2.2.4 Tiến hành hoàn thiện bo mạch phát và nạp code cho mạch 33

2.2.5 Nguyên lí của mạch và giải thích code 37

2.3 Tiến hành hoàn thiện bo mạch phát và tiến hành nạp code cho mạch: 40

2.4 Tiến hành kiểm tra, khảo sát mạch phát và thu 42

2.4.1 Kiểm tra khảo sát mạch ở điều kiện trong phòng: 42

Trang 4

3

CHƯƠNG 3 THIẾT KẾ CHẾ TẠO VỎ CHO MÔ HÌNH 44

3.1 Tìm hiểu về công nghệ in 3D 44

3.2 Thiết kế mô hình in 3D bằng phần mềm solidworks 44

3.2.1 Giới thiệu qua về phần mềm solidworks 44

3.2.2 Thiết kế vỏ mô hình 45

3.3 Thiết lập in cho sản phẩm 48

CHƯƠNG 4 APP INVENTOR 50

4.1 Giới thiệu về App Inventor 50

4.2 Các tính năng có trên MIT App Inventor 50

4.3 Hướng dẫn sử dụng App Inventor 51

4.4 Tạo phần mềm hiển thị cảm biến nhiệt độ,độ ẩm và tia uv gửi từ Bluetooth bằng app Inventor 52

KẾT LUẬN VÀ KIẾN NGHỊ 60

Phần kết luận: 60

Phần kiến nghị: 60

TÀI LIỆU THAM KHẢO: 62

Trang 5

4

DANH MỤC CÁC HÌNH

Hình 1: Sơ đồ chân module HC 05 18

Hình 2: Sơ đồ kết nối HC-05 19

Hình 3: Cảm biến DHT21 21

Hình 4: Cấu tạo DHT21 22

Hình 5: Cảm biến tia UV ML8511 23

Hình 6: Phần mềm Proteus 24

Hình 7: hình ảnh mô phỏng Proteus cho mạch Arduino xuất ra màn hình LCD 25

Hình 8: mô phỏng thiết kế mạch đo nhiệt độ truyền phát không dây 25

Hình 9: Sơ đồ khối mạch phát 26

Hình 10: Mạch phát đo nhiệt độ, độ ẩm, uv hiển thị lên LCD, truyền dữ liệu lên app 29 Hình 11: Hình ảnh lắp đặt modul chuyển đổi I2C vào màn hình LCD 30

Hình 12Modul IC2 và màn hình LCD 30

Hình 13: Lắp đặt màn hình led LCD thông qua bộ chuyển đổi vào Arduino 31

Hình 14: Sơ đồ lắp đặt cảm biến nhiệt độ độ ẩm DHT21 32

Hình 15: Lắp đặt cảm biến cường độ tia UV ML8511 32

Hình 16: lắp đặt modul truyền phát tín hiệu bluetooth HC 05 33

Hình 17: Sơ đồ nguyên lý hoạt động của mạch 34

Hình 18: Mạch phát nhiệt độ, độ ẩm và cường độ tia UV sau khi nhập code 36

Hình 19: Nghiệm thu nhiệt độ so sánh độ chênh lệch so với thực tế trong phòng 42

Hình 20: Nghiệm thu kiểm tra nhiệt độ so sánh độ chênh lệch so với thực tế 43

Hình 21: Tổng quát về vỏ hộp 46

Hình 22: Nắp hộp 47

Hình 23: Nắp pin 47

Hình 24: Vị trí lắp Arduino 47

Hình 25: Vị trí lắp cảm biến DHT21 47

Hình 26: Vị trí lắp cảm biến UV 48

Hình 27: Vị trí lắp LED LCD 1602 48

Hình 28: Sản phẩm sau khi hoàn thiện 49

Hình 29: Trang quản lý dự án 51

Hình 30: Tạo một trang quản lý mới 52

Hình 31: Cửa số giao tiếp với App Inventor 52

Hình 32: Thiết kế giao diện ứng dụng 53

Hình 33: Giao diện ứng dụng mô phỏng khi hoàn thành 54

Hình 34: Cửa sổ tạo chương trình cho ứng dụng 54

Hình 35: Thuộc tính của block 55

Hình 36: Phương thức của block 55

Hình 37: Sự kiện của Block 56

Hình 38: Hành động kết nối liên lục các bluetooth đã lưu 56

Hình 39: Hành động nút bấm chọn kết nối Bluetooth 57

Hình 40: Hành động kết nối Bluetooth cần chọn 57

Hình 41: Hành động kết nối hiển thị data từ buletooth 58

Hình 42: Cách cài đặt chương trình bằng mã quét QR và code 59

Trang 6

5

DANH MỤC CÁC BẢNG

Bảng 1: Thống kê thiết bị cần thiết để thiết kế bộ phát 27

Bảng 2: Bảng nguyên lí cắm chân từ LCD tới mạch chuyển đổi I2C 29

Bảng 3: Bảng nguyên lí cắm chân từ modul chuyển đổi tới Arduino Uno 31

Bảng 4: Bảng nguyên lí cắm chân từ cảm biến về uno 31

Bảng 5: Bảng nguyên lí cắm cảm biến tia UV ML8511 vào Arduino 32

Bảng 6:Bảng nguyên lí cắm modul truyền phát Bluetooth HC 05 vào Arduino 33

Trang 7

6

MỞ ĐẦU

Trong thời đại công nghệ số ngày nay, việc thu thập và giám sát thông tin môi trường đã trở thành một phần quan trọng của cuộc sống hàng ngày Cùng với sự phát triển của công nghệ, chúng ta có khả năng kết nối và truyền dữ liệu từ các thiết bị đo môi trường lên Internet một cách dễ dàng và nhanh chóng Điều này mở ra cơ hội cho việc tạo ra các thiết bị thông minh có khả năng đo nhiệt độ, độ ẩm và cường độ UV, và gửi dữ liệu trực tiếp lên Internet để giúp chúng ta hiểu rõ hơn về môi trường xung quanh

Mục tiêu của chúng em là thiết kế một thiết bị nhỏ gọn, hiệu quả và dễ sử dụng,

có khả năng đo các thông số môi trường quan trọng và truyền dữ liệu lên nền tảng trực tuyến để có thể truy cập từ xa Để đạt được mục tiêu này, chúng em sẽ sử dụng các cảm biến để đo nhiệt độ, độ ẩm và cường độ UV Module sẽ được thiết kế và lập trình sử dụng một vi điều khiển nhúng, như Arduino, để điều khiển hoạt động và thu thập dữ liệu Chúng em sẽ tìm hiểu về các giao thức truyền thông, như Wi-Fi hoặc Bluetoot, để kết nối module với Internet và gửi dữ liệu lên nền tảng đám mây

Thông qua đề tài này, nhóm nghiên cứu chúng em hy vọng có thể đóng góp vào việc phát triển các thiết bị đo môi trường thông minh và kết nối mạng Việc thu thập và phân tích dữ liệu môi trường từ xa sẽ mang lại nhiều lợi ích, từ việc quản lý và bảo vệ môi trường đến ứng dụng trong các lĩnh vực như nông nghiệp, quản lý đô thị và y tế

Tuy nhiên, chúng em nhận thức rằng đề tài này có những hạn chế và thách thức

Sự đa dạng của môi trường và yêu cầu đa dạng của người dùng đòi hỏi sự linh hoạt và

đa năng của module Chúng em rất mong nhận được sự hỗ trợ, đóng góp và góp ý từ các thầy/cô giảng viên để hoàn thiện và nâng cao chất lượng của đề tài này Chúng em cũng xin chân thành cảm ơn thầy giáo Ths Trịnh Tuấn Dương đã giúp đỡ chúng rất nhiều trong quá trình tìm hiểu, thiết kế và hoàn thành đề tài nghiên cứu này

Hà Nội, ngày 29 tháng 5 năm 2023

Phụ trách thực hiện

Trang 8

7

CHƯƠNG 1: TỔNG QUAN

1.1 Giới thiệu chung

Đề tài "Thiết kế, chế tạo module đo các thông số nhiệt độ, độ ẩm, cường độ UV

có khả năng gửi dữ liệu lên Internet" tập trung vào việc phát triển một thiết bị đo các thông số môi trường như nhiệt độ, độ ẩm và cường độ UV Thiết bị này được thiết kế và chế tạo để hoạt động trong môi trường ngoài trời và có khả năng gửi dữ liệu về một máy chủ trên Internet

Đặc điểm nổi bật của module là khả năng gửi dữ liệu lên Internet, cho phép người dùng từ xa có thể theo dõi, giám sát và thu thập dữ liệu môi trường từ thiết bị Việc gửi

dữ liệu lên Internet cung cấp khả năng truy cập từ xa, thuận tiện cho việc giám sát, phân tích dữ liệu và đưa ra các quyết định hợp lý dựa trên thông số thu thập được

Đề tài đòi hỏi sự kết hợp giữa các công nghệ như Arduino, cảm biến nhiệt độ, độ

ẩm, cảm biến cường độ UV và giao thức kết nối Internet như Bluetooth hoặc Wi-Fi Việc nghiên cứu và chế tạo module này đòi hỏi sự hiểu biết về lĩnh vực đo lường môi trường,

kỹ thuật điện tử và lập trình

Sau khi hoàn thành, module đo các thông số nhiệt độ, độ ẩm, cường độ UV và khả năng gửi dữ liệu lên Internet sẽ mang lại lợi ích trong việc giám sát, quản lý môi trường và đưa ra các quyết định dựa trên dữ liệu thu thập được

1.2 Mục đích, đối tượng, nội dung nghiên cứu

1.2.1 Mục đích nghiên cứu

Mục đích chính của nghiên cứu này là thiết kế và chế tạo một module đo các thông số nhiệt độ, độ ẩm và cường độ UV, và có khả năng gửi dữ liệu liên tục lên Internet Điều này nhằm tạo ra một sản phẩm có khả năng đo và gửi dữ liệu môi trường trong thời gian thực, từ đó cung cấp thông tin hữu ích cho việc giám sát, quản lý và phân tích

dữ liệu môi trường

Thông qua việc sử dụng module đo các thông số và kết nối Internet, sản phẩm này sẽ cho phép thu thập dữ liệu môi trường từ nhiều địa điểm khác nhau và gửi nhanh chóng đến một máy chủ trên Internet Dữ liệu thu thập được có thể được truy cập từ xa

và theo dõi thông qua các thiết bị di động hoặc máy tính, cung cấp thông tin cần thiết để đánh giá tình trạng môi trường, phân tích xu hướng và đưa ra quyết định hợp lý

Trang 9

8

Việc giám sát các thông số nhiệt độ, độ ẩm và cường độ UV trong thời gian thực là quan trọng trong nhiều lĩnh vực như nông nghiệp, môi trường, y tế, và công nghiệp Sản phẩm này có thể được ứng dụng để giám sát môi trường trong các trang trại, khu đô thị, công viên, công trình xây dựng và nhiều vị trí khác Nó cung cấp cho người dùng thông tin quan trọng để đưa ra các biện pháp bảo vệ môi trường, điều chỉnh điều kiện sống và

nâng cao chất lượng cuộc sống

1.2.2 Đối tượng nghiên cứu

Đối tượng của nghiên cứu có thể là học sinh, sinh viên hoặc các chuyên gia, nhà nghiên cứu trong lĩnh vực môi trường, nông nghiệp, đô thị và khoa học địa chất Học sinh, sinh viên có thể ứng dụng trong việc học tập Các chuyên gia trong lĩnh vực môi trường có thể sử dụng sản phẩm để giám sát các thông số nhiệt độ, độ ẩm và cường độ

UV trong các khu vực môi trường khác nhau và thu thập dữ liệu để phân tích và đưa ra quyết định hợp lý về bảo vệ môi trường Các chuyên gia trong lĩnh vực nông nghiệp có thể sử dụng sản phẩm để theo dõi điều kiện môi trường trong trang trại và ứng dụng các biện pháp phù hợp để cải thiện năng suất và chất lượng sản phẩm nông nghiệp Trong lĩnh vực đô thị, các tổ chức quản lý môi trường và các trung tâm nghiên cứu có thể sử dụng sản phẩm để giám sát chất lượng môi trường trong các khu vực đô thị và đưa ra các biện pháp cải thiện môi trường sống cho cộng đồng Cuối cùng, các nhà khoa học

và nhà nghiên cứu quan tâm đến việc giám sát môi trường cũng có thể tận dụng sản phẩm để thu thập dữ liệu và phân tích các xu hướng và biến đổi môi trường

1.2.3 Nội dung nghiên cứu của đề tài:

Nội dung nghiên cứu bao gồm:

Phân tích yêu cầu: Nghiên cứu yêu cầu và nhu cầu về thông số nhiệt độ, độ ẩm

và cường độ UV trong việc giám sát môi trường

Thiết kế module: Nghiên cứu và phát triển thiết kế module đo các thông số môi trường, bao gồm lựa chọn các linh kiện, mạch điện, cảm biến và giao thức kết nối Internet

Chế tạo module: Tiến hành gia công, lắp ráp và kiểm tra module để đảm bảo hoạt động đúng và ổn định

Đo lường và kiểm tra: Thực hiện các thử nghiệm và đo lường để đánh giá độ chính xác và tin cậy của module trong các điều kiện môi trường khác nhau

Trang 10

9

Gửi dữ liệu lên Internet: Xây dựng phần mềm hoặc ứng dụng để gửi dữ liệu đo

được từ module lên một máy chủ trên Internet và hiển thị dữ liệu môi trường một cách

trực quan và dễ sử dụng

Tìm hiểu về công nghệ in 3D: Sử dụng công nghệ in 3D để tạo ra vỏ bảo vệ và

thiết kế ngoại hình cho module đo Áp dụng kỹ thuật thiết kế 3D và sử dụng máy in 3D

để tạo ra các bộ phận cần thiết cho module Đánh giá tính khả thi và hiệu quả của việc

sử dụng in 3D trong quá trình sản xuất module đo

Đánh giá và kết luận: Đánh giá hiệu quả và tính ứng dụng của module trong việc giám

sát môi trường và rút ra kết luận về hiệu quả và tiềm năng của sản phẩm

Trang 11

10

2.1 Tổng quan về linh kiện sử dụng

Trong đề tài "Thiết kế, chế tạo module đo các thông số nhiệt độ, độ ẩm, cường

độ UV có khả năng gửi dữ liệu lên Internet", chúng em đã sử dụng một số linh kiện quan trọng để thiết kế và chế tạo module Dưới đây là một tổng quan về các linh kiện chính được sử dụng:

Arduino UNO R3: Arduino UNO R3 là một bo mạch phát triển mã nguồn mở được sử dụng để điều khiển các thành phần điện tử khác nhau Nó cung cấp một giao diện dễ sử dụng và linh hoạt cho việc lập trình và kết nối các linh kiện khác nhau

Cảm biến nhiệt độ, độ ẩm DHT21: Cảm biến DHT21 được sử dụng để đo và ghi nhận thông số nhiệt độ và độ ẩm trong môi trường xung quanh Nó cung cấp độ chính xác cao và có khả năng đo trong khoảng rộng của nhiệt độ và độ ẩm

Cảm biến cường độ UV ML8511: Cảm biến ML8511 được sử dụng để đo và đánh giá cường độ tia tử ngoại (UV) Nó cung cấp thông tin về mức độ UV trong môi trường, giúp đánh giá tiềm năng gây hại của tia UV đối với con người và môi trường

Module giao tiếp I2C: Module giao tiếp I2C được sử dụng để kết nối các linh kiện với nhau thông qua giao thức I2C Nó cho phép truyền dữ liệu giữa các linh kiện một cách dễ dàng và hiệu quả

Màn hình LED LCD 16x2: Màn hình LED LCD 16x2 được sử dụng để hiển thị thông tin đo được từ các cảm biến Nó cung cấp một giao diện đồ họa đơn giản và thuận tiện để người dùng có thể theo dõi dữ liệu môi trường

Module giao tiếp Bluetooth HC-05: Module Bluetooth HC-05 được sử dụng để kết nối module đo với các thiết bị di động hoặc máy tính thông qua Bluetooth Nó cho phép truyền dữ liệu từ module đo đến các thiết bị khác và cung cấp tính năng gửi dữ liệu lên Internet

Các linh kiện này cùng hoạt động và tương tác với nhau để tạo ra một module đo các thông số nhiệt độ, độ ẩm và cường độ UV có khả năng gửi dữ liệu lên Internet

Trang 12

11

2.1.1 Arduino UNO R3

Hình 1: Arduino UNO R3

Chúng em quyết định chọn loại arduino UNO R3 với các lý do sau:

- Giá thành phải chăng

- Do đã có sẵn thiết bị từ lúc học

- Dễ dàng sử dụng kết nối với máy tính và phổ biến

- Thiết kế đơn giản nhưng có sức mạnh vượt trội, dễ thao tác, được ứng dụng trong nhiều lĩnh vực

- Điều khiển các thiết bị từ xa qua điện thoại, máy tính, dễ dàng tương tác với các thiết bị thông minh

Cơ sở lý thuyết của arduino UNO:

Dựa trên tài liệu trên internet Đã đưa ra các lý thuyết cơ bản về Arduno Uno, được trình bày như sau:

Một mạch arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp

đẽ dàng lập trình và có thể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi Arduino chính thức thường

sử dụng các dòng chính megaAVR, đặc biệt là Atmega8, Atmega168, Atmega328, Atmega1280 và Atmega2560 Một vài bộ vi xử lý khác cũng thường được sử dụng bới

Trang 13

12

các mạch Arduino tương thích Hầu hết các mạch gồm bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16MHz (Hoặc bộ cộng hưởng ceramic trong một vài biến thể) Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip So với các thiết bị khác thường phải cần một bộ nạp bển ngoài Diều này giúp cho việc sử dụng Arduno được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình

Board Arduino sẽ đưa hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài, Diecimila, Duemilano, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân inpu annalog, có thể sử dụng như là 6 chân I/O số Một vài trong số đơ có chức năng tương đương với Arduino và có thể sử dụng để thay thế qua lại Nhiều mở rộng cho Arduno được thực hiện bằng bằng cách thêm vào các drive đầu ra, thường sử dụng trong trường học dể đơn giản hóa các cấu trúc của các “con rệp” và các robot nhỏ Những board khác thường tương đương về điện nhưng có các thay đổi về hình dạng đôi khi còn duy trì độ tương thích với shield, đôi khi không, Vài biến thể sử dụng bộ vi xử lý haofnt oàn khác biệt, với các mức độ tương thích khác nhau

Các chức năng của chân cắm trong Arduino:

Nguồn (Giắc cắm USB / Thùng) : Mỗi bảng Arduino cần một cách để được kết nối với nguồn điện Arduino UNO có thể được cấp nguồn từ cáp USB đến từ máy tính hoặc nguồn điện trên tường được kết thúc trong giắc cắm thùng Trong hình trên, kết nối USB được dán nhãn (1) và giắc cắm thùng được dán nhãn (2)

Kết nối USB cũng là cách sẽ tải mã lên bo mạch Arduino của mình Điện áp được

đề nghị cho hầu hết các mô hình Arduino là từ 6 đến 12 Volts

Chân (5V, 3.3V, GND, Analog, Kỹ thuật số, PWM, ISF) : Các chân trên Arduino của bạn là nơi kết nối dậy để xây dựng mạch (có thể kết hợp với bảng mạch và một số dây Arduino UNO thường có 'đầu bằng nhựa màu đen cho phép cắm dây ngay vào bảng, có một số loại chân khác nhau, mỗi loại được dán nhãn trên bảng và được sử dụng cho các chức năng khác nhau

GND (3): Viết tắt của ‘Ground Có một số chân GND trên Arduino, bất kỳ trong số

đó có thể được sử dụng để nối đất mạch của bạn

Trang 14

13

5V (4) & 3.3V (5): chân 5V cung cấp năng lượng 5 volt và chân 3,3V cung cấp 3,3 volt Hầu hết các thành phần đơn giản được sử dụng với Arduino đều hoạt động tốt ở mức 5 hoặc 3,3 volt

Tương tự (6): Khu vực của các chân dưới nhãn ‘Tương tự In (A0 đến 45 trên UNO)

là các chân Tương tự Các chân này có thể đọc tín hiệu từ một cảm biến tương tự (như cảm biến nhiệt độ) và chuyển đổi thành một giá trị kỹ thuật số mà chúng ta có thể đọc được.Kỹ thuật số (7): Trên khắp các chân tương tự là các chân kỹ thuật số (0 đến 13 trên UNO) Các chân này có thể được sử dụng cho cả đầu vào kỹ thuật số (như cho biết nếu nhấn nút) và đầu ra kỹ thuật số (như cấp nguồn cho đèn LED)

PWM (8): Bạn có thể đã nhận thấy dấu ngã (-) bên cạnh một số chân kỹ thuật số (3,

5, 6, 9, 10 và 11 trên UNO) Các chân này hoạt động như các chân kỹ thuật số thông thường, nhưng cũng có thể được sử dụng cho một thứ gọi là điều chế độ rộng xung (PWM)

DIỆN TÍCH (9): Viết tắt của Tham chiếu Tương tự được sử dụng để đặt điện áp tham chiếu ngoài (trong khoảng từ 0 đến 5 Volts) làm giới hạn trên cho các chân đầu vào tương tự

Nút reset : Giống như Nintendo gốc, Arduino có nút đặt lại (10) Nhấn nó sẽ tạm thời kết nối pin reset xuống đất và khởi động lại bất kỳ mã nào được tải trên Arduino Điều này có thể rất hữu ích nếu mã không lặp lại

Đèn LED chỉ báo nguồn: Ngay bên dưới và bên phải của chữ UN UNO trên bảng mạch, có một đèn LED nhỏ bên cạnh chữ (11) Đèn LED này sẽ sáng lên bất cứ khi nào cắm Arduino vào nguồn điện Nếu đèn này không bật, thì có một cơ hội tốt có gì đó không ổn Thời gian để kiểm tra lại mạch

Đèn LED TX : TX là ngắn để truyền, RX là ngắn để nhận Những dấu hiệu này xuất hiện khá nhiều trong thiết bị điện tử để chỉ ra các chân chịu trách nhiệm truyền thông nối tiếp Trong trường hợp này, có hai vị trí trên Arduino UNO nơi TX và RX xuất hiện

- một lần bởi các chân kỹ thuật số 0 và 1, và lần thứ hai bên cạnh đèn LED chỉ báo TX

và RX (12) Các đèn LED này sẽ cung cấp một số chỉ dẫn trực quan đẹp bất cứ khi nào Arduino nhận hoặc truyền dữ liệu

IC chính : cục màu đen với tất cả các chân kim loại là IC, hoặc mạch tích hợp (13)

nó như bộ não của Arduino IC chính trên Arduino hơi khác biệt so với loại bo mạch,

Trang 15

2.1.2 Phần mềm để lập trình cho Arduino:

Arduino IDE là phần mềm dùng để lập trình cho Arduino Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++ Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn

Khi các chúng ta bắt điện bằng mạch Arduino, reset hay nạp chương trình mới, hàm setup() sẽ được gọi đến đầu tiên Sau khi xử lý xong hàm setup() Arduino sẽ nhảy đến hàm loop() và lặp vô hạn hàm này cho đến khi tắt điện board mạch Arduino Chu trình đó có thể mô tả trong hình dưới đây:

Arduino IDE sử dụng GNU toolchain và AVR libe để biên dịch chương trình và

sử dụng avrdude để tải lên các chương trình vào board mạch chủ Do nền tăng Arduino

sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phan mềm cho các Arduino

Arduino IDE là nơi để soạn thảo code, kiểm tra lỗi và upload code cho Arduino Lưu ý: Khi lập trình code cho để tài ta cần phải thêm thư viên cho bộ truyền phát HC-

05 và cảm biến độ ẩm DHT21 (Định kèm cùng file)

2.1.2.1 Lý thuyết code dùng trong lập trình arduino:

Cấu trúc:

Hàm setup() Hàm loop()

Trang 16

15

1 Lệnh setup() và loop():

Những lệnh trong setup() sẽ được chạy khi chương trình của bạn khởi động Có thể sử dụng nó để khai báo giá trị của biển, khai báo thư viện, thiết lập các thông số, Sau khi setup() chạy xong, những lệnh trong loop() được chạy Chúng sẽ lặp đi lặp lại liên tục cho tới khi nào ngắt nguồn của board Arduino mới thôi

Bất cứ khi nào bạn nhất nút Reset, chương trình của bạn sẽ trở về lại trạng thái như khi Arduino mới được cấp nguồn

5 Lệnh While:

Vòng lặp while là một dạng vòng lặp theo điều kiện, không thể biết trước số lần lặp của

nó, nhưng có thể quản lý lúc nào thì nó ngừng lặp

Arduino được

cấp nguồn

Setup() {//Lệnh của bạn}

Loop() {//Lệnh của bạn}

Bấm nút reset

Trang 17

High: Trong lập trình trên Arduino, High là một hằng số có giá trị nguyên là 1 Trong

điện tử, High à một mức điện áp lớn hơn 0V Giá trị của High được định nghĩa khác nhau trong các mạch điện khác nhau, nhưng thường được quy ước ở các mức như 1.8V, 2.7V, 3.3V 5V, 12V,

Low: Trong lập trình trên Arduino, LOW là một hằng số có giá trị nguyên là 0 Trong

điện tử, LOW là mức điện áp 0V hoặc gần bằng 0V, giá trị này được định nghĩa khác nhau trong các mạch điện khác nhau, nhưng thường là 0V hoặc hơn một chút xíu Input, output,input_pullup

2 Kiểu dữ liệu:

được khai báo với "void" sẽ không trả về bất kỳ dữ liệu nào khi được gọi

Char: Kiểu dữ liệu này là kiểu dữ liệu biểu diễn cho 1 ký tự Kiểu dữ liệu này

chiếm 1 byte bộ nhớ Kiểu char chỉ nhận các giá trị trong bảng mã ASCII Kiểu char

Trang 18

Float: Để định nghĩa 1 kiểu số thực, bạn có thể sử dụng kiểu dữ liệu float Một

biến dùng kiểu dữ liệu này có thể đặt một giá trị nằm trong khoảng 3.4028235E+38 đến 3.4028235E+38 Nó chiếm 4 byte bộ nhớ Với kiểu dữ liệu float bạn có từ 6-7 chữ số

có nghĩa nằm ở bên mỗi bên dấu "." Như vậy, có thể đặt một số thực dài đến 15 ký tự (bao gồm dấu )

Array: là mảng (tập hợp các giá trị có liên quan và được đánh dấu bằng những chỉ

số) Array được dùng trên Arduino chính là Array trong ngôn ngữ lập trình C

3 Chuyển đổi kiểu dữ liệu:

Hàm char() có nhiệm vụ chuyển kiểu dữ liệu của một giá trị về kiểu char Hàm byte()

có nhiệm vụ chuyển kiểu dữ liệu của một giá trị về kiểu byte

Hàm int() có nhiệm vụ chuyển kiểu dữ liệu của một giá trị về kiểu int

Hàm float() có nhiệm vụ chuyển kiểu dữ liệu của một giá trị về kiểu float

Hàm:

1 Nhập xuất Digital (Digital I/O):

pinMode(): Cấu hình 1 pin quy định hoạt động như là một đầu vào (INPUT) hoặc

đầu ra (OUTPUT)

digitalWrite(): Xuất tín hiệu ra các chân digital, có 2 giá trị là HIGH hoặc là LOW

Nếu một pin được thiết đặt là OUTPUT bởi pinMode() Và khi dùng digitalWrite để xuất tín hiệu thì điện thế tại chân này sẽ là 5V (hoặc là 3,3 V trên mạch 3,3 V) nếu được xuất tín hiệu là HIGH, và OV nếu được xuất tín hiệu là LOW

digitalRead(): Đọc tín hiệu điện từ một chân digital (được thiết đặt là INPUT) Trả

về 2 giá trị high hoặc low

2 Nhập xuất Analog (Analog I/O):

analogReference(): có nhiệm vụ đặt lại mức (điện áp) tối đa khi đọc tín hiệu

analogRead

Trang 19

18

analogRead(): là đọc giá trị điện áp từ một chân Analog (ADC) Trên mạch Arduino

UNO có 6 chân Analog In, được ký hiệu từ AO đến A5 Trên các mạch khác cũng có những chân tương tự như vậy với tiền tố "A" đứng đầu, sau đó là số hiệu của chân

analogWrite(): là lệnh xuất ra từ một chân trên mạch Arduino một mức tín hiệu analog

(phát xung PWM) Thường điều khiển mức sáng tối của đèn LED hay hướng quay của động cơ servo bằng cách phát xung PWM

2.1.3 Chọn loại thiết bị truyền phát không dây và cơ sở lý thuyết :

2.1.3.1 Module Bluetooth HC-05

Sau khi tìm hiểu và tham khảo chúng em quyết định chọn module Bluetooth HC-05 với các ưu điểm sau :

- Module Bluetooth HC-05 là lựa chọn tối ưu cho nghiên cứu này vì:

- Giá thành rẻ hơn so với các Module khác, tốc độ hoạt động phù hợp với truyền dữ liệu điều khiển thiết bị, dễ dàng mua ở thị trường Việt Nam, được nhiều người sử dụng và đánh giá là rất ổn định

- Module Bluetooth HC-05 cung cấp hai giao tiếp trong khoảng cách ngắn hơn với tốc

độ nhanh

- Phạm vi giao tiếp lên đến 8-10m nhưng sẽ giảm xuống khi có vật cản

- Có chân enale cho phép chuyển đổi giữa chế độ dòng lệnh và dữ liệu

- Thiết bị sử dụng nguồn điện 5V

- Module có thể làm Master hoặc Slave

2.1.3.2 - Hỗ trợ nhiều tốc độ truyền ( 9600 19200 38400 115200 )

2.1.3.3 Sơ đồ chân của thiết bị truyền phát :

Hình 2: Sơ đồ chân module HC 05

Trang 20

19

Chân VCC : Giống như mọi thiết bị khác, HC05 Modules cũng phụ thuộc vào

nguồn điện để hoạt động và chân VCC cấp nguồn điện từ bên ngoài

Chân GND : Chân nối đất module

Chân TX : Chân truyền dữ liệu giao thức UART

Chân RX : Chân nhận dữ liệu trong giao tiếp UART

Chân State : Báo trạng thái kết nối của Bluetooth

Chân Enable/key : Chân Enable / Key là chân thay đổi chế độ giữa chế độ dữ

liệu và chế độ dòng lệnh bằng cách cấp tín hiệu bên ngoài Cấp logic cao sẽ chuyển sang chế độ dòng lệnh và trạng thái logic thấp sẽ chuyển sang chế độ dữ liệu Chế độ thiết bị mặc định là chế độ dữ liệu

Chân button : Các chế độ dữ liệu và lệnh có thể thay đổi thông qua một nút nhấn

- Dữ liệu sẽ được truyền với tốc độ truyền được xác định trong bộ vi điều khiển Tốc

độ truyền 9600 là tốc độ dữ liệu mặc định nhưng nó cũng có thể thay đổi được

Hình 3: Sơ đồ kết nối HC-05

- Có chân thứ ba (Key) dùng để chuyển đổi chế độ Chế độ mặc định, khi không có tín hiệu đầu vào được cấp vào chân Key, thiết bị sẽ hoạt động ở chế độ dữ liệu

Trang 21

của HC-05 và ngược lại

2 Cài đặt baud rate: Thiết lập baud rate (tốc độ truyền dữ liệu) cho HC-05 và thiết bị gốc để đảm bảo hai thiết bị giao tiếp với cùng một tốc độ Baud rate mặc định của HC-05 thường là 9600

3 Gửi dữ liệu: Sử dụng các hàm hoặc thư viện UART có sẵn trong ngôn ngữ lập trình bạn đang sử dụng để gửi dữ liệu thông qua kết nối Bluetooth

2.1.4 Cơ sở lý thuyết chung về cảm biến nhiệt độ , độ ẩm , tia UV :

Khái quát chung về cảm biến :

Cảm biến là thiết bị điệu tử cảm nhận những trạng thái hay quá trình vật lý hay hoá học ở môi trường cần khảo sát , và biến đổi thành tín hiệu điện để thi thập thông tin

về tình trạng hay quá trình đó

Thông tin được xử lý để rút ra tham số định tính hoặc định lượng của môi trường , phục vụ các nhu cầu nghiên cứu khoa học ký thuật hay dân sinh và gọi ngắn gọn là do đạc , phục vị trong truyền và xử lý thông tin hay trong các điều khiển các quá trình khác

- Cảm biến vật lý : Sóng điện tử , ánh sáng , tử ngoại , hồng ngoại , tia X , tia gamma , hạt bức xạ , nhiệt độ , áp suất , âm thanh , rung động , khoảng cách , chuyển động ,…

- Cảm biến hoá học : độ ẩm , độ PH , khói ,…

- Phân loại theo nguyên lý hoạt động :

- Cảm biến điện trơ : hoạt động dự theo di chuyển con chạy hoặc góc quay của biến trở , hoặc sự thay đổi điện trở do co giãn vật dẫn

- Cảm biến điện dung : Sự thay đổi điện dung của cảm biến khi khoảng cách hay góc đến vật thể kim loại thay đổi

- Cảm biến từ trường : Cảm biến hiệu ứng Hall , cảm biến từ trường dùng vật liệu sắt từ ,… dùng trog từ kế

Trang 22

Hình ảnh các loại cảm biến :

Cảm biến đo cường độ tia UV :

Cảm biến tia UV một thiết bị hoặc một hệ thống được sử dụng để đo lường và phát hiện mức độ tia tử ngoại (UV) trong môi trường xung quanh Tia tử ngoại là một phần của quang phổ từ mặt trời và các nguồn ánh sáng khác có bước sóng ngắn hơn ánh sáng có thể nhìn thấy bằng mắt thường Cảm biến UV đóng vai trò quan trọng trong việc giám sát và bảo vệ sức khỏe của con người, đặc biệt là trong việc phát hiện và ngăn chặn

tác động tiêu cực của tia tử ngoại lên da và mắt

2.1.4.1 Lựa chọn cảm biến

*Cảm biến nhiệt độ độ ẩm :Dựa trên các tài liệu , dữ kiện của các đề tài nghiên

cứu , Các ưu nhược điểm trình bày ở trên Em quyết định chọn loại DHT21

Hình 4: Cảm biến DHT21

DHT 21 có những ưu điểm sau : Cảm biến độ ẩm, nhiệt độ DHT21 AM2301 Temperature Humidity Sensor được sử dụng để đo độ ẩm và nhiệt độ của không khí, cảm biến có độ bền và độ ổn định cao, sử dụng giao tiếp 1-wire giao tiếp với Vi điều

Trang 23

22

khiển dễ dàng chỉ với 1 dây tín hiệu duy nhất, thích hợp với các ứng dụng cần đo độ ẩm, nhiệt độ trong nông nghiệp, nhà thông minh,

Cấu tạo của DHT 21:

Hình 5: Cấu tạo DHT21

Quá trình giao tiếp tổng thể :

Khi MCU gửi tín hiệu bắt đầu , DHT21 thay đổi từ chế độ tiêu thụ điện năng thaaos sang chế độ chạy , chờ MCU hoàn thành tín hiệu bắt đầu Sau khi hoàn thành , DHT21 sẽ gửi tín hiệu phản hồi của dữ liệu 40bit bao gồm thông tin về độ ẩm và nhiệt

độ tương đối đến MCU Người dung có thể chọn thu thấp ( đọc) một số dữ liệu Không

có tins hiệu bắt đầu từ MCU, DHT21 sẽ không đưa ra tín hiệu phản hồi cho MCU Sau khi dữ liệu thu thập được , DHT21 sẽ thay đổi thành mức tiêu thụ năng lượng thấp chế

độ cho đến khi nhận được tín hiệu bắt đầu từ MCU một lần nữa

*Cảm biến đo cường độ tia UV :

Chúng em quyết định chọn cảm biến tia UV ML8511

- Ưu điểm : Cảm biến tia UV ML8511 Ultraviolet Light Sensor sử dụng IC cảm biến ML8511 UV cho độ nhạy cao, dùng để phát hiện và nghiên cứu chỉ số UV trong môi trường Loại cảm biến này có dòng tiêu thụ thấp, kích thước nhỏ gọn và độ chính xác cao, với đầu ra là tín hiệu Analog nên rất dễ giao tiếp và xử lý dữ liệu từ cảm biến bằng Vi điều khiển mà không cần đến một mạch chuyển đổi quang điện

Cấu tạo ML8511 :

Trang 24

23

Hình 6: Cảm biến tia UV ML8511

1 Đầu dò UV: Đầu dò UV của ML8511 có khả năng thu nhận tia UV từ môi trường Nó bao gồm một bề mặt phản xạ và các thành phần quang học như ống kính và bộ lọc để tập trung vào tia UV

2 Bộ chuyển đổi: Tín hiệu tia UV thu thập được từ đầu dò được chuyển đổi thành tín hiệu điện tương ứng Bộ chuyển đổi chủ yếu gồm các linh kiện điện tử như biến trở, tụ điện và linh kiện bảo vệ

3 Bộ xử lý: ML8511 có một bộ xử lý tích hợp để xử lý tín hiệu điện từ bộ chuyển đổi

Bộ xử lý có nhiệm vụ calibra tín hiệu đo và chuyển đổi nó thành đơn vị đo mức độ tia

UV

4 Giao diện: Cảm biến ML8511 có các chân giao tiếp để kết nối với vi điều khiển hoặc

hệ thống khác Thông qua giao diện này, dữ liệu đo lường có thể được truyền và sử dụng

Trang 25

Proteus là công cụ chuyên về mô phỏng mạch điện tử

Các tính năng của Proteus:

Có cơ sở dữ liệu 32 bit cho phép độ chính xác đến 10mm , độ phân giải góc 0,10

và kích thước board lớn nhất là -10m ARES hỗ trợ mạch in 16 lớp Làm việc thông qua các menu ngữ cảnh tiện lợi

File netlist từ phần mềm vẽ mạch nguyên lý ISIS Tự động cập nhật ngược chỉ

số linh kiện , sự thay đổi chân , đổi cổng ở mạch in sang mạch nguyên lý Công

cụ kiểm tra lỗi thiết kế

Thư viện đầy đủ từ lỗ khoan mạch đến linh kiện dán

Trước khi muốn thực hiện mô phỏng cho mạch , bắt buộc cần phải them thư viện Arduino

2.1.5.2 Hình ảnh thể hiện tính năng của Proteus trong thư viện thiết kế mạch:

Dưới đây là hình ảnh mô phỏng Proteus cho mạch Arduino xuất ra màn hình LCD

mà đã được hoàn thành

Ảnh mô phỏng trên Proteus :

Trang 26

25

Hình 8: hình ảnh mô phỏng Proteus cho mạch Arduino xuất ra màn hình LCD

2.1.5.3 Tiến hành mô phỏng thiết kế mạch đo nhiệt độ truyền phát không dây

Mô phỏng thiết kế mạch sẽ như hình , nguyên lý hoạt động Arduino nhận nhiệt

độ, độ ẩm, tia UV và xuất ra màn hình LCD

Hình 9: mô phỏng thiết kế mạch đo nhiệt độ truyền phát không dây

Sau khi thiết kế mô phỏng và nhập code vào Arduino Màn hình LCD sẽ hiển thị nhiệt độ đúng như ý muốn

Trang 27

26

, cường độ tia UV Bằng cách gửi tín hiệu đổ xuất lên Arduino sẽ hiển thị thông số nhiệt

độ, độ ẩm, cường độ tia UV

2.2 Sơ đồ khối hệ thống ,thiết kế mạch nguyên lí

2.2.1 Sơ đồ khối:

Hình 10: Sơ đồ khối mạch phát

Chức năng của các khối

Cảm biến nhiệt độ, độ ẩm DHT21: cảm biến đo nhiệt độ, độ ẩm của môi trường

và gửi tín hiệu về Arduino UNO khi có tín hiệu yêu cầu

Cảm biến tia UV ML8511: cảm biến đo cường độ tia UV của môi trường và gửi tín hiệu về Arduino UNO khi có tín hiệu yêu cầu

LCD 16x2 bao gồm nhiệt độ, độ ẩm và cường độ tia UV

Trang 28

27

2.2.1 Chuẩn bị các thiết bị cần thiết để lắp mạch phát cảm biến nhiệt độ, độ ẩm

và cường độ tia uv

Bảng 1: Thống kê thiết bị cần thiết để thiết kế bộ phát

Trang 29

28

2.2.2 Thiết kế mạch phát trên Proteus:

Do trên phần mềm Proteus không có con cảm biến nhiệt độ, độ ẩm HDT21 nên ta thay thế bằng con cảm biến nhiệt độ và độ ẩm DHT 11 Trong thư viện Protues không có con cảm biến tia uv ML8511 nên phải vẽ mô hình để mô phỏng, hiển thị lên màn hình LCD

và truyền tín hiệu thông qua bluetoth lên app Do chân cắm của Arduino không đáp ứng được nhiều con cảm biến, modul cùng lúc nên ta cắm chân vcc 5V, 3.3V và GND của Arduino vào board mạch để dễ dàng kết nối

Trang 30

29

Hình 11: Mạch phát đo nhiệt độ, độ ẩm, uv hiển thị lên LCD, truyền dữ liệu lên app

2.2.3 Tiến hành lắp mạch thật:

2.2.3.1 Kết nối LCD với modul chuyển đổi I2C

Kết nối I2C thông qua 16 chân kết nối của LCD

Bảng 2: Bảng nguyên lí cắm chân từ LCD tới mạch chuyển đổi I2C

Trang 31

30

Sơ đồ nguyên lí:

Hình 12: Hình ảnh lắp đặt modul chuyển đổi I2C vào màn hình LCD

Hình 13Modul IC2 và màn hình LCD

2.2.3.2 Tiến hành cắm các chân của modul chuyển đổi I2C

Ngày đăng: 24/03/2024, 12:37

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

TÀI LIỆU LIÊN QUAN

w