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

Thiết kế hệ thống đóng/mở cửa thông minh

117 4 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 117
Dung lượng 6,04 MB

Nội dung

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

SVTH: ĐỒ ÁN TỐT NGHIỆPCNKT ĐIỆN TỬ - VIỄN THÔNG

THIẾT KẾ HỆ THỐNG ĐÓNG/MỞ CỬA THÔNG MINH

GVHD: GVC.ThS THÁI HOÀNG LINH LÝ THẮNG HUY

VÕ TRÍ LONG

S K L 0 0 9 2 7 8

Trang 2

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

Trang 3

TP.HCM, ngày 25 tháng 7 năm 2022

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

Họ và tên sinh viên 1: Lý Thắng Huy MSSV: 18161079 Họ và tên sinh viên 2: Võ Trí Long MSSV: 18161102 Ngành: Công nghệ kỹ thuật Điện tử Viễn Thông Lớp: 18161CLDT1B

Giảng viên hướng dẫn: GVC.ThS Thái Hoàng Linh ĐT: 0918242212

1 Tên đề tài: Thiết kế hệ thống đóng/mở cửa thông minh

2 Các số liệu, tài liệu ban đầu: Giáo trình điện tử: Arduino; Bài báo cáo môn học RFID Nguồn tài liệu: ĐAMH, ĐATN

3 Nội dung thực hiện đề tài: Thiết kế và xây dựng hệ thống đóng/mở cửa thông minh Tìm hiểu thông số, công dụng, tính năng của các module kết hợp cùng Arduino 4 Sản phẩm: Mô hình hệ thống đóng/mở cửa thông minh là hệ thống bảo mật nhà

cửa, khối xử lý trung tâm sẽ thu thập tín hiệu và điều khiển các module

GIẢNG VIÊN HƯỚNG DẪN

Trang 4

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên Sinh viên 1: Lý Thắng Huy MSSV: 18161079 Họ và tên Sinh viên 2: Võ Trí Long MSSV: 18161102 Ngành: Công nghệ kỹ thuật Điện tử - Viễn Thông

Tên đề tài: Thiết kế hệ thống đóng/mở cửa thông minh Họ và tên Giáo viên hướng dẫn: ThS Thái Hoàng Linh

Trang 5

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên Sinh viên 1: Lý Thắng Huy MSSV: 18161079 Họ và tên Sinh viên 2: Võ Trí Long MSSV: 18161102 Ngành: Công nghệ kỹ thuật Điện tử - Viễn Thông

Tên đề tài: Thiết kế hệ thống đóng/mở cửa thông minh Họ và tên Giáo viên hướng dẫn: ThS Thái Hoàng Linh

Trang 6

Để có thể hoàn thành đề tài này, chúng em xin gửi lời cảm ơn chân thành đến các Thầy/Cô trong khoa Đào tạo Chất lượng cao, trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, những người đã truyền đạt cho chúng em những kiến thức quý báu, chỉ dẫn và định hướng cho nhóm trong quá trình học tập Đây là những tiền đề để nhóm có thể hoàn thành được đề tài cũng như trong sự nghiệp sau này

Đặc biệt, chúng em xin chân thành cảm ơn Thầy Thái Hoàng Linh đã tận tình

hướng dẫn và tạo điều kiện thuận lợi cho chúng em trong suốt thời gian thực hiện đồ án tốt nghiệp Chúng em xin được phép gửi đến thầy lòng biết ơn và lời cảm ơn chân thành và sâu sắc nhất Kiến thức, kinh nghiệm và cái tâm nghề nghiệp của thầy đã không những đã giúp đỡ chúng em hoàn thành tốt đề tài mà còn là tấm gương để nhóm học tập và noi theo trên con đường sau này

Bên cạnh đó, chúng em cũng xin cảm ơn các anh, chị khóa trước cũng như các bạn sinh viên trong lớp 18161CLDT1B đã nhiệt tình đóng góp ý kiến và chia sẽ kinh nghiệm để giúp chúng em hoàn thành đề tài này

Cuối cùng, mặc dù đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra và đảm bảo thời hạn nhưng do kiến thức còn hạn hẹp chắc chắn sẽ không tránh khỏi những thiếu sót, mong Thầy/Cô và các bạn sinh viên thông cảm Chúng em mong nhận được những ý kiến của Thầy/Cô và các bạn sinh viên

Chúng em xin chân thành cảm ơn!

Trang 7

Ngày nay với sự phát triển của xã hội hiện đại ai trong số chúng ta cũng cần bảo những thiết bị bảo vệ tài sản trong nhà như khoá cửa, thiết bị cảnh báo chống trộm hay camera nhưng có lẽ thiết bị được sử dụng nhiều nhất vẫn chính là khoá cửa Hiện nay trên thị trường có rất nhiều loại khoá của nhưng hầu hết là khoá cơ khí, các cơ khi xây gặp vấn đề lớn đó là tính bảo mật của các loại khoá này là không cao, dể dàng bị phá bởi các chìa khóa đa năng Đa số khóa kỹ thuật số đang có bản trên thị trường đều có giá bán khá cao và chu yểu là loại khoá tay nắm ta thưởng thấy trong khách sạn hoặc các sàn hộ chung cư Rất may, với sự phát triển mạnh của ngành khoa học kỹ thuật và giá thành các linh kiện điện tử ở mức tiếp cận người dùng Với sự phát triển mạnh mẽ của khoa học kỹ thuật Đặc biệt trong lĩnh vực tự động hóa đã tạo nên một động lực thức đẩy và phát triển các ngành công nghiệp khác nhằm phục vụ và đáp ứng được nhu cầu của con người trong cuộc sống Con người với sự trợ giúp của máy móc, những công cụ thông minh đã không phải trực tiếp làm việc, hay những công việc mà con người không thể làm được với khả năng của minh mà chỉ việc điều khiển chúng hay chúng làm việc hoàn toàn tự động đã mang lại những lợi ích hết sức to lớn, giảm nhẹ và tối ưu hóa công việc

Với sự tiến bộ này đã đáp ứng được những nhu cầu của con người trong cuộc sống hiện đại nói chung và trong sự phát triển của khoa học kỹ thuật nói riêng Đối với những sinh viên tự động hóa chúng ta thì việc nghiên cứu, tìm hiểu các đặc tính của công nghệ nhận dạng đối tượng bằng sóng vô tuyến RFID và công nghệ quét vân tay quang học có ý nghĩa thực tế hết sức quan trọng Nó không những trang bị cho chúng ta kỹ năng làm việc trong lĩnh vực điều khiển tự động, điện tử mà còn giúp chúng ta theo kịp với sự phát triển của khoa học kĩ thuật ngày nay khi tốt nghiệp ra trường Sau đây em xin tìm hiểu và khảo sát các đặc tính của công nghệ nhận dạng bằng sóng vô tuyến RFID, dấu vân tay và cảnh báo an ninh nhắn tin về điện thoại cũng như thiết kế một ứng dụng thực tế là “Thiết kế hệ thống đóng mở cửa thông minh” Đây là cơ sở để thiết kế những hệ thống tự động hóa đơn giản, cũng như phức tạp được ứng dụng rộng rãi trong khoa học và đời sống

Trang 8

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

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii

1.1.2 Tính cấp thiết của đề tài 2

1.2 MỤC TIÊU NGHIÊN CỨU 3

1.3 ĐỐI TƯỢNG NGHIÊN CỨU 3

2.1.3 Phương thức giao tiếp I2C 10

2.1.4 Phương thức giao tiếp SPI 16

2.1.5 Phương thức UART 17

Trang 9

2.1.7 Phần mềm Proteus 21

2.1.8 Các tập lệnh AT 22

CHƯƠNG 3 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 24

3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG 24

3.1.1 Yêu cầu của hệ thống 24

3.2.7 Khối giao tiếp Module Sim: 32

3.2.8 Khối xử lý trung tâm: (Arduino MEGA): 34

3.2.9 Khối nguồn: 35

3.3 SƠ ĐỒ HỆ THỐNG 37

CHƯƠNG 4: KẾT QUẢ VÀ THỰC HIỆN 38

4.1 KẾT QUẢ PHẦN MỀM 38

4.1.1 Lưu đồ khi sử dụng RFID 38

4.1.2 Lưu đồ khi sử dụng cảm biến vân tay (Module AS608) 40

4.1.3 Lưu đồ khi sử dụng bàn phím (Keypad) 42

Trang 10

4.2 KẾT QUẢ PHẦN CỨNG 44

4.3 PHẦN MỀM LẬP TRÌNH CHO VI ĐIỀU KHIỂN 57

4.3.1 Kết nối cảm biến vân tay với Arduino 62

4.3.2 Kết nối module RFID với Arduino 67

CHƯƠNG 5 KẾT LUẬN, HẠN CHẾ VÀ PHƯƠNG HƯỚNG PHÁT

Trang 11

Hình 2 1 Module RFID RC522 6

Hình 2 2 Module Arduino MEGA 7

Hình 2 3 Kết nối chuẩn I2C 11

Hình 2 4 Khung truyền I2C 12

Hình 2 5 Hình minh họa điều kiện khởi động của phương thức I2C 12

Hình 2 6 Hình minh họa điều kiện kết thúc của phương thức I2C 13

Hình 2 7 Hình minh họa Master gửi địa chỉ cho Slave 13

Hình 2 8 Hình minh họa Slave gửi về ACK 14

Hình 2 9 Hình minh họa truyền dữ liệu giữa thiết bị Master và Slave 14

Hình 2 10 Hình minh họa bit ACK/NACK của thiết bị Slave 15

Hình 2 11 Hình minh họa thiết bị Master gửi tín hiệu kết thúc 15

Hình 2 12 Hình thể hiện toàn bộ các bit dữ liệu được gửi trên đường SDA 16

Hình 2 13 Module LCD I2C 1602 17

Hình 2 14 Giao tiếp UART 17

Hình 2 15 Khung truyền UART 18

Hình 2 16 Biểu tượng (icon) phần mềm Arduino IDE 20

Hình 2 17 Giao diện phần mềm Arduino IDE 21

Hình 2 18 Biểu tượng (icon) của phần mềm Proteus 21

Hình 3 1 Sơ đồ khối hệ thống 24

Hình 3 2 Sơ đồ nguyên lý của khối RFID 26

Hình 3 3 Sơ đồ nguyên lý của LCD 27

Hình 3 4 Sơ đồ nguyên lý kết nối của cảm biến vân tay AS608 29

Hình 3 5 Sơ đồ nguyên lý của bàn phím 30

Hình 3 6 Sơ đồ nguyên lý của Buzzer 31

Hình 3 7 Sơ đồ nguyên lý của động cơ Servo 32

Hình 3 8 Sơ đồ nguyên lý của Module Sim 33

Trang 12

Hình 3 10 Sơ đồ nguyên lí khối nguồn 36

Hình 3 11 Sơ đồ nguyên lí toàn mạch 37

Hình 4 1 Lưu đồ khi tác động vào RFID 38

Hình 4 2 Lưu đồ khi tác động vào cảm biến vân tay 40

Hình 4 3 Lưu đồ khi sử dụng bàn phím 42

Hình 4 4 Lưu đồ chương trình chính 43

Hình 4 5 Hình ảnh thực tế của mạch 45

Hình 4 6 Trạng thái chờ của mạch 46

Hình 4 7 LCD hiển thị mở khóa bằng RFID 47

Hình 4 8 LCD hiển thị mở khóa bằng Password 48

Hình 4 9 LCD hiển thị mở khóa bằng vân tay 49

Hình 4 10 LCD hiển thị khi quẹt sai thẻ 50

Hình 4 11 LCD hiện thị nhập sai Password 51

Hình 4 12 LCD hiển thị quét sai vân tay 52

Hình 4 13 Tin nhắn cảnh báo 53

Hình 4 14 Cuộc gọi cảnh báo thực tế 54

Hình 4 15 Hộp thoại tin cảnh báo 55

Hình 4 16 Cuộc gọi cảnh báo 56

Hình 4 17 Sơ đồ mạch in PCB của hệ thống 57

Hình 4 18 Giao diện file menu Arduino IDE 58

Hình 4 19 Giao diện Examples menu arduino IDE 59

Hình 4 20 Giao diện Sketch Menu Arduino IDE 59

Hình 4 21 Giao diện edit menu arduino IDE 60

Hình 4 22 Giao diện Tool menu 60

Hình 4 23 Board Arduino sử dụng 61

Hình 4 24 Arduino Toolbar 61

Hình 4 25 Kết nối Arduino Uno với cảm biến vân tay 62

Trang 13

Hình 4 27 Serial Monitor enroll 64

Hình 4 28 Nhập ID đăng kí vân tay mới 64

Hình 4 29 Kết quả học vân tay 65

Hình 4 30 Code fingerprint vân tay đăng kí 66

Hình 4 31 Kết quả vân tay đăng kí 67

Hình 4 32 Thử vân tay chưa đăng kí 67

Hình 4 33 Arduino kết nối với Module RC522 68

Hình 4 34 DumpInfo 69

Hình 4 35 Serial Monitor RFID 70

Hình 4 36 ID của từng thẻ đã quét 71

Bảng 2 1 Thông số kĩ thuật Arduino Mega 8

Bảng 3 1 Thông số sử dụng nguồn của các thiết bị 35

Trang 14

RFID Radio Frequency Identification

Công nghệ nhận dạng đối tượng bằng sóng vô tuyến

MCU Microprocessor Control Unit Khối vi điều khiển

GPRS General Packet Radio

Dịch vụ truyền thông cá nhân GSM Global System for Mobile

Communications

Hệ thống Toàn cầu cho Truyền thông Di động

GPS Global Positioning System Hệ thống định vị toàn cầu LCD Liquid Crystal Display Công nghệ màn hình tinh thể lỏng

USB Universal Serial Bus Một chuẩn kết nối có dây

Trang 15

CHƯƠNG 1 TỔNG QUAN

1.1 GIỚI THIỆU TÌNH HÌNH HIỆN NGHIÊN CỨU HIỆN NAY 1.1.1 Đặt vấn đề

Ngày nay, với sự phát triển mạnh mẽ của khoa học kĩ thuật Đặc biệt trong lĩnh vực điện tử viễn thông đã tạo nên một động lực thúc đẩy và phát triển các ngành công nghiệp khác nhằm phục vụ và đáp ứng được nhu cầu của con người trong cuộc sống Con người với sự trợ giúp của máy móc, những công cụ thông minh đã không phải trực tiếp làm việc, hay những công việc mà con người không thể làm được với khả năng của mình mà chỉ việc điều khiển chúng hay chúng làm việc hoàn toàn tự động đã mang lại những lợi ích hết sức to lớn, giảm nhẹ và tối ứu hóa công việc Với sự tiến bộ này đã đáp ứng được những nhu cầu của con người trong cuộc sống hiện đại nói chung và trong sự phát triển hơn nữa của những ứng dụng trong việc nghiên cứu, phát triển của khoa học kĩ thuật nói riêng

Đối với những sinh viên điện tử chúng ta thì việc nghiên cứu, tìm hiểu các đặc tính của công nghệ nhận dạng đối tượng bằng sóng vô tuyến RFID và sinh trắc học có ý nghĩa thực tế hết sức quan trọng Nó không những trang bị cho chúng ta những kiến thức sâu rộng hiện đại mà còn tạo cho chúng ta những kĩ năng làm việc trong lĩnh vực điện tử viễn thông để theo kịp với sự phát triển của khoa học kĩ thuật ngày nay khi tốt nghiệp ra trường

Ngày nay gia đình nào cũng hướng đến một cuộc sống tiện nghi và an toàn Ta có thể thấy việc bảo mật được thúc đẩy và phát triển một cách mạnh mẽ Từ các hệ thống khóa cửa cao siêu của các cơ quan, trụ sở tối cao hay đến những ổ khóa cửa thông thường ở các hộ gia đình bình thường Với việc khoa học kỹ thuật phát triển không ngừng, giá thành các linh kiện điện tử dễ dàng đến với người dùng, nên các hệ thống bảo mật càng ngày càng được nâng cao mà chi phí lại thấp Hệ thống bảo vệ có thể là một ổ khóa thông minh được người dùng cài mật khẩu bằng dãy số, hay hệ thống đó dựa trên công nghệ sinh trắc học: vân tay, võng mạc,…hay các hệ thống AI nhận diện giọng nói

Công nghệ RFID và công nghệ bảo mật vân tay quang học tuy đã được ứng dụng khá lâu và phổ biến ở nhiều nước trên thế giới nhưng đối với Việt Nam thì vẫn còn khá mới mẻ Đất nước chúng ta đang nắm bắt và triển khai các công nghệ mới này để tận dụng các ưu điểm nổi trội của nó Ở Việt Nam, công nghệ RFID đang trong bước đầu được ứng dụng trong các lĩnh vực: kiểm soát vào-ra, chấm công điện tử, quản lý phương tiện qua trạm thu phí, kiểm soát bãi đỗ xe tự động Với công nghệ bảo mật vân tay cũng đang phát triển mạnh với các ứng dụng trong lĩnh vực: mở khóa bằng vân tay, check in/out ca làm cho nhân viên, nhận diện thông tin cá nhân,…

Trang 16

Bên cạnh đó, việc công nghệ RFID và công nghệ bảo mật vân tay xuất hiện ngày càng nhiều đặt hệ thống công nghiệp nước ta vào thách thức nâng cao chất lượng và tự động hóa, hiện đại hóa nền công nghiệp

Ngày nay, với sự phát triển của xã hội, nhu cầu bảo vệ, an toàn nhà cửa của con người càng phát triển, đặc biệt là nhu cầu về hệ thống khóa cửa thông minh Từ đó các chung cư, nhà ở hiện nay ngày càng xuất hiện nhiều các hệ thống khóa cửa thông minh tiện lợi Lựa chọn hệ thống đóng/mở của thông minh sẽ tăng sự an ninh, bảo mật cho mái ấm của mọi người

Chính vì thế, chúng em thực hiện đề tài: “THIẾT KẾ HỆ THỐNG ĐÓNG/MỞ CỦA TỰ ĐỘNG THÔNG MINH” nhằm sử dụng công nghệ RFID và công nghệ bảo mật vân tay vào một đề tài thực tế, kết hợp kiến thức đã học sử dụng các module LCD, servo, arduino, vào hệ thống trở nên hiện đại hơn

1.1.2 Tính cấp thiết của đề tài

Thẻ RFID có kích thước rất nhỏ, dùng để gắn lên vật thể cần quản lý như hàng hóa, người Thẻ RFID chứa các chip silicon và các anten cho phép nhận lệnh và đáp ứng lại bằng tần số vô tuyến RF từ một đầu đọc RFID Tín hiệu được ghi vào thẻ và được đọc không phụ thuộc vào hướng của thẻ mà chỉ cần thẻ đó nằm trong vùng phủ sóng của thiết bị là được Khi một thẻ RFID tiến đến gần một thiết bị đọc ghi thẻ, năng lượng sóng điện từ đủ để cung cấp cho thẻ và từ đó quá trình trao đổi dữ liệu giữa thẻ và thiết bị đọc ghi thẻ bắt đầu Trong quá trình này, thiết bị có thể đọc ghi thông tin trên thẻ, sau khi kết thúc quá trình trao đổi dữ liệu, chiếc thẻ đó được chỉ thị không tiếp nhận thêm thông tin gì nữa cho đến khi được lọt vào vùng phủ sóng tiếp theo Cộng thêm dấu vân tay là một công nghệ bảo mật sử dụng dấu vân tay của một người để xác định danh tính một cá nhân Như chúng ta đều biết mỗi người sẽ sở hữu những cấu trúc vân tay riêng biệt, hay nói cách khác dấu vân tay của chúng ta hoàn toàn không giống nhau Dấu vân tay của một người giống như một thẻ nhận dạng, và đây cũng là nền tảng cốt lõi để sáng tạo ra công nghệ bảo mật vân tay thêm vào đó cảnh báo khi nhập vân tay, rfid hoặc mật khẩu sai nhiều lần về điện thoại chúng ta giúp cải thiện an ninh, bảo mật hơn và kịp thời xử lý các trường hợp khi bị kẻ gian đột nhập

Vì vậy, em đã thực hiện đề tài “THIẾT KẾ HỆ THỐNG ĐÓNG/MỞ THÔNG MINH” để đảm bảo sự an ninh, bảo mật cho nhà cửa thông minh

Trang 17

1.2 MỤC TIÊU NGHIÊN CỨU

Tại Việt Nam, nhu cầu bảo mật và tiện ích ngày càng nhiều và mở ra một thị trường đầy tiềm năng cho các nhà nghiên cứu và sản xuất Tuy nhiên, để đón nhận, vận dụng và phát triển 1 hệ thống mới này, chúng ta cần có sự hiểu biết nhất định về chúng Công nghệ RFID và bảo mật vân tay chưa được triển khai rộng rãi ở Việt Nam là do chi phí còn cao và chưa khai thác được nhiều ứng dụng của công nghệ này Khóa thông minh cung cấp giải pháp bảo mật cao, giúp kiểm soát việc ra vào được tốt hơn so với khóa cửa truyền thống rất dễ bị bẻ gãy bởi kết cấu vô cùng thô sơ, vì thế không hiếm gặp nhiều vụ mất trộm xảy ra liên tục Ngày nay các quốc gia phát triển rất ưa chuộng khóa cửa dùng vân tay, nhận dạng thông qua sinh trắc học Công nghệ này giúp cho việc mở khóa trở nên phức tạp hơn nhiều Đối với việc ứng dụng công nghệ vân tay là cách mà nhà sản xuất đã cá nhân hóa cho việc mở cửa Hơn nữa người dùng có thể kiểm tra được ai đã vào nhà và vào bằng cách nào

Phương thức mở khóa này rất an toàn và đáng tin cậy Việc ứng dụng một loại khóa thông minh cho ngôi nhà sẽ giúp chúng ta yên tâm hơn để lo những công việc khác trong cuộc sống Chúng ta sẽ cảm thấy vô cùng thuận tiện không chỉ độ an toàn Không còn cảnh phải mất công đi tìm chìa khóa Không còn hốt hoảng khi bị làm rơi chìa khóa Nếu như việc sử dụng khóa truyền thống khiến cho tội phạm trộm cắp gia tăng thì giờ đây xã hội có thể giảm thiểu được việc đó bằng một cách dễ dàng hơn Việc phá một chiếc khóa thông minh là vô cùng khó khăn mà không phải ai cũng có thể làm được Nhận định được những điều đó và thấy được tiềm năng ứng dụng của công nghệ tiên tiến em làm đề tài: “Thiết kế hệ thống đóng/mở cửa thông minh”

1.3 ĐỐI TƯỢNG NGHIÊN CỨU

- Arduino Mega 2560 - LCD I2C 16x2 - Module RFID

- Module cảm biến nhận diện vân tay AS608 - Module sim 800A Mini

- Bàn phím Keypad - Buzzer

- Servo

Trang 18

1.4 BỐ CỤC ĐỒ ÁN

Chương 1: Tổng quan: Trong chương này, chúng em thực hiện đề tài trình bày tổng

quan về tình hình nghiên cứu về công nghệ RFID và công nghệ nhận diện vân tay hiện nay Mục tiêu, đối tượng và mục tiêu nghiên cứu của đề tài

Chương 2: Cơ sở lý thuyết: Trong chương này, em thực hiện đề tài sẽ giới thiệu về

sơ lược về module RFID, LCD I2C, Servo, module cảm biến nhận diện vân tay, module sim 800A,…

Chương 3: Thiết kế và thi công: Trong chương này, em thực hiện đề tài sẽ đưa ra

các yêu cầu khi thiết kế, các thiết kế về phần cứng và phần mềm

Chương 4: Kết quả thi công: Trong chương này, em thực hiện đề tài sẽ đưa ra kết

quả mà đạt được, video, hình ảnh hệ thống sau khi thi công

Chương 5: Kết luận và hướng phát triển: Trong chương này, em sẽ đưa ra kết luận,

những hạn chế và hướng phát triển của đề tài

Trang 19

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU

Với chương này, nội dung chủ yếu giới thiệu khái niệm của các linh kiện sử dụng và các phương thức giao tiếp

2.1.1 RFID

Công nghệ RFID (Radio Frequency Identification) - là công nghệ nhận dạng đối tượng bằng sóng vô tuyến, cho phép một thiết bị đọc có thể đọc thông tin chứa trong một thiết bị khác ở một khoảng cách gần mà không cần phải có một sự tiếp xúc vật lý nào Một hệ thống RFID thường bao gồm 2 thành phần chính là thẻ tag (chip RFID chứa thông tin) và bộ đọc (reader) đọc các thông tin trên chip

Dạng đơn giản và phổ biến nhất được sử dụng hiện nay là hệ thống RFID bị động Trong đó bộ đọc truyền một tín hiệu tần số vô tuyến thông qua anten đến một con chip, sau đó bộ đọc sẽ nhận lại thông tin phản hồi từ chip và gửi đến máy tính để xử lý thông tin Các con chip từ các thẻ Tag này không cần nguồn nuôi, chúng sử dụng năng lượng phát ra từ tín hiệu được gửi bởi bộ đọc

Thẻ RFID gồm chip bán dẫn nhỏ (bộ nhớ của chip có thể chứa từ 96 đến 512 bit dữ liệu, nhiều gấp 64 lần so với mã vạng) và anten được thu nhỏ trong một số hình thức đóng gói Vài thẻ RFID giống như những nhãn giấy và được ứng dụng để bỏ vào hộp và đóng gói Một số khác được sản xuất thành các miếng da bao cổ tay Mỗi thẻ được lập trình với nhận dạng duy nhất cho phép theo dõi không dây đối tượng hoặc con người đang gắn thẻ đó Khi thẻ đi vào sóng điện từ, nó sẽ phát hiện ra tín hiệu kích hoạt từ đầu đọc và sẽ phát thông tin nhận dạng đến đầu đọc Đầu đọc giải mã dữ liệu được mã hóa trong chip (sóng vô tuyến phản xạ từ thẻ) và gửi vào hệ thống để xử lý

Nguyên lí hoạt động:

Thiết bị RFID reader phát ra sóng điện từ ở một tần số nhất định, khi thiết bị RFID tag trong vùng hoạt động sẽ cảm nhận được sóng điện từ này và thu nhận năng

Trang 20

lượng từ đó phát lại cho thiết bị RFID Reader biết mã số của mình Từ đó thiết bị RFID reader nhận biết được tag nào đang trong vùng hoạt động

2.1.2 Arduino MEGA

Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm Board Arduino có rất nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như: Arduino MEGA, Arduino LilyPad Trong số đó, Arduino Mega 2560 Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển:

Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB Ngoài ra,

Arduino Mega2560 cơ bản vẫn giống Arduino MEGA, chỉ khác số lượng chân và

nhiều tính năng mạnh mẽ hơn, nên các ta vẫn có thể lập trình cho con vi điều khiển này bằng chương trình lập trình cho Arduino MEGA

Vì đây là một bo mạch được tích hợp nhiều tính năng nổi bật Tính năng đầu tiên là thiết kế hệ thống I / O lớn với 16 bộ chuyển đổi tương tự và 54 bộ chuyển đổi digital hỗ trợ UART và các chế độ giao tiếp khác Thứ hai, Arduino Mega 2560 có sẵn RTC và các tính năng khác như bộ so sánh, timer, ngắt để điều khiển hoạt động, tiết kiệm điện năng và tốc độ nhanh hơn với xung thạch anh 16Mhz

Các tính năng khác bao gồm hỗ trợ JTAG để lập trình, gỡ lỗi và xử lý sự cố Với bộ nhớ FLASH lớn và SRAM, bo này có thể xử lý chương trình hệ thống lớn một cách dễ dàng Nó cũng tương thích với các loại bo mạch khác nhau như tín hiệu mức cao (5V) hoặc tín hiệu mức thấp (3.3V) với chân nạp I / O Brownout và

Hình 2 1 Module RFID RC522

Trang 21

watchdog giúp hệ thống đáng tin cậy và mạnh mẽ hơn Nó hỗ trợ ICSP cũng như lập trình vi điều khiển USB với PC

Hình 2 2 Module Arduino MEGA

Trang 22

Bảng 2 1 Thông số kĩ thuật Arduino Mega

Vi điều khiển AVR ATmega2560 (8 bit) Điện áp hoạt động 5V

Điện áp đầu vào (khuyên dùng) 7-12V Điện áp đầu vào (giới hạn) 6-20V

Chân Digital I/O 54

Giao tiếp USB (Lập trình với Atmega), ICSP (Lập trình), SPI, I2C và UART

Bộ TIMER 2 (8 bit) + 4 (16 bit) = 6 Timer Ngắt thay đổi chân 24

Chân điều khiển:

RESET: Arduino Mega Mega 2560 có sẵn mạch reset với nút ấn để thiết lập lại hệ thống và chân này có thể được sử dụng khi kết nối các thiết bị khác để thiết lập lại bộ điều khiển

XTAL1, XTAL2: Thạch anh(16Mhz) được kết nối với xung clock cung cấp cho bộ điều khiển

AREF: Chân này được dùng khi sử dụng ADC để chuyển đổi tín hiệu với điện áp tham chiếu bên ngoài mà không muốn sử dụng điện áp tham chiếu nội bộ 1.1V hoặc 5V

Các chân Digital (70):

Trang 23

Chân số: Từ 0-53 (số) và 0-15 (tương tự) có thể được sử dụng làm đầu vào hoặc đầu ra cho thiết bị được thiết lập bằng các hàm Mode (), digtalWrite (), digitalRead ()

Ứng dụng: Thiết bị đầu ra: Relay, LED, buzzer, LCD và các thiết bị khác Thiết bị đầu vào: Nút ấn, cảm biến siêu âm, cần điều khiển và các thiết bị khác

Chân tương tự (16):

Từ 0-15 (analog) có thể được sử dụng như chân đầu vào tương tự cho bộ ADC, nếu không sử dụng nó hoạt động như chân digital bình thường Nó được thiết lập bởi các hàm pinMode () khai báo chân, analogRead () để đọc trạng thái chân và nhận giá trị kỹ thuật số cho tín hiệu analog Lưu ý phải cẩn thận để lựa chọn điện áp tham chiếu bên trong hoặc bên ngoài và chân Aref

Ứng dụng : Thiết bị đầu vào: Cảm biến nhiệt độ, cảm biến (như ldr, irled và độ ẩm) và các thiết bị khác

Chân có chức năng thay thế:

Chân SPI: Chân 22-SS, 23_SCK, 24-MOSI, 25-MISO

Các chân này được sử dụng cho giao tiếp nối tiếp với giao thức SPI để liên lạc giữa 2 thiết bị trở lên SPI cho phép bit phải được thiết lập để bắt đầu giao tiếp với các thiết bị khác

Ứng dụng: Lập trình điều khiển AVR, giao tiếp với những người khác ngoại vi như LCD và thẻ SD

Chân I2C: Chân 20 cho SDA và 21 cho SCL (Tốc độ 400khz) để cho phép

liên lạc hai dây với các thiết bị khác Hàm được sử dụng là wire.begin () để bắt đầu chuyển đổi I2C, với wire.Read () để đọc dữ liệu i2c và wire.Write () để ghi dữ liệu i2c

Ứng dụng: Thiết bị đầu ra: LCD và liên lạc giữa nhiều thiết bị với hai dây Thiết bị đầu vào: RTC và các thiết bị khác

Chân PWM : Chân 2-13 có thể được sử dụng như đầu ra PWM với hàm

analogWrite () để ghi giá trị pwm từ 0-255

Ứng dụng: Thiết bị đầu ra: Điều khiển tốc độ của động cơ, ánh sáng mờ, pid cho hệ thống điều khiển hiệu quả

Trang 24

Chân này được sử dụng cho giao tiếp nối tiếp giữa bo mạch với máy tính hoặc hệ thống khác để chia sẻ và ghi dữ liệu Nó được sử dụng với hàm serialBegin () để cài đặt tốc độ truyền và bắt đầu truyền thông với serial.Println () để in mảng ký tự

Ứng dụng : Bộ mã hóa vòng quay, nút bấm dựa trên ngắt và các nút khác

Chân ngắt phần cứng: Chân 18 - 21,2,3 ngắt phần cứng được sử dụng cho

các ứng dụng ngắt Ngắt phần cứng phải được bật với tính năng ngắt toàn cục để ngắt quãng từ các thiết bị khác

Ứng dụng: Nhấn nút cho chương trình ISR, đánh thức bộ điều khiển bằng thiết bị bên ngoài như cảm biến siêu âm và các thiết bị khác

Các phần của Arduino Mega: Giắc cắm nguồn DC Cấp nguồn cho Arduino

Mega từ 7-12V qua cổng này Arduino Mega R3 có bộ điều chỉnh điện áp nguồn cấp 5V và 3.3V cho bộ điều khiển Arduino và bộ cảm biến

AVR 2560: Đây là vi điều khiển chính được sử dụng để lập trình và chạy tác

vụ cho hệ thống Đây là bộ não của hệ thống để điều khiển tất cả các thiết bị khác trên mạch

ATmega8: Vi điều khiển này được sử dụng để liên lạc giữa bộ điều khiển

chính và các thiết bị khác Bộ điều khiển này được lập trình cho giao tiếp USB và các tính năng lập trình nối tiếp

ICSP 1 (ATmega8) và 2 (AVR 2560): Nó có các tính năng của lập trình sử

dụng bus nối tiếp với lập trình AVR sử dụng giao tiếp SPI AVR 2560 được lập trình để chạy hệ thống và ATmega 8 được lập trình để liên lạc và lập trình nối tiếp

2.1.3 Phương thức giao tiếp I2C

I2C là tên viết tắt của cụm từ tiếng anh “Inter-Integrated Circuit” Nó là một giao thức giao tiếp được phát triển bởi Philips Semiconductors để truyền dữ liệu giữa một bộ xử lý trung tâm với nhiều IC trên cùng một board mạch chỉ sử dụng hai đường truyền tín hiệu

Do tính đơn giản của nó nên loại giao thức này được sử dụng rộng rãi cho giao tiếp giữa vi điều khiển và mảng cảm biến, các thiết bị hiển thị, thiết bị IoT, EEPROMs,…

Trang 25

I2C kết hợp các tính năng tốt nhất của SPI và UART Với I2C, bạn có thể kết nối nhiều slave với một master duy nhất (như SPI) và bạn có thể có nhiều master điều khiển một hoặc nhiều slave Điều này thực sự hữu ích khi bạn muốn có nhiều hơn một vi điều khiển ghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD

Đây là một loại giao thức giao tiếp nối tiếp đồng bộ Nó có nghĩa là các bit dữ liệu được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi một tín hiệu đồng hồ tham chiếu

Giống như giao tiếp UART, I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị:

+ SDA (Serial Data) - đường truyền cho master và slave để gửi và nhận dữ liệu + SCL (Serial Clock) - đường mang tín hiệu xung nhịp

+ I2C là một giao thức truyền thông nối tiếp, vì vậy dữ liệu được truyền từng bit dọc theo một đường duy nhất (đường SDA)

Giống như SPI, I2C là đồng bộ, do đó đầu ra của các bit được đồng bộ hóa với việc lấy mẫu các bit bởi một tín hiệu xung nhịp được chia sẻ giữa master và slave Tín hiệu xung nhịp luôn được điều khiển bởi master

Đặc điểm của chuẩn giao tiếp I2C

Chỉ cần có hai đường buýt (dây) chung để điều khiển bất kỳ thiết bị / IC nào trên mạng I2C

Không cần thỏa thuận trước về tốc độ truyền dữ liệu như trong giao tiếp UART Vì vậy, tốc độ truyền dữ liệu có thể được điều chỉnh bất cứ khi nào cần thiết

Cơ chế đơn giản để xác thực dữ liệu được truyền

Sử dụng hệ thống địa chỉ 7 bit để xác định một thiết bị / IC cụ thể trên buýt I2C Các mạng I2C dễ dàng mở rộng Các thiết bị mới có thể được kết nối đơn giản với hai đường buýt chung I2C

Ưu điểm của chuẩn giao tiếp I2C

 Chỉ sử dụng 2 dây

Hình 2 3 Kết nối chuẩn I2C

Trang 26

 Hỗ trợ nhiều Master và nhiều Slave

 Bit ACK/NACK xác nhận mỗi khung được chuyển thành công  Phần cứng ít phức tạp

 Giao thức được sử dụng rộng rãi

Nhược điểm của chuẩn giao tiếp I2C

 Tốc độ truyền dữ liệu chậm hơn SPI  Kích thước của dữ liệu bị giới hạn 8 bit  Phức tạp SPI khi truyền khai

Phương thước hoạt động của chuẩn giao tiếp I2C

Với I2C, dữ liệu được truyền trong các tin nhắn Tin nhắn được chia thành các khung dữ liệu Mỗi tin nhắn có một khung địa chỉ chứa địa chỉ nhị phân của địa chỉ slave và một hoặc nhiều khung dữ liệu chứa dữ liệu đang được truyền Thông điệp cũng bao gồm điều kiện khởi động và điều kiện dừng, các bit đọc/ghi và các bit ACK / NACK giữa mỗi khung dữ liệu:

Hình 2 4 Khung truyền I2C

+ Điều kiện khởi động: Đường SDA chuyển từ mức điện áp cao xuống mức điện áp thấp trước khi đường SCL chuyển từ mức cao xuống mức thấp

Hình 2 5 Hình minh họa điều kiện khởi động của phương thức I2C

+ Điều kiện kết thúc: Sau khi các khung dữ liệu cần thiết được truyền qua đường SDA, thiết bị master sẽ chuyền đường SDA từ mức điện áp thấp lên điện áp cao trước khi đường SCL chuyển từ cao xuống thấp

Trang 27

Hình 2 6 Hình minh họa điều kiện kết thúc của phương thức I2C

Khung địa chỉ: Một chuỗi 7 hoặc 10 bit duy nhất cho mỗi slave để xác định slave khi master muốn giao tiếp với nó

Bit Đọc/Ghi: Một bit duy nhất chỉ định master đang gửi dữ liệu đến slave (mức điện áp thấp) hay yêu cầu dữ liệu từ nó (mức điện áp cao)

Bit ACK/NACK: Mỗi khung trong một tin nhắn được theo sau bởi một bit xác nhận / không xác nhận Nếu một khung địa chỉ hoặc khung dữ liệu được nhận thành công, một bit ACK sẽ được trả lại cho thiết bị gửi từ thiết bị nhận

Các bước truyền dữ liệu của I2C

Master gửi điều kiện khởi động đến mọi slave được kết nối bằng cách chuyển đường SDA từ mức điện áp cao sang mức điện áp thấp trước khi chuyển đường SCL từ mức cao xuống mức thấp

Master gửi cho mỗi slave địa chỉ 7 hoặc 10 bit của slave mà nó muốn giao tiếp, cùng với bit đọc/ghi

Hình 2 7 Hình minh họa Master gửi địa chỉ cho Slave

Mỗi thiết bị Slave so sánh địa chỉ được gửi từ thiết bị Master đến địa chỉ riêng của nó Nếu địa chỉ trùng khớp, thiết bị Slave gửi về một bit ACK bằng cách kéo đường SDA xuống thấp và bit ACK/NACK được thiết lập là ‘0’ Nếu địa chỉ từ thiết

Trang 28

bị Master không khớp với địa chỉ riêng của thiết bị Slave thì đường SDA ở mức cao và bit ACK/NACK sẽ ở mức ‘1’ (mặc định)

Hình 2 8 Hình minh họa Slave gửi về ACK

Thiết bị Master gửi hoặc nhận khung dữ liệu Nếu thiết bị Master muốn gửi dữ liệu đến thiết bị Slave thì bit đọc/ghi là mức điện áp thấp “0” và ngược lại nếu thiết bị Master muốn nhận dữ liệu từ thiết bị Slave thì bit đọc/ghi là mức điện áp cao “1”

Hình 2 9 Hình minh họa truyền dữ liệu giữa thiết bị Master và Slave

Nếu khung dữ liệu được thiết bị Slave nhận được thành công, nó sẽ thiết lập bit ACK/NACK thành mức “0”, báo hiệu cho thiết bị Master tiếp tục

Trang 29

Hình 2 10 Hình minh họa bit ACK/NACK của thiết bị Slave

Sau khi tất cả dữ liệu được gửi đến thiết bị Slave, thiết bị Master gửi điều kiện dừng để báo hiệu cho tất cả các thiết bị Slave biết rằng việc truyền dữ liệu đã kết thúc

Hình 2 11 Hình minh họa thiết bị Master gửi tín hiệu kết thúc

Trang 30

Các chế độ hoạt động của I2C

Dựa vào tốc độ sẽ chia làm hai loại:

 Chế độ chuẩn (Standard mode) hoạt động ở tốc độ 100Kbit/s  Chế độ tốc độ thấp (Low-speed mode) hoạt động ở tốc độ 10Kbit/s  Dựa vào quan hệ kết nối sẽ chia làm ba loại:

 Một thiết bị Master và một thiết bị Slave  Một thiết bị Master và nhiều thiết bị Slave  Nhiều thiết bị Master và nhiều thiết bị Slave

2.1.4 Phương thức giao tiếp SPI

Giao tiếp ngoại vi nối tiếp hoặc SPI (Serial Peripheral Interface) là một chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công toàn phần (full – duplex) tức trong cùng một thời điểm có thể xảy ra đồng thời quá trình truyền và nhận

Giao tiếp ngoại vi nối tiếp (SPI) là một loại giao thức kiểu Master – Slave cung cấp một giao diện chi phí đơn giản và chi phí thấp giữa vi điều khiển và các thiết bị ngoại vi của nó.

Hình 2 12 Hình thể hiện toàn bộ các bit dữ liệu được gửi trên đường SDA

Trang 31

Hình 2 13 Module LCD I2C 1602

Trong đó:

+ MOSI (đầu ra master/đầu vào slave) - đường truyền cho master gửi dữ liệu đến slave

+ MISO (đầu vào master/đầu ra slave) - đường cho slave gửi dữ liệu đến master + SCLK (clock) - đường cho tín hiệu xung nhịp

+ SS/CS (Slave Select/Chip Select) - đường cho master chọn slave nào để gởi tín hiệu

2.1.5 Phương thức UART

UART (Universal Asynchronous Receiver-Transmitter – Bộ truyền nhận dữ liệu nối tiếp bất đồng bộ) là một trong những giao thức truyền thông giữa thiết bị với thiết bị được sử dụng nhiều nhất Bạn có thể thấy giao tiếp UART được sử dụng nhiều trong các ứng dụng để giao tiếp với các module như: Wifi, Bluetooth, Xbee, module đầu đọc thẻ RFID với Raspberry Pi, Arduino hoặc vi điều khiển khác

Hình 2 14 Giao tiếp UART

Trang 32

Trong một sơ đồ giao tiếp UART:

 Chân Tx (truyền) của một chip kết nối trực tiếp với chân Rx (nhận) của chip kia và ngược lại Thông thường, quá trình truyền sẽ diễn ra ở 3.3V hoặc 5V UART là một giao thức một master, một slave, trong đó một thiết bị được thiết lập để giao tiếp với duy nhất một thiết bị khác

 Dữ liệu truyền đến và đi từ UART song song với thiết bị điều khiển (ví dụ: CPU)

 Khi gửi trên chân Tx, UART đầu tiên sẽ dịch thông tin song song này thành nối tiếp và truyền đến thiết bị nhận

 UART thứ hai nhận dữ liệu này trên chân Rx của nó và biến đổi nó trở lại thành song song để giao tiếp với thiết bị điều khiển của nó

UART truyền dữ liệu nối tiếp, theo một trong ba chế độ:

 Full duplex: Giao tiếp đồng thời đến và đi từ mỗi master và slave  Half duplex: Dữ liệu đi theo một hướng tại một thời điểm

 Simplex: Chỉ giao tiếp một chiều

Dữ liệu truyền qua UART được tổ chức thành các gói Mỗi gói chứa 1 bit bắt đầu, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), một bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng

Hình 2 15 Khung truyền UART

Bit bắt đầu

Đường truyền dữ liệu UART thường được giữ ở mức điện áp cao khi không truyền dữ liệu Để bắt đầu truyền dữ liệu, UART truyền sẽ kéo đường truyền từ mức cao xuống mức thấp trong một chu kỳ clock Khi UART nhận phát hiện sự chuyển đổi điện áp cao xuống thấp, nó bắt đầu đọc các bit trong khung dữ liệu ở tần số của tốc độ truyền

Khung dữ liệu

Trang 33

Khung dữ liệu chứa dữ liệu thực tế được chuyển Nó có thể dài từ 5 bit đến 8 bit nếu sử dụng bit chẵn lẻ Nếu không sử dụng bit chẵn lẻ, khung dữ liệu có thể dài 9 bit Trong hầu hết các trường hợp, dữ liệu được gửi với bit ít quan trọng nhất trước tiên

Bit chẵn lẻ

Bit chẵn lẻ là một cách để UART nhận cho biết liệu có bất kỳ dữ liệu nào đã thay đổi trong quá trình truyền hay không Bit có thể bị thay đổi bởi bức xạ điện từ, tốc độ truyền không khớp hoặc truyền dữ liệu khoảng cách xa Sau khi UART nhận đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 1 và kiểm tra xem tổng số là số chẵn hay lẻ Nếu bit chẵn lẻ là 0 (tính chẵn), thì tổng các bit 1 trong khung dữ liệu phải là một số chẵn Nếu bit chẵn lẻ là 1 (tính lẻ), các bit 1 trong khung dữ liệu sẽ tổng thành một số lẻ Khi bit chẵn lẻ khớp với dữ liệu, UART sẽ biết rằng quá trình truyền không có lỗi Nhưng nếu bit chẵn lẻ là 0 và tổng là số lẻ; hoặc bit chẵn lẻ là 1 và tổng số là chẵn, UART sẽ biết rằng các bit trong khung dữ liệu đã thay đổi

Bit dừng

Để báo hiệu sự kết thúc của gói dữ liệu, UART gửi sẽ điều khiển đường truyền dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất khoảng 2 bit

Có thể tóm tắt lại như sau Quá trình truyền dữ liệu diễn ra dưới dạng các gói dữ liệu, bắt đầu bằng một bit bắt đầu, đường mức cao được kéo xuống đất Sau bit bắt đầu, năm đến chín bit dữ liệu truyền trong khung dữ liệu của gói, theo sau là bit chẵn lẻ tùy chọn để xác minh việc truyền dữ liệu thích hợp Cuối cùng, một hoặc nhiều bit dừng được truyền ở nơi đường đặt ở mức cao Như vậy là kết thúc một gói UART là giao thức không đồng bộ, do đó không có đường clock nào điều chỉnh tốc độ truyền dữ liệu Người dùng phải đặt cả hai thiết bị để giao tiếp ở cùng tốc độ Tốc độ này được gọi là tốc độ truyền, được biểu thị bằng bit trên giây hoặc bps Tốc độ truyền thay đổi đáng kể, từ 9600 baud đến 115200 và hơn nữa Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng 10% trước khi thời gian của các bit bị lệch quá xa

Mặc dù UART là giao thức cũ và chỉ có thể giao tiếp giữa một master và slave duy nhất, nhưng nó dễ thiết lập và cực kỳ linh hoạt Do đó, bạn có thể gặp nó khi làm việc với các dự án vi điều khiển UART có thể là một phần của hệ thống mà bạn sử dụng hàng ngày, mà có thể bạn không nhận ra

Ưu điểm của chuẩn giao tiếp UART

 Chỉ sử dụng hai dây  Không cần tín hiệu Clock

 Có một bit chẵn lẽ để kiểm tra lỗi

Trang 34

 Cấu trúc của gói dữ liệu có thể thay đổi  Phương thức được sử dụng rộng rãi

Nhược điểm của chuẩn giao tiếp UART

 Kích thước khung dữ liệu bị giới hạn tối đa là 9 bit  Không hỗ trợ nhiều hệ thống Master và Slave  Tốc độ truyền phải nằm trong 10% của nhau

2.1.6 Phần mềm Arduino IDE

Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và biên dịch mã vào module Arduino

Đây là một phần mềm Arduino chính thức, giúp cho việc biên dịch mã trở nên dễ dàng mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được

Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường

Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro và nhiều module khác

Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã

Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo

Môi trường IDE chủ yếu chứa hai phần cơ bản: Trình chỉnh sửa và Trình biên dịch, phần đầu sử dụng để viết mã được yêu cầu và phần sau được sử dụng để biên dịch và tải mã lên module Arduino

Môi trường này hỗ trợ cả ngôn ngữ C và C ++

Hoạt động của phần mềm Arduino IDE

Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã File Hex là các file thập phân Hexa được Arduino hiểu và sau đó được gửi đến bo mạch bằng cáp USB Mỗi bo Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận file hex và chạy theo mã được viết.

Hình 2 16 Biểu tượng (icon) phần mềm Arduino IDE

Trang 35

Hình 2 17 Giao diện phần mềm Arduino IDE

2.1.7 Phần mềm Proteus

Phần mềm Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR,… Proteus là phần mềm mô phỏng mạch điện tử của Labcenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola

Phần mềm bao gồm 2 chương trình: ISIS (Intelligent Schematic Input System) cho phép mô phỏng mạch và ARES (Advanced Routing and Editing Software) dùng để vẽ mạch in.

Hình 2 18 Biểu tượng (icon) của phần mềm Proteus

Những đặc điểm nổi bật của phần mềm Proteus

 Có khả năng mô phỏng hầu hết trình điều khiển cho vi điều khiển  Chọn đối tượng và thiết lập thông số dễ dàng

Trang 36

 Tương thích với các chương trình làm mạch in thông dụng  Xuất file thống kê linh kiện cho mạch

 Tịch hợp nhiều công cụ giúp cho việc quản lý mạch điện lớn  Khả năng tự động đánh số linh kiện

Cấu hình đề xuất

 Hệ điều hành: Windown 7,8,10 (chỉ 64 bit)  Ram: Trên 8G

 Bộ nhớ: 10G

 Card đồ họa: Có hiệu xuất cao từ DirectX10 hoặc cao hơn

 Màn hình: Màn hình kép với độ phân giải từ 2560x1440 hoặc tốt hơn

2.1.8 Các tập lệnh AT

- Các lệnh chung:

 AT: Kiểm tra module có hoạt động không

Trả về: OK nếu hoạt động bình thường, báo lỗi hoặc không trả về nếu có lỗi xảy ra

 ATEx: Bật (x=1) hoặc tắt (x=0) chế độ phản hồi lệnh vừa gửi (nên tắt đi)  AT+CPIN?: Kiểm tra Simcard

 Trả về: +CPIN: READY OK (nếu tìm thấy simcard)  AT+CSQ: Kiểm tra chất lượng sóng

 Trả về: +CSQ: xx,0 OK (xx là chất lượng sóng, tối đa là 31)  AT+COPS?: Kiểm tra tên nhà mạng

Trả về: +COPS: 0,0, ”Viettel Mobile” OK (nhận dạng được nhà mạng là Viettel Mobile)

Trả về: +COPS: 0 (không thấy nhà mạng) - Các lệnh gọi điện:

 ATD0123456789: Gọi điện cho số điện thoại 0123456789  ATA: Chấp nhận cuộc gọi đến

 ATH: Hủy cuộc gọi - Các lệnh nhắn tin:

 AT+CMGF=x: Cấu hình tin nhắn (x=0: DPU, x=1: dạng ký tự)

 AT+CNMI=2,x,0,0: Chọn x=1 (chỉ báo vị trí lưu tin nhắn) hoặc x=2 (hiển thị ra ngay nội dung tin nhắn)

Trả về: +CMTI: “SM”,3 (x=1)

Trang 37

Trả về: +CMT: “+84938380171″,””,”17/07/30,14:48:09+28″ noidungtinnhan  AT+CMGR=x: Đọc tin nhắn tại vị trí lưu x

Trả về: nội dung tin nhắn

 AT+CMGD=x: Xóa tin nhắn được lưu ở vị trí x

 AT+CMGS= ”sodienthoai”: Gửi tin nhắn cho sodienthoai, sau dòng lệnh này sẽ nhận được ‘>’ (mã HEX là 0x3C), bây giờ có thể nhập vào nội dung tin nhắn, nhập tiếp 0x1A để gửi tin nhắn đi hoặc 0x1B để hủy gửi tin nhắn

Trang 38

CHƯƠNG 3 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG

3.1.1 Yêu cầu của hệ thống

 Hệ thống có các chức năng sau:

 Quét thẻ RFID hoặc quét vân tay hoặc nhập mật khẩu để mở cửa  Hiển thị trạng thái cửa trên LCD

 Cảnh báo về điện thoại khi quét sai thẻ hoặc vân tay hoặc nhập mật khẩu nhiều lần

 Báo hiệu bằng còi khi mở/đóng cửa hoặc khi quẹt sai thẻ

 Mở khóa cửa khi nhận được đúng vân tay, thẻ tag hoặc mật khẩu

 Sơ đồ khối và chức năng mỗi khối: 3.1.2 Chức năng từng khối:

Khối xử lý trung tâm: Truyền dữ liệu và hiển thị lên LCD, đồng thời truyền dữ

liệu đến khối báo hiệu và nhận tín hiệu điều khiển từ khối RFID, khối cảm biến nhận diện vân tay và keypad

Khối hiển thị: Nhận dữ liệu từ khối xử lý trung tâm để hiển thị trạng thái cửa và

hiển thị nhập password

Hình 3 1 Sơ đồ khối hệ thống

Trang 39

Khối cảm biến nhận diện vân tay: Truyền dữ liệu tín hiệu đến khối xử lý trung

tâm để thực hiện thao tác mở cửa và hiển thị trạng thái mở cửa trên LCD

Khối RFID: Truyền dữ liệu điều khiển đến khối xử lý trung tâm để chuyển đổi

trạng thái cửa và hiển thị trên LCD

Khối nút nhấn: Truyền mật khẩu đến khối xử lý trung tâm để chuyển đổi thành

trạng thái mở cửa

Khối báo hiệu: Tiếp nhận dữ liệu từ khối xử lý trung tâm để báo hiệu khi cửa

mở/đóng và khi dùng sai thẻ, sai vân tay

Khối Module Sim: Tiếp nhận dữ liệu từ khối xử lý trung tâm để báo hiệu khi hệ

thống bị nhập sai vân tay, mật khẩu hoặc thẻ RFID quá 3 lần Sau đó gọi điện và nhắn tin về số điện thoại đã thiết lập sẵn

Khối động cơ: Nhận tín hiệu từ khối xử lý trung tâm để thực hiện mở/đóng cửa Khối nguồn: Cung cấp nguồn cho các khối: hiển thị LCD, khối báo hiệu, trung

tâm xử lý,…

3.1.3 Hoạt động của hệ thống

Khi hệ thống được cấp nguồn hệ thống sẽ hoạt động theo trình tự như sau:

Bước 1: Khi được cấp nguồn toàn bộ hệ thống sẽ khởi động, các khối như khối

hiển thị và khổi báo hiệu sẽ đợi tín hiệu từ khối xử lý trung tâm

Bước 2: Khối xử lý trung tâm sẽ bắt đầu nhận dữ liệu từ khối RFID và khối cảm

biến nhận diện vân tay khi được cấp nguồn hoạt động Nếu thẻ tag RFID quét mã hợp lệ thì Servo sẽ thực hiện mở cửa Hoặc khi quét vân tay hợp lệ thì Servo sẽ mở cửa Sau khi đọc dữ liệu, khối xử lý trung tâm sẽ gửi dữ liệu đến khối hiển thị và hiển thị trạng thái cửa mở/đóng lên LCD

Bước 3: Nhập mật khẩu từ ma trận phím sau đó khối xử lý sẽ nhận dữ liệu và

truyền đến khối hiển thị và đồng thời Servo sẽ thực hiện mở cửa nếu mật khẩu đúng

Bước 4: Khối báo hiệu sẽ nhận tín hiệu từ khối xử lý trung tâm và báo hiệu khi

cửa mở/đóng hoặc dùng sai thẻ

Trang 40

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG PHẦN CỨNG 3.2.1 Khối RFID:

Yêu cầu thiết kế: Khối RFID có nhiệm vụ đọc mã UID từ thẻ RFID sau đó chuyển mã UID thành chuỗi số rồi gửi về Arduino

Phương án chọn phần cứng: Trên thị trường hiện nay, có rất nhiều loại RFID như: RC522, RC531, PN512, Với đề tài này của em, để thực hiện đóng/mở cửa bằng thao tác quẹt thẻ tiện lợi, bảo mật Em đã lựa chọn sử dụng IC RC522 để làm việc này

Mô tả hoạt động: Đây là đầu đọc thẻ 13.56MHz với khoảng cách không cần xa, mức giá rẻ thiết kế nhỏ gọn, module này rất phù hợp cho mô hình điện tử nhỏ Dùng giao tiếp SPI kết nối với Arduino, kết nối qua 4 chân: SCK, MISO, MOSI, SS(SDA):  SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên

cần 1 đường giữ nhịp, mỗi nhịp trên SCK báo 1 bit dữ liệu đến hoặc đi  MISO - Master Input / Slave Output: nếu là chip Master thì đây là đường

Input còn nếu chip Slaves thì MISO là Output MISO của Master và các Slaves được nối trực tiếp với nhau

 MOSI - Master Ouput / Slave Input: nếu là chip Master thì đây là đường Output còn nếu là chip Slave thì MOSI là Input MOSI của Master và các Slaves được nối trực tiếp với nhau

 SS(SDA) - Slave Select: đường chọn Slave cần giao tiếp, tích cực mức thấp - Thông số kĩ thuật:

Hình 3 2 Sơ đồ nguyên lý của khối RFID

Ngày đăng: 24/02/2024, 17:03

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

TÀI LIỆU LIÊN QUAN

w