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

Thiết kế và thi công hệ thống giám sát nhiệt độ,độ ẩm, cường độ gió, cường độ sáng qua sms dùng nguồn pin và sạc bằng năng lượng mặt trời

99 146 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 99
Dung lượng 3,51 MB

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

Nội dung

TÓM TẮT Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà trong đó đặc biệt là kỹ thuật điều khiển tự động đóng vai trò quan trọng tr

Trang 2

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC

Chuyên ngành: Điện tử công nghiệp Mã ngành: 141

I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT NHIỆT ĐỘ,

ĐỘ ẨM, CƯỜNG ĐỘ GIÓ, CƯỜNG ĐỘ SÁNG QUA SMS DÙNG NGUỒN PIN VÀ SẠC BẰNG NĂNG LƯỢNG MẶT TRỜI

II NHIỆM VỤ

1 Các số liệu ban đầu:

 Nhóm nghiên cứu cách lập trình Module trên phần mềm Arduino IDE

 Nghiên cứu tài liệu về cách tính vận tốc

2 Nội dung thực hiện:

 Nội dung 1: Tìm hiểu về module sim 800L, encoder, nhiệt độ và độ

ẩm DHT11, cường độ sáng BH1750

 Nội dung 2: Tìm hiểu về pin năng lượng mặt trời và cách nạp cho pin

từ pin năng lượng mặt trời

 Nội dung 3: Thiết kế và tính toán thiết kế mạch phần cứng

 Nội dung 4: Thi công phần cứng, thử nghiệm và hiệu chỉnh phần cứng

 Nội dung 5: Đánh giá kết quả thực hiện của mô hình

 Nội dung 6: Viết báo cáo thực hiện

Trang 3

III NGÀY GIAO NHIỆM VỤ: 04/10/2018

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 02/01/2019

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Đình Phú

Trang 4

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC

Tuần/ngày Nội dung Xác nhận GVHD

Trang 5

Hoàn thiện báo cáo và gởi cho GVHD để xem xét góp

ý lần cuối trước khi in và báo cáo

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)

Trang 6

LỜI CAM ĐOAN

Đề tài này là do chúng tôi tự thực hiện dưới sự hướng dẫn của thầy ThS Nguyễn Đình Phú dựa vào một số tài liệu và không sao chép từ tài liệu hay công trình đã có trước

đó Nếu có bất kỳ sự gian lận nào chúng tôi xin chịu trách nhiệm về nội dung đồ án của mình

Người thực hiện

Lê Trọng Hoàng Võ Đình Luân

Trang 8

MỤC LỤC

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii

LỜI CAM ĐOAN v

LỜI CẢM ƠN vi

MỤC LỤC vii

LIỆT KÊ HÌNH VẼ ix

LIỆT KÊ BẢNG xi

TÓM TẮT xii

Chương 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU ĐỀ TÀI 2

1.3 NỘI DUNG NGHIÊN CỨU 2

1.4 GIỚI HẠN 2

1.5 BỐ CỤC ĐỒ ÁN 3

Chương 2 CƠ SỞ LÝ THUYẾT 4

2.1 GIỚI THIỆU PHẦN CỨNG 4

2.1.1 Tổng quan về module SIM800L 4

2.1.2 Tổng quan về module Arduino Mega 2560 6

2.1.3 Tổng quan về module cảm biến nhiệt độ và độ ẩm DHT11 12

2.1.4 Tổng quan về module cường độ sáng BH1750 17

2.1.5 Tổng quan về màn hình LCD 20x4 21

2.1.6 Tổng quan về tấm pin năng lượng mặt trời 28

2.1.7 Tổng quan về pin lion dự trữ năng lượng 30

2.1.8 Tổng quan về Encoder 33

2.1.9 Module hạ áp LM2596 35

2.1.10 Mạch sạc pin 3S 37

2.2 GIỚI THIỆU VỀ CHUẨN GIAO TIẾP ONE - WIRE 38

2.2.1 Giới thiệu giao tiếp One – Wire 38

Trang 9

2.3 GIỚI THIỆU VỀ CHUẨN GIAO TIẾP I2C 40

2.3.1 Giới thiệu 40

2.3.2 Cách thức hoạt động 43

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 47

3.1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 47

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 47

3.2.1 Thiết kế sơ đồ khối hệ thống 47

3.2.2 Tính toán thiết kế 48

3.2.3 Sơ đồ nguyên lý toàn mạch 55

Chương 4 THI CÔNG HỆ THỐNG 57

4.1 GIỚI THIỆU 57

4.2 THI CÔNG HỆ THỐNG 58

4.2.1 Thi công bo mạch 58

4.2.2 Lắp ráp và kiểm tra 60

4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 63

4.3.1 Đóng gói, thiết kế mô hình 63

4.3.2 Thi công mô hình 63

4.4 LẬP TRÌNH HỆ THỐNG 65

4.4.1 Lưu đồ giải thuật 65

4.4.2 Giới thiệu phần mềm lập trình hệ thống 69

4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG THAO TÁC 72

4.5.1 Viết tài liệu hướng dẫn sử dụng 72

Chương 5 KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ 73

5.1 KẾT QUẢ ĐẠT ĐƯỢC 73

5.2 KẾT QUẢ THỰC NGHIỆM 74

5.3 NHẬN XÉT VÀ ĐÁNH GIÁ 79

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 80

6.1 KẾT LUẬN 80

6.2 HƯỚNG PHÁT TRIỂN 80

TÀI LIỆU THAM KHẢO 81

PHỤ LỤC 82

Trang 10

LIỆT KÊ HÌNH VẼ

Hình Trang

Hình 2.1 Sơ đồ chân module SIM800L 4

Hình 2.2 Arduino Mega 2560 7

Hình 2.3 Sơ đồ chân Arduino Mega 2560 10

Hình 2.4 Sơ đồ chân module DHT11 13

Hình 2.5 Cách thức hoạt động 14

Hình 2.6 Bit 0 16

Hình 2.7 Bit 1 16

Hình 2.8 Cách truyền bit 17

Hình 2.9 Đáp ứng quang phổ 18

Hình 2.10 Độ rọi – Kết quả đo lường 18

Hình 2.11 Hình ảnh thực tế module BH1750 19

Hình 2.12 Sơ đồ khối module BH1750 19

Hình 2.13 Hình ảnh thực tế LCD 20x4 22

Hình 2.14 Bảng mã kí tự 25

Hình 2.15 Cấu tạo tấm pin năng lượng mặt trời 29

Hình 2.16 Cấu tạo bề mặt tấm pin năng lượng mặt trời 29

Hình 2.17 Cấu tạo pin Li-ion 31

Hình 2.18 Quy trình nạp 32

Hình 2.19 Quy trình xả 33

Hình 2.20 Nguyên lý hoạt động encoder 34

Hình 2.21 Module Encoder 35

Hình 2.22 Module LM2596 36

Hình 2.23 Sơ đồ nguyên lý module LM2596 37

Hình 2.24 Mạch sạc 3S 37

Hình 2.25 Kết nối mạch sạc với pin 38

Hình 2.26 Cấu trúc địa chỉ của các thiết bị tớ theo chuẩn One - Wire 39

Hình 2.27 mô tả hoạt động của chuẩn One - Wire 40

Hình 2.28 Cấu trúc trong mỗi giao dịch ( Transaction) 41

Hình 2.29 Điều kiện bắt đầu 42

Hình 2.30 Điều kiện kết thúc 43

Hình 2.31 Cách thức hoạt động 44

Hình 2.32 Cách thức hoạt động 45

Hình 2.33 Cách thức hoạt động 45

Hình 2.34 Cách thức hoạt đông 46

Hình 2.35 Cách thức hoạt động 46

Hình 3.1 Sơ đồ khối hệ thống 47

Trang 11

Hình 3 2 Sơ đồ nguyên lý mạch nguồn 49

Hình 3.3 Sơ đồ thiết kế SIM800L với Arduino 51

Hình 3.4 Sơ đồ thiết kế DHT11 với Arduino 52

Hình 3.5 Sơ đồ thiết kế BH1750 với Arduino 53

Hình 3.6 Sơ đồ thiết kế encoder với Arduino 54

Hình 3.7 Sơ đồ thiết kế khối hiển thị 55

Hình 3.8 Sơ đồ nguyên lý toàn mạch 56

Hình 4.1 Mạch in của mạch điện 58

Hình 4.2 Mạch PCB 3D lớp dưới 59

Hình 4.3 Mạch PCB 3D lớp trên 59

Hình 4.4 Board mạch lớp dưới 62

Hình 4.5 Board mạch lớp trên 62

Hình 4.6 Mặt hình nhìn từ trên xuống 64

Hình 4.7 Mặt hình nhìn từ mặt bên 64

Hình 4.8 Lưu đồ chương trình chính 66

Hình 4.9 Lưu đồ chương trình con kiểm tra tin nhắn 67

Hình 4.10 Lưu đồ chương trình con tính vận tốc 68

Hình 4.11 Lưu đồ chương trình con hiển thị LCD 69

Hình 4.12 Phần mềm lập trình Arduino IDE 70

Hình 4.13 Cách download phần mềm 71

Hình 4.14 Giao diện phần mềm 71

Hình 4.15 Vùng lệnh của phần mềm 72

Hình 5.1 Sản phẩm thi công 74

Hình 5.2 Gửi tin nhắn Gui để xem giá trị cảm biến 75

Hình 5.3 Dữ liệu của cảm biến thu được 76

Hình 5.4 Che cảm biến sáng và gió 77

Hình 5.5 Thực nghiệm hệ thống 78

Trang 12

LIỆT KÊ BẢNG

Bảng Trang

Bảng 2.1 Tập lệnh AT điều khiển cuộc gọi 5

Bảng 2.2 Tập lệnh AT điều khiển tin nhắn 5

Bảng 2.3 Điều kiện vận hành của BH1750 17

Bảng 2.4 Điều kiện vận hành 18

Bảng 2.5 Kiến trúc tập lệnh 20

Bảng 2.6 Giải thích chế độ đo lường 21

Bảng 2.7 Chức năng chân của LCD 22

Bảng 2.8 Chức năng chân RS và R/W 24

Bảng 2.9 Tập lệnh của LCD 25

Bảng 4.1 Liệt kê linh kiện 60

Bảng 5.1 Số liệu thực nghiệm 78

Trang 13

TÓM TẮT

Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà trong đó đặc biệt là kỹ thuật điều khiển tự động đóng vai trò quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông tin Do

đó, là một sinh viên chuyên ngành Công Nghệ Kỹ Thuật Điện Tử - Truyền Thông chúng

ta phải biết nắm bắt xu hướng và vận dụng những kiến thức đã được học để phát triển nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử, truyền thông nói riêng Bên cạnh đó còn là

sự thúc đẩy sự phát triển của nền kinh tế nước nhà

Ngày nay công nghệ trở nên hiện đại, xu hướng mọi thứ điều sẽ được kết nối và điều khiển giám sát thông qua mạng không dây Với ý tưởng giải quyết những bất cập của giám

sát từ xa, nhóm chúng em xin đưa ra đề tài: “THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM, CƯỜNG ĐỘ GIÓ, CƯỜNG ĐỘ SÁNG QUA SMS DÙNG NGUỒN PIN VÀ SẠC BẰNG NĂNG LƯỢNG MẶT TRỜI” Hệ thống có khả

năng nhận lệnh từ điện thoại phát ra tín hiệu

Với đề tài này, nhóm hy vọng sẽ làm cơ sở nghiên cứu cho các nhóm sau có thể mở rộng, phát triển nữa Nếu được điều chỉnh tốt, ý tưởng này kết hợp với ngôi nhà thông minh, lĩnh vực thời tiết, chăn nuôi hay trồng trọt sẽ trở thành một hệ thống lớn đáp ứng nhu cầu giám sát nâng cao đời sống tiện ích cho con người

Trang 14

Chương 1 TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

Cuộc sống ngày càng phát triển nhanh chóng và hiện đại hơn, những công nghệ mới ngày càng được phát minh và phát triển để đưa vào phục vụ cuộc sống hằng ngày của con người Những ứng dụng của IoTs được sử dụng ngày càng rộng rãi và trong rất nhiều lĩnh vực: nông nghiệp, y tế, giáo dục, nhằm mang lại sự tiện nghi, an toàn hơn cho người sử dụng Trong đó không thể không kể đến những dự án, nghiên cứu về lĩnh vực điều khiển

và giám sát thông minh với sự tiên tiến vượt trội

Điều khiển và giám sát thông minh, là tích hợp các hệ thống như hệ thống điều khiển

và giám sát nhiệt độ, độ ẩm, ánh sáng, cường độ gió, … thành một hệ thống nhất Mỗi chức năng của điều khiển và giám sát thông minh đều có khả năng tự vận hành hoặc dưới sự điều khiển của người dùng, thông qua tin nhắn cung cấp nhiều chế độ sử dụng Người dùng

có thể truy cập từ xa để kiểm tra báo và tắt hệ thống khi cần thiết, tự động gửi theo thời gian cài đặt sẵn

Vì thế hiện nay điều khiển và giám sát thông minh là một trong những đề tài công nghệ ứng dụng được áp dụng trong rất nhiều dự án Không chỉ hạn chế với những tính năng nêu trên, ngày càng có nhiều nghiên cứu đề xuất phát triển hệ thống điều khiển và giám sát để bám kịp theo sự phát triển của công nghệ, tối ưu hóa hiệu năng sử dụng cũng như giá cả hợp lý

Việc cung cấp các thông số qua SMS cho phép người dùng dễ dàng kiểm soát được cũng như nhận biết được những cảnh báo một cách kịp thời nhất Do đó, chúng em quyết

định thực hiện đề tài: “THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT NHIỆT

ĐỘ, ĐỘ ẨM, CƯỜNG ĐỘ GIÓ, CƯỜNG ĐỘ SÁNG QUA SMS DÙNG NGUỒN PIN

VÀ SẠC BẰNG NĂNG LƯỢNG MẶT TRỜI” Đề tài ứng dụng công nghệ SMS phổ

biến trên nhiều thiết bị để điều khiển và giám sát Với đề tài sử dụng thiết bị như vậy sẽ hạ

Trang 15

những kỹ thuật và công nghệ mới để làm đơn giản hóa việc giám sát, có thể giám sát dù ở bất cứ nơi đâu Thiết bị được tích hợp module sim 800L, encoder, nhiệt độ và độ ẩm DHT11, cường độ sáng BH1750 Thiết bị được giám sát trực tiếp qua màn hình LCD hoặc giám sát từ xa qua qua điện thoại nhờ tin nhắn SMS

1.3 NỘI DUNG NGHIÊN CỨU

 Nội dung 1: Tìm hiểu về module sim 800L, encoder, nhiệt độ và độ ẩm DHT11, cường độ sáng BH1750

 Nội dung 2: Tìm hiểu về pin năng lượng mặt trời và cách nạp cho pin từ pin năng lượng mặt trời

 Nội dung 3: Thiết kế và tính toán thiết kế mạch phần cứng

 Nội dung 4: Thi công phần cứng, thử nghiệm và hiệu chỉnh phần cứng

 Nội dung 5: Đánh giá kết quả thực hiện của mô hình

 Nội dung 6: Viết báo cáo thực hiện

 Nội dung 7: Bảo vệ luận văn

1.4 GIỚI HẠN

 Hệ thống trung tâm: sử dụng board Arduino Mega 2560

 Hệ thống cảm biến: gồm có cảm biến nhiệt độ và độ ẩm, cường độ sáng, cường độ gió

 Nguồn năng lượng: pin năng lượng mặt trời và pin

 Dùng tin nhắn SMS để giám sát gián tiếp hoặc trực tiếp qua màn hình LCD

Trang 16

1.5 BỐ CỤC ĐỒ ÁN

 Chương 1: Tổng Quan

Chương này trình bày tổng quan, lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn và bố cục đồ án

 Chương 2: Cơ Sở Lý Thuyết

Giới thiệu các linh kiện, thiết bị sử dụng thiết kế hệ thống

 Chương 3: Tính Toán Và Thiết Kế Hệ Thống

Tính toán thiết kế, đưa ra sơ đồ nguyên lí của hệ thống

 Chương 4: Thiết Kế Hệ Thống

Thiết kế hệ thống, lưu đồ, đưa ra giải thuật và chương trình

 Chương 5: Kết Quả, Nhận Xét, Đánh Giá

Đưa ra kết quả đạt được sau một thời gian nghiên cứu, một số hình ảnh của hệ thống, đưa ra những nhận xét, đánh giá toàn bộ hệ thống

 Chương 6: Kết Luận và Hướng Phát Triển

Trình bày những kết luận về hệ thống những phần làm rồi và chưa làm, đồng thời nếu

ra hướng phát triển cho hệ thống

Trang 17

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 GIỚI THIỆU PHẦN CỨNG

2.1.1 Tổng quan về module SIM800L

 Giới thiệu sơ lược về module SIM800L

Module SIM800L có khả năng nhắn tin SMS, nghe, gọi, GPRS, … như một điện thoại nhưng có kích thước nhỏ nhất trong các loại module SIM (25 mm x 22 mm) Điều khiển module sử dụng bộ tập lệnh AT dễ dàng, chân kết nối dùng rào đực thông dụng (male

hearder) chuẩn 100 mil

Hình 2.1 Sơ đồ chân module SIM800L

 Chức năng các chân của module SIM800L

Trang 18

- Chân NET: lắp anten, có thể dùng anten đi kèm hoặc anten mở rộng

- Chân VCC: chân nguồn dương 4.2V

- Chân GND: chân nguồn âm 0V

- Chân RST: chân reset sử dụng khi khởi động lại module sim

- Chân TXD: chân truyền UART TX

- Chân RXD: chân nhận UART RX

- Chân DTR: chân UART DTR

- Chân RING: báo có cuộc gọi đến

- Chân SPKP, SPKN: ngõ ra âm thanh, kết nối với loa để phát âm thanh

- Chân MICP, MICN: ngõ vào âm thanh, gắn thêm mirco để thu âm thanh

 Tập lệnh AT điều khiển cuộc gọi

Bảng 2.1 Tập lệnh AT điều khiển cuộc gọi

AT+CLIP=1<CR><LF> Hiển thị thông tin cuộc gọi đến

ATD[số_điện_thoại];<CR><LF> Lệnh thực hiện cuộc gọi

ATH<CR><LF> Lệnh thực hiện kết thúc cuộc gọi hoặc cúp

máy khi có cuộc gọi đến

ATA<CR><LF> Lệnh thực hiện chấp nhận khi có cuộc gọi

đến

 Tập lệnh AT điểu khiển tin nhắn

Bảng 2.2 Tập lệnh AT điều khiển tin nhắn

Trang 19

AT+CMGF=1<CR><LF> Lệnh đưa SMS về chế độ Text,

phải có lệnh này mới gửi tin nhắn

dạng Text

AT+CMGS=“Số_Điện_Thoại”<CR><LF> Đợi đến khi có kí tự ‘>’ được gửi

về thì đánh nội dung tin nhắn

Lệnh gửi tin nhắn

AT+CMGR=x<CR><LF> x là địa chỉ tin nhắn cần đọc

Đọc một tin nhắn vừa gửi đến, lệnh được trả về nội dung tin nhắn, thông tin người gửi, thời gian gửi AT+CMGDA=“DEL ALL”<CR><LF> Xóa toàn bộ tin nhắn trong các hộp

thư

AT+CNMI=2,2<CR><LF> Hiển thị nội dung tin nhắn ngay khi

có tin nhắn đến

 Sau mỗi tập lệnh AT thường thấy <CR><LF> thực chất nó là hai mã điều khiển

<CR>tương ứng 0x0D (hexa), <LF> tương ứng 0x0A (hexa)

2.1.2 Tổng quan về module Arduino Mega 2560

 Giới thiệu sơ lược về module Arduino Mega 2560

Arduino Mega 2560 là sản phẩm tiêu biểu cho dòng mạch Mega là dòng bo mạch có nhiều cải tiến so với Arduino Uno (54 chân digital I/O và 16 chân anolog I/O) Đặc biệt bộ nhớ Flash của Mega được tăng lên 1 cách đáng kể, gấp 4 lần so với những phiển bản cũ của Uno R3 Điều này cùng với việc trang bị 3 timer và 6 cổng interrupt khiến cho bo mạch Mega hoàn toàn có thể giải quyết được nhiều bài toán hóc búa, cần điều khiển nhiều loại động cơ và xử lý song song nhiều luồng dữ liệu số cũng như tương tự

Trang 20

Ngoài việc phát triển được ưu tiên, việc kế thừa cũng được đặc biệt lưu ý Trên mạch Mega các chân digital vẫn từ 0-13, analog từ 0-5 và các chân nguồn tương tự thiết kế của Uno Do vậy chúng ta dễ dàng phát triển nghiên cứu theo kiểu gắp ghép module từ Arduino Uno bê sang Arduino Mega Ngoài ra, ở phiên bản này, các nhà thiết kế đã mạnh dạn thay đổi thiết kế Để có được nhiều vùng nhớ và nhiều chân I/O hơn, một con chip khác đã thay thế cho Atmega1280 Theo dòng phát triển của vi điều khiển nhúng, những dự án lớn cần nhiều dung lượng Flash hơn Do vậy, Arduino Mega ra đời với sứ mệnh giải những bài toán như thế

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

- Dòng ra tối đa trên mỗi chân I/O: 20 mA

- Số chân digital: 54 (15 PWM)

- Số chân analog: 16

Trang 21

- Giao tiếp SPI: 1 bộ (chân 50 đến 53) dùng với thư viện SPI

- Giao tiếp I2C: 1 bộ

- Chân LED được tích hợp sẵn: chân 13

 Nguồn cấp cho Arduino

Arduino Mega 2560 có thể được cấp nguồn bằng cổng USB hoặc nguồn ngoài và việc chọn nguồn cấp diễn ra hoàn toàn tự động Tức là ta có thể cấp cả 2 nguồn vào cùng lúc, nếu nguồn ngoài không có hoặc quá bé thì nguồn Arduino sẽ lấy nguồn từ cổng USB và ngược lại

Nguồn ngoài có thể lấy từ adapter AC-DC thông qua jack cắm 3.5mm hoặc từ pin bằng cách nối cực dương của pin vào chân Vin và cực âm vào chân GND Dù cho ta dùng nguồn nào thì điện áp cấp phải nằm trong khoảng 7 đến 12V theo khuyến cáo nhà sản xuất Nếu

ta cấp nguồn dưới 7V thì chân 5V sẽ không cho ra đủ điện áp 5V, mạch sẽ thiếu ổn định Còn nếu cấp nguồn lớn hơn 12V vào thì IC ổn áp có thể nóng lên, làm hỏng cả board mạch

Chân cấp nguồn gồm những chân sau:

- GND (Ground): cực âm của nguồn điện cấp cho Arduino Khi ta 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ày phả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, ta 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

Trang 22

- IOREF: điện áp hoạt động của vi điều khiển được đo ở chân này Mặc dù vậy ta 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 mà chỉ là tham chiếu điện áp hoạt động của vi xử lý

 Các ngõ vào/ra (I/O pins) của Arduino Mega 2560

Arduino Mega 2560 có tổng cộng 54 chân digital, mỗi chân đều có thể là ngõ vào hoặc ngõ ra tùy theo ta lập trình Chúng chỉ cho ra 2 mức điện áp là 0V hoặc 5V với dòng vào ra là 20 mA ở điều kiện hoạt động được khuyến khích theo nhà sản xuất, tối

đa là 40mA Nếu vượt qua ngưỡng 40mA này thì board mạch sẽ hư hỏng Ngoài ra trên mỗi chân digital còn có một điện trở nội kéo lên với giá trị từ 20-50 kΩ, mặc định điện trở này sẽ không được kết nối với chân digital

Trang 23

Hình 2.3 Sơ đồ chân Arduino Mega 2560

 USB Jack (Type B): kết nối để truyền dữ liệu, debug cho chương trình giữa Arduino với máy tính Ngoài ra cũng cấp nguồn cho Arduino hoạt động thông qua cổng này

 Reset Button: nút nhấn đưa board mạch về chế đệ hoạt động ban đầu

 Jack Power: cấp nguồn cho Arduino hoạt động

 Một số chức năng chuyên biệt của các chân

Trang 24

- Serial: 0 (RX) và 1 (TX); Serial 1: 19 (RX) và 18 (TX); Serial 2: 17 (RX) và 16 (TX); Serial 3: 15(RX) và 14(TX) Được sử dụng để nhận dữ liệu nối tiếp TTL (RX)

- PWM: gồm 15 chân là các chân 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 44, 45, 46 cho

phép ta xuất ra xung PWM với độ phân giải 8 bit

- SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) 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

- I2C: 20 (SDA), 21 (SCL) Hỗ trợ giao tiếp I2C bằng thư viện Wire

- LED: một Led tích hợp trên board mạch đã được kết nối sẵn vào chân 13 Khi điện

áp trên chân này ở mức cao thì Led sẽ sáng và ngược lại Led sẽ tắt

- AREF: đây là chân mà ta đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu cấp điện áp 2.5V vào chân này thì ta có thể dùng các chân analog để đo

điện áp trong khoảng từ 0V đến 2.5V với độ phân giải là 10 bit

Arduino Mega 2560 còn có 16 chân ngõ vào analog cung cấp độ phân giải tín hiệu 10 bit để đọc giá trị điện áp trong khoảng 0V đến 5V

 Bộ nhớ

Arduino Mega 2560 được trang bị chip Atmega2560 đã tích hợp sẵn 256 KB dung lượng bộ nhớ Flash, 8 KB bộ nhớ SRAM và 4 KB bộ nhớ EEPROM Trong 256 KB bộ nhớ Flash thì 8 KB dành cho bootloader, tức là ta chỉ có 248 KB để dành cho việc lưu chương trình Bộ nhớ SRAM có đặc điểm là mất dữ liệu khi mất điện nên dùng để lưu các giá trị biến trong chương trình, còn bộ nhớ EEPROM thì không mất dữ liệu khi mất điện nên là ta sẽ lưu các biến dữ liệu quan trọng vào bộ nhớ này để khi xảy ra sự cố về điện thì mạch sẽ vẫn chạy đúng

Trang 25

 Lập trình cho Arduino:

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn ngữ riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung Và Wiring lại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự

án này đã cung cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE (Intergrated Development Environment)

2.1.3 Tổng quan về module cảm biến nhiệt độ và độ ẩm DHT11

 Giới thiệu sơ lược về module

Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ

và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác

mà không phải qua bất kỳ tính toán nào

 Thông số kỹ thuật

- Điện áp hoạt động: 3.3V đến 5V (DC)

- Dải nhiệt độ đo: 0°C ~ 50°C, sai số ± 2°C

- Dải độ ẩm đo: 20% - 90% RH, sai số ± 5% RH

- Tần số lấy mẫu: 1Hz, nghĩa là 1 giây DHT11 lấy mẫu một lần

- Chuẩn giao tiếp: TTL, 1 – Wire

- Dòng tối đa: 2.5mA

- Kích thước: 28 x 12 x 10 mm

Trang 26

Hình 2.4 Sơ đồ chân module DHT11

 Chức năng các chân của DHT 11

- Chân VCC: cực dương

- Chân GND: cực âm

- Chân DATA: chân tín hiệu

 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:

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

- Khi đã giao tiếp 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

Trang 27

Hình 2.5 Cách thức hoạt động

 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 Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và

độ ẩm

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

 Sau khoảng thời gian là 20 - 40 µs, DHT11 sẽ kéo chân DATA xuống thấp Nếu > 40 µs mà chân DATA không được kéo xuống thấp nghĩa là không giao tiếp được với DHT11

 Chân DATA sẽ ở mức thấp 80 µs sau đó nó được DHT11 kéo lên cao trong

80 µs 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 không 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 DHT11

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

- 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 độ (°C)

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

 Byte 5: kiểm tra tổng

Trang 28

 Nếu Byte 5 = (Byte 1 + Byte 2 + Byte 3 + Byte 4) 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

 Ví dụ như ta nhận được 40 bit (5 Byte) dữ liệu như sau:

0011 0101 0000 0000 0001 1000 0000 0000 0100 1101

Tính toán:

8 Bit Checksum (Byte 5) = 0011 0101 + 0000 0000 + 0001 1000 +

0000 0000 = 0100 1101

Độ ẩm: 0011 0101 = 35H = 53% RH (ở đây phần thập phân có giá trị

0000 0000, nên ta bỏ qua không tính phần thập phân)

Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây phần thập phân có giá trị

0000 0000, nên ta bỏ qua không tính phần thập phân)

- Đọc dữ liệu: Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40

bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của nhiệt độ và

độ ẩm

 Bit 0:

Trang 29

đó delay 50 µs Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì ta đọc được là bit 1 Cứ như thế ta đọc các Bit tiếp theo

Trang 30

Hình 2.8 Cách truyền bit

2.1.4 Tổng quan về module cường độ sáng BH1750

 Giới thiệu sơ lược về module

Cảm biến cường độ sáng là một loại cảm biến thuộc về cảm biến quang, hoạt động cảm nhận ánh sánh dựa vào thiết bị cảm biến

Cảm biến cường độ sáng BH1750 được sử dụng để đo cường độ sáng theo đơn vị lux giao tiếp theo chuẩn I2C Cảm biến có ADC nội và bộ tiền xử lý nên giá trị được trả ra là

giá trị trực tiếp cường độ sáng lux mà không phải qua bất kỳ xử lý hay tính toán nào

 Thông số kỹ thuật

- Dải đo: 1 – 65535 (Lux)

- Nguồn cung cấp: 3 VDC – 5 VDC

- Độ phân giải ADC: 16 bit

- Sự ảnh hưởng của tia hồng ngoại rất nhỏ

- Đầu ra: I2C

Bảng 2.3 Điều kiện vận hành của BH1750

Trang 32

Hình 2.11 Hình ảnh thực tế module BH1750

 Chức năng các chân của module

- Chân VCC: chân cực dương

- Chân GND: chân cực âm

- Chân SCL và SDA: chân giao tiếp I2C

 Cách thức hoạt động

Hình 2.12 Sơ đồ khối module BH1750

Trang 33

 PD: hình ảnh diode với phản ứng mắt xấp xỉ con người

 AMP: kết hợp OPAMP để chuyển đổi từ dòng PD sang điện áp

 ADC: chuyển đổi AD cho tiếp nhận dữ liệu kỹ thuật 16 bit

 Logic + giao diện I2C: Tính toán ánh sáng môi trường xung quanh và giao diện BUS I2C

 OSC: Máy dao động nội bộ (loại 320kHz) Nó là CLK cho logic nội bộ

cao liên tục

0001_0000 Bắt đầu đo ở độ phân giải 1lux

Thời gian đo thường là 120ms Giải quyết chế độ

cao liên tục 2

0001_0001 Bắt đầu đo ở độ phân giải 0.5lux

Thời gian đo thường là 120ms Giải quyết chế độ

thấp liên tục

0001_0011 Bắt đầu đo ở độ phân giải 4lux

Thời gian đo thường là 16ms Giải quyết chế độ ở

1 mức thời gian cao

0010_0000 Bắt đầu đo ở chế độ phân giải 1lux

Thời gian đo thường là 120ms

0010_0001 Bắt đầu đo ở chế độ phân giải 0.5lux

Thời gian đo thường là 120ms

Trang 34

0010_0011 Bắt đầu đo ở chế độ 4lux

Thời gian đo thường là 16ms

Nó tự động cài đặt chế độ tắt nguồn

sau khi đo

Thay đổi thời gian

đo (Bit cao)

01000_MT[7,6,5] Thay đổi thời gian đo

Hãy tham khảo "điều chỉnh kết quả

đo lường cho ảnh hưởng của cửa sổ

quang học."

Thay đổi thời gian

đo (Bit thấp)

011_MT[4,3,2,1,0] Thay đổi thời gian đo

Hãy tham khảo "điều chỉnh kết quả

đo lường cho ảnh hưởng của cửa sổ

quang học."

Bảng 2.6 Giải thích chế độ đo lường

 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: 100 – 1000 Lux

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

2.1.5 Tổng quan về màn hình LCD 20x4

 Giới thiệu sơ lược về LCD

Trang 35

Là kiểu màn hình tinh thể lỏng nhỏ dùng để hiển thị chữ hoặc số trong bảng mã ASCII Màn hình sử dụng là màn hình text LCD 20x4 xanh dương, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, dễ sử dụng thích hợp cho những người mới học và làm dự án

Bảng 2.7 Chức năng chân của LCD

3 V0 Điều chỉnh độ tương phản

Trang 36

4 RS Chọn thanh ghi:

RS=0: chọn thanh ghi lệnh RS=1: chọn thanh ghi dữ liệu

5 R/W Chọn thanh ghi đọc viết dữ liệu:

R/W=0: thanh ghi viết R/W=1: thanh ghi đọ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 LCD chuyển vào thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition)

Ở 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 Chân truyền dữ liệu Có 2 chế độ sử dụng 8 đường bus

Chip HD44780 có 2 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 dùng phải ra lệnh thông qua 8 đường bus DB0-DB7 Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng Người

Trang 37

dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR Nghĩa

là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chip HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó

- Thanh ghi DR: thanh ghi DR dung để chứa dữ liệu 8 bit để ghi vào vùng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu từ

2 vùng RAM này gởi ra MPU (ở chế độ đọc) Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên trong chíp 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ùng RAM nội của HD44780 sẽ được chuyển ra DR

để truyền cho MPU

 Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữa

2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp

Bảng 2.8 Chức năng chân RS và R/W

0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD

0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6

1 0 Ghi vào thanh ghi DR

1 1 Đọc dữ liệu từ DR

 Cờ báo bận (Busy Flag)

Khi thực hiện các hoạt động bên trong chip, mạch nội bên trong cần 1 khoảng thời gian

để hoàn tất Khi đang thực thi các hoạt động bên trong chip như thế, LCD bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF lên để báo cho MPU biết nó đang bận Dĩ nhiên, khi xong việc, nó sẽ đặt cờ BF lại mức 0

Trang 38

cả ô nhớ trong DDRAM, sau đó trả bộ đếm địa AC=0, trả lại kiểu hiện thị gốc nếu nó bị thay đổi Nghĩa là: tắt hiển thị, con trỏ dời về góc trái (hàng đầu tiên), chế độ tăng AC

Return

home

Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 0 0 0 0 1 * Lệnh Return home trả bộ đếm địa chỉ AC về 0, trả lại kiểu hiển thị gốc nếu nó bị thay đổi Nội dung của DDRAM không thay đổi

Trang 39

Entry

mode set

Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 0 0 0 1 [I/D] [S]

I/D: Tăng (I/D=1) hoặc giảm (I/D=0) bộ đếm địa chỉ hiển thị AC 1 đơn

vị mỗi khi có hành động ghi hoặc đọc vùng DDRAM Vị trí con trỏ cũng

di chuyển theo sự tăng giảm này

S: Khi S=1 toàn bộ nội dung hiển thị bị dịch sang phải (I/D=0) hoặc

sang trái (I/D=1) mỗi khi có hành động ghi vùng DDRAM Khi S=0: không dịch nội dung hiển thị Nội dung hiển thị không dịch khi đọc DDRAM hoặc đọc/ghi vùng CGRAM

Display

on/off

control

Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 0 0 1 [D] [C] [B]

D: Hiển thị màn hinh khi D=1 và ngược lại Khi tắt hiển thị, nội dung

DDRAM không thay đổi

C: Hiển thị con trỏ khi C=1 và ngược lại

B: Nhấp nháy kí tự tại vị trí con trỏ khi B=1 và ngược lại

Cursor or

display

shift

Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 0 1 [S/C] [R/L] * * Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang trái mà không cần hành động ghi/đọc dữ liệu Chi tiết sử dụng xem bảng dưới đây:

0 0 Dịch vị trí con trỏ sang trái

0 1 Dịch vị trí con trỏ sang phải

1 0 Dịch toàn bộ nội dung hiển thị sang trái, con trỏ

DL: Khi DL=1, LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit

DB7 đến DB0) Ngược lại, giao thức giao tiếp là 4 bit (từ bit DB7 đến

Trang 40

bit DB0) Khi chọn giao thức 4 bit, dữ liệu được truyền/nhận 2 lần liên tiếp, với 4 bit cao gởi/nhận trước, 4 bit thấp gởi/nhận sau

Set

DDRAM

address

Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 1 [AD][AD][AD][AD][AD][AD][AD]

Lệnh này ghi vào AC địa chỉ của DDRAM, dùng khi cần thiết lập tọa

độ hiển thị mong muốn Ngay sau lệnh này là lệnh đọc/ghi dữ liệu từ DDRAM tại địa chỉ đã được chỉ định

Read BF

and

address

Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = [BF][AC][AC][AC] [AC][AC][AC][AC]

Khi cờ BF bật, LCD đang làm việc và lệnh tiếp theo (nếu có) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho nên, khi lập trình điều khiển, bạn phải kiểm tra cờ BF trước khi ghi dữ liệu vào LCD

Khi đọc cờ BF, giá trị AC cũng được xuất ra các bit [AC] Nó là địa chỉ của CGRAM hay DDRAM là tùy thuộc vào lệnh trước đó

Khi thiết lập RS=1, R/W=0, dữ liệu cần ghi được đưa vào các chân DBx từ mạch ngoài sẽ được LCD chuyển vào trong LCD tại địa chỉ được xác định từ lệnh ghi địa chỉ trước đó

Sau khi ghi, bộ đếm địa chỉ AC tự động tăng/giảm 1 tùy theo thiết lập entry mode

Khi thiết lập RS=1, R/W=1, dữ liệu từ CGRAM/DDRAM được chuyển

ra MPU thông qua các chân DBx

Ngày đăng: 11/03/2019, 16:45

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