Đang tải... (xem toàn văn)
Quản lý điểm danh sinh viên là một phần quan trọng trong công tác giảng dạy. Nó giúp thầy cô có thể nắm rõ về tình hình học tập của sinh viên. Vì vậy, việc thiết kế một hệ thống quản lý sinh viên là rất quan trọng trong công tác giảng dạy tại đại học. Đồ án này đưa ra cái nhìn tổng quan về một hệ thống điểm danh quản lý sinh viên, qua đó thiết kế lên phần mềm quản lý. Đồ án cũng tập trung nguyên cứu về công nghệ RFID để ứng dụng nó vào hệ thống quản lý. Trong đồ án này sử dụng những công cụ như Microsoft Visual Studio, SQL Sever, Arduino IDE …để xây dựng lên hệ một về thống hoàn chỉnh với đầy đủ chức năng có thể áp dụng vào thực tế.
Trang 1GVHD: ThS Nguyễn Duy Thảo
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG QUẢN LÝĐIỂM DANH SINH VIÊN DÙNG RFID
-KHOA ĐIỆN ĐIỆN TỬ
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA ĐIỆN ĐIỆN TỬ
- -
ĐỒ ÁN 2
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG QUẢN LÝ ĐIỂMDANH SINH VIÊN DÙNG RFID
GVHD: ThS Nguyễn Duy Thảo SVTH:
Thành phố Hồ Chí Minh, Tháng 12 năm 2023
Nhận xét của giảng
Trang 4LỜI CẢM ƠN
Lời đầu tiên, nhóm em xin gửi lời cảm đến ThS Nguyễn Duy Thảo đã quan tâm hướng dẫn để em có thể hoàn thành đồ án điện tử 2.
Em cũng xin gửi lời cảm ơn chân thành đến các thầy cô khoa Điện-Điện tử đã hết lòng truyền đạt những kiến thức để em có đủ kiến thức nền tảng để áp dụng vào đồ án và hoàn thành.
Đồng thời em xin cảm ơn bạn bè lớp 20161DTCN2 ngành Điện tử-Viễn thông đã quan tâm giúp đỡ em trong quá trình làm đồ án.
Lời cuối cùng em xin gửi lời cảm ơn đến ban Lãnh đạo Trường Đại học Sư Phạm Kỹ Thuật và gia đình đã tạo nên một môi trường tốt, điều kiện thuận lợi nhất trong quá trình học tập tại trường.
Xin chân thành cảm ơn!
Trang 5TÓM TẮT
Quản lý điểm danh sinh viên là một phần quan trọng trong công tác giảng dạy Nó giúp thầy cô có thể nắm rõ về tình hình học tập của sinh viên Vì vậy, việc thiết kế một hệ thống quản lý sinh viên là rất quan trọng trong công tác giảng dạy tại đại học.
Đồ án này đưa ra cái nhìn tổng quan về một hệ thống điểm danh quản lý sinh viên, qua đó thiết kế lên phần mềm quản lý Đồ án cũng tập trung nguyên cứu về công nghệ RFID để ứng dụng nó vào hệ thống quản lý Trong đồ án này sử dụng những công cụ như Microsoft Visual Studio, SQL Sever, Arduino IDE …để xây dựng lên hệ một về thống hoàn chỉnh với đầy đủ chức năng có thể áp dụng vào thực tế.
Nội dung chia làm 6 chương:
Trang 6Chương 2 CƠ SỞ LÝ THUYẾT 3
2.1 TÌM HIỂU MODULE RFID 3
3.2.3 Module còi buzzer 22
3.2.4 Module RC522 mạch đọc ghi IC RFID 23
Trang 74.4 LẬP TRÌNH CODE 35
4.4.1 Tạo database: 35
4.4.2 Tạo getUID và UIDContainer: 36
4.4.3 Tạo trang hiện thị Home: 37
4.4.4 Tạo trang đăng ký thẻ: 38
4.4.5 Tạo trang đọc dữ liệu: 41
4.4.6 Tạo trang xóa dữ liệu sinh viên: 43
4.5 LẬP TRÌNH CODE CHO ESP32: 44
Trang 8Hình 5 Logo phần mềm Visual studio code 8
Hình 6 Giao diện chính của Visual studio code 10
Hình 7 Phần mềm Arduino IDE 11
Hình 8 Sơ đồ khối hệ thống 12
Hình 9 Module esp32 13
Hình 10 Sơ đồ chân của esp32 16
Hình 11.Sơ đồ nguyên lý esp32 19
Hình 23 Giao diện xampp chưa khởi động 28
Hình 24 Giao diện xampp khởi động 29
Hình 25 Giao diện quản lý dữ liệu 29
Hình 26 Lưu đồ giải thuật chương trình chính 33
Hình 27 Lưu đồ giải thuật chương trình lưu dữ liệu sinh viên lên webserver 34
Trang 9Hình 28 Mạch in sau khi thi công 50
Hình 29.Mô hình thực tế của mạch 51
Hình 30 Hình trạng thái đang đợi thẻ 52
Hình 31 Trạng thái khi quét thẻ thành công 53
Hình 32 Giao diện trang chính 54
Hình 33 Giao diện trang đăng ký 54
Hình 34 Giao diện trang hiển thị danh sách sinh viên 55
Hình 35 Giao diện trang chỉnh sửa thông tin sinh viên 55
Hình 36 Giao diện trang đọc thông tin sinh viên 56
Trang 10Chương 1 TỔNG QUAN
1.1 GIỚI THIỆU HỆ THỐNG QUẢN LÝ ĐIỂM DANH SINH VIÊN
Hệ thống quản lý điểm danh sinh viên sử dụng ESP32, RFID RC522 và PHPMyAdmin qua web server là một giải pháp tích hợp giữa thiết bị nhúng ESP32, đầu đọc thẻ RFID RC522 và môi trường phần mềm PHPMyAdmin ESP32 được lập trình để kết nối với RFID RC522 để đọc thông tin từ thẻ RFID của sinh viên Dữ liệu này sau đó được truyền đến một web server thông qua thư viện ESPAsyncWebServer Trên phía server, PHP được sử dụng để xử lý dữ liệu từ ESP32 và tương tác với cơ sở dữ liệu MySQL được quản lý bằng PHPMyAdmin Cơ sở dữ liệu chứa thông tin về sinh viên cũng như dữ liệu điểm danh Các script PHP được tạo để thực hiện các thao tác như thêm, sửa, xóa và truy vấn dữ liệu trong cơ sở dữ liệu.
Giao tiếp giữa ESP32 và server được xây dựng trên cơ sở giao thức HTTP hoặc HTTPS để đảm bảo an toàn dữ liệu Các biện pháp bảo mật, như xác thực và ủy quyền, được áp dụng để đảm bảo chỉ người dùng có quyền mới có thể truy cập vào hệ thống.
Ngoài ra, hệ thống cũng cung cấp các tính năng hiển thị thông tin và điểm danh Các trang web hoặc ứng dụng được tạo để liên tục cập nhật thông tin từ cơ sở dữ liệu, cung cấp một giao diện người dùng thuận tiện và thông tin chi tiết về tình trạng điểm danh.
1.2 ĐẶT VẤN ĐỀ
Công nghệ ngày càng phát triển kéo theo đó là hàng loạt các máy móc thiết bị được các công ty phát triển Song song với sự phát triển của các máy móc, thiết bị thì vi xử lý cùng công nghệ cảm biến cũng tạo ra một cuộc cách mạng đảm nhiệm các chức năng thay cho con người trong các quy trình công nghiệp và dân dụng đòi hỏi sự chính xác, tốc độ và khả năng làm việc liên tục mà con người không làm được.
Kết hợp vi xử lý và cảm biến đã tạo ra nhiều ứng dụng giúp ích cho con người Có thể kể đến dùng làm máy chấm công trong các trường học, công ty, doanh nghiệp Làm cách nào để có thể nhận biết chính xác đối tượng mình cần quản lý, tránh sai sót hoặc gian lận là vấn đề lớn nhất của máy chấm công từ trước đến nay Tuy nhiên hầu
Trang 11hết các giải pháp này đều sử dụng riêng lẻ Chính vì vậy để tạo tính mới cho mô hình đã phá phổ biến này, nhóm tiến hành thiết kế và thi công mô hình điểm danh bằng đề tài: “THẾ KẾ VÀ THI CÔNG HỆ THỐNG QUẢN LÝ ĐIỂM DANH SINH VIÊN SỬ DỤNG RFID”.
1.3 MỤC TIÊU ĐỀ TÀI
Tìm hiểu về ESP 32 cùng các ngoại vi giao tiếp, song song đó là tìm hiểu về RFID và các ngoại vi khác, kết hợp cùng với sự điều khiển của vi xử lí, tương tác từ màn hình LCD 16x2 nhằm tạo ra một thiết bị có khả năng điểm danh bằng hình thức: quét thẻ.
Quản lý thông tin sinh viên một cách hiệu quả Cơ sở dữ liệu MySQL kết hợp với PHPMyAdmin cung cấp một nền tảng mạnh mẽ để lưu trữ, quản lý và cập nhật thông tin liên quan đến sinh viên Hệ thống này không chỉ giúp theo dõi quá trình điểm danh mà còn cung cấp thông tin chi tiết về học viên, tạo điều kiện thuận lợi cho quản lý sinh viên.
1.4 GIỚI HẠN ĐỀ TÀI
-Sử dụng 1 module RFID RC522 để tiến hành điểm danh.
-Giao tiếp giữa module RFID RC522 với bộ vi điều khiển ESP 32 -Giao diện được xây dựng và xử lý trên nền tảng web local.
-Tiến hành đưa dữ liệu lên server để dễ dàng quản lý từ xa.
1.5 CÁC PHÂN MỀM HỖ TRỢ
- Protues: thiết kế mạch - Xampp: tạo sever ảo.
- Visual studio code: Lập trình tạo giao diện web và kết nối sever - Arduino IDE: Lập trình cho ESP32.
Trang 12Chương 2 CƠ SỞ LÝ THUYẾT 2.1 TÌM HIỂU MODULE RFID
Giới thiệu chung
RFID – Radio Frequency Identification công nghệ truyền nhận dữ liệu từ chip ở khoảng cách xa mà không thông qua tiếp xúc vật lý trực tiếp nào.
Các thiết bị thu phát thông qua sóng vô tuyến cùng tần số với nhau Các tần số thường được dùng là 125Khz hoặc 900Mhz.
Hình 1 Nguyên lý làm việc RFID
Nguyên lý làm việc của hệ thống RFID sử dụng thông dụng ngày nay:
Bộ đọc (Reader) phát 1 tín hiệu thông qua anten đến một con chip sau đó bộ đọc nhận thông tin lại từ chip rồi sẽ gửi nó đến trạm chủ để điều khiển và xử lý dữ liệu nhận được
Các chip không tiếp xúc vật lý với nhau, hoạt động bằng sử dụng năng lượng nhận từ tín hiệu của bộ đọc.
Cấu tạo chức năng
- Thẻ Tag tích hợp Chip và Anten (Transponder) - Bộ đọc nhận dữ liệu từ các thẻ (Reader)
- Thiết bị liên kết giữa thẻ và bộ đọc (Antenna) - Trạm thu nhận, xử lý, thống kê, điều khiển (Server)
2.2 MODULE ESP32
Giới thiệu
Trang 13ESP-WROOM-32 là một module WiFi và Bluetooth tích hợp, dựa trên vi điều khiển mạnh mẽ ESP32 của Espressif Systems Được thiết kế nhằm hỗ trợ các ứng dụng IoT (Internet of Things), ESP-WROOM-32 cung cấp một giải pháp linh hoạt và hiệu quả cho việc kết nối thiết bị với mạng không dây và giao tiếp không dây.
Vi điều khiển ESP32 trong ESP-WROOM-32 được xây dựng với kiến trúc hai nhân Tensilica LX6, cho phép nó chạy ở tốc độ cao lên đến 240 MHz Điều này đảm bảo hiệu suất đủ mạnh mẽ để xử lý các nhiệm vụ đa nhiệm và xử lý dữ liệu phức tạp trong ứng dụng IoT.
ESP-WROOM-32 hỗ trợ kết nối WiFi băng tần kép ở tần số 2.4 GHz, cũng như Bluetooth Classic và Bluetooth Low Energy (BLE) Điều này giúp nó tương thích với nhiều ứng dụng khác nhau, từ việc truyền dữ liệu không dây đến điều khiển thiết bị từ xa.
Module này thường được sử dụng trong nhiều dự án IoT và các ứng dụng nhúng khác, nhờ vào khả năng linh hoạt, hiệu suất cao và khả năng tích hợp các giao tiếp không dây Với ESP-WROOM-32, những dự án IoT có thể được triển khai một cách hiệu quả và dễ dàng tích hợp vào các hệ thống thông tin và mạng lưới liên kết.
Cấu tạo chức năng
- Như một vi điều khiển với kiến trúc đa nhân, cung cấp khả năng xử lý đa nhiệm và hiệu suất cao.
- Kết nối không dây qua wifi - Giao tiếp ngoại vi và GPIO.
- Có khả năng lưu trữ và RAM đủ lớn.
2.3 PHẦN MỀM XAMPP
XAMPP là một phần mềm cho phép giả lập môi trường server hosting ngay trên máy tính của ta, cho phép ta chạy demo website mà không cần phải mua hosting hay VPS Chính vì vậy, XAMPP hay được phục vụ cho hoạt động học tập giảng dạy thực hành và phát triển web.
Trang 14Hình 2 Logo phần mềm XAMPP
XAMPP được viết tắt của X + Apache + MySQL + PHP + Perl vì nó được tích hợp sẵn Apache, MySQL, PHP, FTP server, Mail Server Còn X thể hiện cho sự đa nền tảng của XAMPP vì nó có thể dùng được cho 4 hệ điều hành khác nhau: Windows, MacOS, Linux và Solaris.
Đặc điểm của XAMPP:
Ưu điểm
- Có thể chạy được linh hoạt được trên mọi hệ điều hành: Cross-platform, Windows, MacOS, Linux.
- Có cấu hình đơn giản nhưng mang đến nhiều chức năng hữu ích như: Lập Server giả định, lập Mail Server giả định và hỗ trợ SSL trên localhost.
- Tạo mã nguồn mở: Giao diện quản lý dễ dàng và tiện lợi giúp người dùng luôn chủ động được trong chế độ khởi động lại hay bật/ tắt đối với máy chủ theo thời gian phù hợp nhất.
Nhược điểm
- Do cấu hình khá đơn giản cho nên Xampp hoàn toàn không nhận được sự hỗ trợ về cấu hình Module, đồng thời cũng không có cả MySQL.
- Dung lượng tương đối nặng (141Mb).
Trang 15- Không có nhiều phiên bản cho từng thành phần của server như PHP, Apache mà phải cài đặt riêng.
- Tích hợp được nhiều tính năng với các thành phần quan trọng như: Apache, PHP, MySql Vì thế, người dùng không cần cài đặt từng phần trên riêng lẻ mà chỉ cần cài XAMPP là có 1 web server hoàn chỉnh.
XAMPP được dùng để xây dựng và phát triển website theo ngôn ngữ PHP Ngoài ra, XAMPP còn được sử dụng để phát triển, nghiên cứu website thông qua localhost của máy tính cá nhân, biến máy tính cá nhân thành máy chủ, dùng chính ổ cứng của máy tính để làm nơi lưu trữ cho máy chủ trang web.
Tuy nhiên, đối với các trang web kinh doanh, các trang web cần vận hành liên tục thì việc sử dụng XAMPP để tạo lập không khả thi Do localhost sử dụng máy tính để làm máy chủ, nên việc duy trì máy chủ sẽ rất khó khăn và không đảm bảo tốc độ lâu dài, thay vào đó các chủ trang web sẽ thuê server hosting Chung quy lại XAMPP dùng chủ yếu để học tập, nâng cấp và thử nghiệm web.
Để sử dụng các tệp trong XAMPP:
Hình 3 Giao diện chính của XAMMP
Bước 1: Khởi chạy XAMPP, khi ứng dụng được mở, ta sẽ nhìn thấy mục Control Panel
Trong mục này, ta có thể kiểm soát các phần riêng lẻ của máy chủ Ta có thể bắt đầu hoặc dừng các module riêng lẻ bằng cách nhấp vào các nút bên dưới “Actions”.
Trang 16Bảng điều khiển bao gồm nhiều các nút khác nhau như config, netstat, shell, explorer, services, help, quit
Config: Cho phép ta định cấu hình XAMPP cũng như các thành phần riêng lẻ Netstat: Giúp ta hiển thị tất cả quá trình đang chạy trên hệ thống cục bộ Shell: Cho phép mở shell UNIX
Service: Giúp hiển thị các dịch vụ đang chạy ở backend
Help: Cung cấp cho người sử dụng Xampp các cộng đồng hỗ trợ Quit: Thoát XAMPP
Bước 2: Nhấn vào nút Start trên thanh Start trong hàng Apache Thao tác này sẽ giúp ta khởi chạy máy chủ Apache Nhãn Apache trong cột Module sẽ chuyển sang màu xanh lục và ta sẽ thấy một thông báo trong nhật ký ở cuối Control Panel, thông báo cho ta biết rằng máy chủ đang chạy.
Sử dụng Xampp
Hình 4 Khởi động XAMPP
Bước 3: Mở trình duyệt của ta, nhập localhost vào thanh địa chỉ
Bước 4: Ta sẽ thấy tùy chọn “Local host - Welcome to XAMPP” ngay bên dưới thanh địa chỉ Nhấn vào đó.
Trang 17Bước 5: Ta sẽ chuyển hướng đến localhost/dashboard Thay thế phần bảng điều khiển bằng tên của thư mục chứa tệp PHP của ta.
Bước 6: Ta sẽ thấy danh sách các tệp trong thư mục đã nói, nhấp chọn vào tệp PHP của ta.
2.4 VISUAL STUDIO CODE
Visual Studio Code, thường được viết tắt là VS Code, là một trình soạn thảo mã nguồn mở miễn phí do Microsoft phát triển Đây là công cụ phát triển mã nguồn rất phổ biến trong cộng đồng phát triển phần mềm và có sẵn cho các hệ điều hành Windows, macOS và Linux.
VS Code thường được sử dụng cho việc phát triển ứng dụng web, ứng dụng di động, phát triển back-end, và nhiều tác vụ phát triển mã nguồn khác Điều quan trọng là nó là một công cụ linh hoạt có khả năng tuỳ chỉnh cao, phù hợp với nhiều dự án phát triển khác nhau.
Hình 5 Logo phần mềm Visual studio code
Visual Studio Code là một trình soạn thảo mã nguồn mã nguồn mở phổ biến và mạnh mẽ Một số tính năng nổi bật của VS Code bao gồm:
1 Hỗ trợ đa ngôn ngữ
VS Code có khả năng làm việc với nhiều loại ngôn ngữ lập trình khác nhau, chẳng hạn như JavaScript, TypeScript, Python, C#, Java, Go, Ruby và nhiều hơn nữa.
2 Hỗ trợ gỡ lỗi
Trang 18Visual Studio Code hỗ trợ mạnh mẽ cho quá trình gỡ lỗi với các tính năng như Breakpoints, kiểm tra biến, theo dõi code từng bước, và bảng điều khiển gỡ lỗi Các công cụ và tính năng này giúp ta tìm và sửa lỗi trong mã nguồn của mình một cách dễ dàng và hiệu quả.
3 Tích hợp Git
Với tích hợp Git sẵn có trong VS Code, ta có thể thực hiện các nhiệm vụ quản lý phiên bản trực tiếp trong trình soạn thảo Ta có thể thực hiện các thao tác Git như commit, push, pull và xem lịch sử mã nguồn một cách dễ dàng.
4 Tự động hoàn thành mã (IntelliSense)
VS Code cung cấp tính năng IntelliSense giúp tự động hoàn thành mã nguồn dựa trên ngữ cảnh Nó hiển thị gợi ý về biến, phương thức và các thành phần khác của mã nguồn của ta, giúp tăng tốc quá trình viết mã.
5 Hỗ trợ đa nền tảng
Visual Studio Code khả dụng trên Windows, macOS và Linux, cho phép người dùng làm việc trên nhiều nền tảng khác nhau và đồng bộ hóa cài đặt và tiện ích mở rộng giữa các máy tính.
6 Tích hợp Terminal
Terminal tích hợp cho phép người dùng dễ dàng chuyển đổi giữa việc chỉnh sửa mã và thực hiện các lệnh dòng lệnh mà không cần mở cửa sổ dòng lệnh riêng biệt Điều này giúp tiết kiệm thời gian và tăng hiệu suất làm việc cho nhà phát triển.
7 Tiện ích mở rộng
Visual Studio Code hỗ trợ hầu hết các ngôn ngữ lập trình Nhưng nếu người dùng sử dụng một ngôn ngữ không thuộc danh sách ngôn ngữ được hỗ trợ, họ vẫn có thể tải và sử dụng tiện ích mở rộng Về mặt hiệu suất, tiện ích mở rộng không làm chậm trình soạn thảo vì nó chạy dưới dạng một tiến trình riêng biệt.
Trang 19Hình 6 Giao diện chính của Visual studio code
8 Cấu trúc phân cấp
Cấu trúc cấp bậc (Hierarchy Structure) trong Visual Studio Code cho phép ta tổ chức mã nguồn của dự án một cách rõ ràng bằng cách sắp xếp các tệp và thư mục Điều này giúp ta duyệt và tìm kiếm tệp một cách hiệu quả hơn, đặc biệt là đối với các dự án lớn và phức tạp.
9 Nhiều dự án
Ta có thể mở đồng thời nhiều dự án chứa nhiều tệp/thư mục Các dự án/thư mục này có thể liên quan hoặc không liên quan đến nhau.
2.5 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.
Trang 20Hình 7 Phần mềm Arduino IDE
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 ++.
Trang 21Chương 3 THIẾT KẾ PHẦN CỨNG 3.1 TỔNG QUAN VỀ HỆ THỐNG
3.1.1 Sơ đồ khối hệ thống
Theo yêu cầu của đề tài nhóm tiến hành thiết kế sơ đồ khối của mạch hệ thống điểm danh Sau đây là sơ đồ khối của mạch hệ thống điểm danh :
Hình 8 Sơ đồ khối hệ thống
Cấp nguồn 5V cho bộ điều khiển trung tâm ESP32 và các ngoại vi Chức năng từng khối:
Khối nguồn: Cung cấp nguồn cho toàn bộ hệ thống hoạt động ổn định
Khối xử lý trung tâm: Sử dụng ESP 32 làm bộ xử lí trung tâm, giao tiếp với mạng Wifi, xử lí tín hiệu từ khối đọc rồi gửi dữ liệu đến cơ sở dữ liệu để hiển thị lên web.
Khối đọc: đọc các thông tin từ thẻ từ sau đó chuyển dữ liệu đến khối xử lý trung tâm.
Trang 22 Cơ sở dữ liệu: Nhận dữ liệu được gởi từ ESP32 để tiến hành lưu trữ và là nơi khối hiển thị truy cập vào để lấy dữ liệu hiển thị.
Khối hiển thị: truy xuất dữ liệu từ cơ sở dữ liệu để hiển thị thông tin sinh viên, thực hiện thao tác đăng ký thông tin để gửi dữ liệu vào cơ sở dữ liệu.
3.1.2 Nguyên lý hoạt động
Cấp nguồn 5V cho bộ điều khiển trung tâm ESP32 cùng các thiết bị ngoại vi sử dụng nguồn 5V.
Thiết bị quẹt thẻ điểm danh RFID sử dụng nguồn 3,3V hoạt động bằng cách quẹt thẻ Tag Sau khi giao tiếp, bộ điều khiển trung tâm ESP32 sẽ nhận dữ liệu thông tin từ thẻ và truyền tiếp thông tin lên cơ sở dữ liệu Khối hiển thị sẽ truy xuất dữ liệu từ cơ sở dữ liệu để hiển thị thông tin sinh viên cùng với đó sẽ thực hiện thao tác đăng ký thông tin để gửi dữ liệu vào cơ sở dữ liệu.
LCD được dùng để hiển thị thông báo.
Trang 23 Chạy hệ 32 bit
Tốc độ xử lý từ 160 MHz đến 240 MHz ROM: 448 Kb
Tốc độ xung nhịp từ 40 Mhz ÷ 80 Mhz (có thể tùy chỉnh khi lập trình) RAM: 520 Kb SRAM liền chip Trong đó 8 Kb RAM RTC tốc độ cao –
Hỗ trợ tất cả các loại giao tiếp
Bộ chuyển đổi số sang tương tự (DAC) 8 bit
18 kênh bộ chuyển đổi tương tự sang số (ADC) 12 bit cổng giao tiếp I2C
cổng giao tiếp UART
cổng giao tiếp SPI (1 cổng cho chip FLASH) 2 cổng giao tiếp I²S
10 kênh ngõ ra điều chế độ rộng xung (PWM)
Khởi động an toàn (Secure boot) Mã hóa flash (Flash encryption)
1024-bit OTP, lên đến 768-bit cho khách hàng
Tăng tốc phần cứng mật mã: AES, SHA-2, RSA, mật mã đường cong elliptic (ECC – elliptic curve cryptography), bộ tạo số ngẫu nhiên (RNG – random number generator)
Trang 24Nguồn điện hoạt động
Điện áp hoạt động: 2,2V ÷ 3,6V Tiêu thụ điện năng dưới 200 mA Nhiệt độ hoạt động: -40 ÷ + 85℃ ℃ Số cổng GPIO: 38
Nút khởi động: Nút này được sử dụng để tải bản phác thảo / chương trình mới lên vi điều khiển ESP32 Trong quá trình tải lên, chúng ta phải giữ nút khởi động Micro USB: Bo mạch được cấp nguồn bằng cổng Micro USB tích hợp Cổng này cũng có thể được sử dụng để kết nối bo mạch với máy tính để tải lên các chương trình.
Nút RESET: Nút này chỉ đơn giản được sử dụng để đặt lại bảng.
Cảm biến cảm ứng: ESP32 đi kèm với 10 cảm biến cảm ứng điện dung được kết nối với chân
Các chân GPIO này có thể cảm nhận được các biến thể nếu chúng chạm vào bất cứ thứ gì dẫn điện, như da người Vì vậy, khi chúng ta chạm vào chân GPIO bằng ngón tay, nó sẽ tạo ra biến thể này được đọc bởi cảm biến Chúng ta có thể sử dụng chức năng touchRead (GPIO) để đọc giá trị từ cảm biến cảm ứng.
Cảm biến hiệu ứng Hall: Bo mạch đi kèm với một cảm biến tích hợp khác, cảm biến hiệu ứng Hall Cảm biến hiệu ứng Hall được sử dụng để đo sự thay đổi từ trường
Trang 25Bảng phát triển ESP32 SƠ ĐỒ CHÂN:
Hình 10 Sơ đồ chân của esp32.
Chân nguồn:
Bo mạch đi kèm với hai chân nguồn - chân 5V và chân 3.3V Chân 5V có thể được sử dụng để cung cấp trực tiếp ESP32 và các thiết bị ngoại vi của nó nếu ta có nguồn điện áp 5V được điều chỉnh Trong khi chân 3.3V là đầu ra của bộ điều chỉnh điện áp (CP2102), nó có thể được sử dụng để cấp nguồn cho các thành phần bên ngoài.
GND: Chân nối đất của ESP32 được sử dụng để hoàn thành mạch Kênh ADC (Tương tự sang kỹ thuật số):
Bo mạch có 18 ADC SAR 12 bit và hỗ trợ các phép đo trên 15 kênh (chân hỗ trợ tương tự ADC1_CH0 (GPIO 36)
Trang 26Kênh DAC (Digital to Analog):
Bo mạch đi kèm với hai kênh DAC 8 bit có thể được sử dụng để chuyển đổi tín hiệu kỹ thuật số thành điện áp tương tự.
DAC_1 (GPIO25) DAC_2 (GPIO26)
Chân UART (Máy thu-phát không đồng bộ đa năng):
Bảng phát triển ESP32 có ba giao diện UART, - UART0, UART1 và UART2, cung cấp giao tiếp không đồng bộ giữa các thiết bị hỗ trợ UART lên đến tốc độ 5 Mbps.
Giao diện UART trong bảng phát triển cũng bao gồm hai chân bổ sung cho phép người nhận và người gửi cảnh báo lẫn nhau về trạng thái hiện tại của họ - chân tín
Trang 27 U2 CTS (GPIO8) U2 RTS (GPIO7) Chân SPI:
Bo mạch có ba SPI (SPI, HSPI và VSPI) ở chế độ chủ và tớ Các chân này được sử dụng để kết nối với các thiết bị hỗ trợ SPI bên ngoài.
Chân SPI trên board:
Bo mạch đi kèm với 25 chân hỗ trợ PWM (Gần như tất cả các chân GPIO) Đầu ra PWM có thể được sử dụng để điều khiển động cơ kỹ thuật số và đèn LED.
EN hoặc Bật mã pin:
Trang 28EN là viết tắt của Enable; chân này là chân kích hoạt bộ điều chỉnh 3.3 V Khi điều này được kéo THẤP, nó sẽ đặt lại vi điều khiển.
Chú ý: Bảng dev được thảo luận ở trên có 38 chân Hai biến thể phổ biến khác chỉ có 30 hoặc 36 chân lộ ra ngoài (có sẵn cho kết nối bên ngoài), mặc dù chúng có cùng chip WROOM-32 được cài đặt.
Sơ đồ của ESP32 Board:
Hình 11.Sơ đồ nguyên lý ESP32.
3.2.2 Màn hình LCD 16x2 tích hợp I2C
Mô tả:
Đây là LCD ký tự 16x2 chữ trắng nền xanh dương có IC điều khiển HD44780 Super Twisted Nematic (STN) LCD Giao tiếp đơn giản với 4 bit hoặc 8 bit Giao tiếp dễ dàng với các loại vi điều khiển và board Arduino, ATMEL AVR hoặc PIC.
Trang 29Hình 12 Màn hình LCD16x2 tích hợp I2C
Hình 13 Sơ đồ nguyên lý LCD tích hợp I2C.
Đặc điểm màn LCD:
Trang 30Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
Có thể được điều khiển với 6 dây tín hiệu
LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm Đặc điểm Module I2C Arduino:
Trang 31Hình 15 Module I2C.
LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển
Module I2C LCD ra đời và giải quyết vấn để này cho bạn.
Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.
Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.
Thông số kĩ thuật:
Điện áp hoạt động: 2.5-6V DC.
Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780) Giao tiếp: I2C.
Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2) Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.
3.2.3 Module còi buzzer
Module còi buzzer có 3 chân giao tiếp ngoại vi GNP, I/O, VCC rất dễ sử dụng Buzzer kêu liên tục khi cấp điện áp 3-5V.
Trang 32Hình 16 Module còi buzzer
Điện áp sử dụng: 3.3~5VDC
Tín hiệu kích: TLL mức thấp low 0VDC Kích thước: 32x13mm
3.2.4 Module RC522 mạch đọc ghi IC RFID
RC522 Mạch Đọc Ghi IC RFID hoạt động với tần số 13.56mhz không tiếp xúc, được thiết kế bởi NXP sử dụng chip tiêu thụ điện năng thấp và kích thước nhỏ gọn, là sự lựa chọn tốt nhất trong sự phát triển các ứng dụng thông minh như máy đo và thiết bị cầm tay di động
Mô-đun này có thể lắp trực tiếp trong các thiết bị cầm tay để sản xuất hàng loạt Mô-đun sử dụng nguồn điện 3.3V và có thể giao tiếp trực tiếp với bất kỳ bo mạch CPU nào bằng cách kết nối thông qua giao tiếp SPI, khoảng cách đọc tốt.
Trang 33 Hỗ trợ các loại card: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire
Kích thước: 40×60 mm
Nhiệt độ hoạt động: -20~80oC Nhiệt độ lưu trữ: -40~85oC Độ ẩm: 5% -95%
Giao tiếp: SPI
Trang 34 Tốc độ truyền data: Max 10Mbit/s
Dòng điện cung cấp esp32: 50 mA Dòng điện cung cấp LCD: 100 mA Dòng điện cung cấp buzzer: 20 mA Dòng điện cung cấp rfid_rc522: 30 mA => Dòng điện tiêu thụ toàn mạch là ~ 2 A.