Tải bản đầy đủ (.pdf) (23 trang)

ĐỒ ÁN KHÓA ĐA NĂNG SỬ DỤNG THẺ RFID( có đính kèm file code)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1022.38 KB, 23 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VÀ VIỄN THƠNG
KHOA KỸ THUẬT ĐIỆN - ĐIỆN TỬ
-----------------------------------------

BÁO CÁO: ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG
ĐỀ TÀI: Khóa cửa đa năng
Task 1: Mở khóa bằng RFID
Task 2: Nhập PASS mở khóa

Hà Nội 2022


MỤC LỤC
DANH MỤC HÌNH ẢNH ................................................................................................... 5
LỜI NĨI ĐẦU ..................................................................................................................... 3
Chương 1: Nghiên cứu tổng quan ....................................................................................... 4
I. Các loại khóa đa năng hiện có ...................................................................................... 4
1. Khóa cửa vân tay ...................................................................................................... 4
2. Khóa cửa thẻ từ ......................................................................................................... 4
3. Khóa cửa nhận diện khuôn mặt ................................................................................ 5
Chương 2: Thiết kế ổ khóa đa năng..................................................................................... 6
I. Tổng quan ..................................................................................................................... 6
II. Linh kiện ...................................................................................................................... 6
1. STM32F103C8T6 ..................................................................................................... 6
2. Bàn phím 4x4 ............................................................................................................ 8
3. Màn hình LCD 16x2 và module I2C ........................................................................ 8
3.1. Màn hình LCD 16x2 .............................................................................................. 8
3.2. Module I2C vào giao tiếp I2C với LCD ................................................................ 9
3.3. Quá trình truyền nhận dữ liệu: ................................................................................ 10
4. Module RFID RC522.............................................................................................. 11


III. Hệ điều hành thời gian thực FreeRTOS ................................................................... 16
IV. Thuật toán ................................................................................................................ 17
1. Thuật toán Nhập pass để mở cửa (ĐK động cơ) .................................................... 17
2. Thuật toán RFID ..................................................................................................... 17
Chương 3: Đánh giá kết quả .............................................................................................. 19
I.

Kết quả..................................................................................................................... 19

II.

Hướng phát triển .................................................................................................. 19

III.

DEMO .................................................................................................................. 19

KẾT LUẬN .................................................................................................................... 20
BẢNG PHÂN CHIA CÔNG VIỆC VÀ ĐÁNH GIÁ ....................................................... 21



DANH MỤC HÌNH ẢNH
Hình 1. Khóa cửa vân tay .................................................................................................... 4
Hình 2. Khóa cửa thẻ từ ....................................................................................................... 5
Hình 3. Khóa cửa nhận diện khn mặt .............................................................................. 5
Hình 4. Sơ đồ khối hệ thống ................................................................................................ 6
Hình 5. STM32F103C8T6 ................................................................................................... 6
Hình 6. Bàn phím 4x4.......................................................................................................... 8
Hình 7. Màn hình LCD 16x2 ............................................................................................... 8

Hình 8. Module I2C với LCD ............................................................................................. 9
Hình 9. Hoạt động của I2C ................................................................................................ 10
Hình 10. Sơ đồ xung .......................................................................................................... 10
Hình 11. RFID ................................................................................................................... 12
Hình 12. Cách hoạt động FreeRTOS ................................................................................. 17
Hình 13. Lưu đồ thuật tốn ................................................................................................ 18
Hình 14. Kết quả thu được ................................................................................................ 19


LỜI NĨI ĐẦU
Qua q trình học tập trong gần 4 năm tại Khoa Kỹ thuật Điện tử 1, Học viện
Công nghệ Bưu chính Viễn thơng và qua thực tiễn thị trường cơng nghệ. Nhóm
nhận thấy hiện tại các thầy cơ trong Khoa đang áp dụng chương trình giảng dạy cực
kì sát với thực tiễn với vô số các kiến thức từ cơ bản đến nâng cao để sinh viên có
thể tiếp cận với thực tế.
Từ mong muốn được ứng dụng các kiến thức đã học vào lập trình 1 sản phẩm
có tính ứng dụng cao, nhóm đã quyết định thực hiện đề tài: “Nghiên cứu, thiết kế
ổ khóa đa năng” sử dụng vi điều khiển STM32F103C8T6. Dưới sự hướng dẫn của
thầy Nguyễn Ngọc Minh, kết hợp với những kiến thức được thầy cô Khoa Kĩ Thuật
Điện Tử 1 giảng dạy, nhóm đã hồn thành được đề tài.
Nội dung đề tài bao gồm 3 chương:
- Chương 1: Nghiên cứu tổng quan.
- Chương 2: Thiết kế ổ khóa đa năng.
- Chương 3: Đánh giá kết quả.
Dưới đây nhóm xin trình bày chi tiết các phần trong nội dung của đề tài.

3


Chương 1: Nghiên cứu tổng quan

I. Các loại khóa đa năng hiện có
1. Khóa cửa vân tay
Khóa cửa vân tay là một loại khóa điện tử mà chìa khóa là vân tay. Việc sử dụng vân
tay để xác nhận giúp cho việc mở khóa đảm bảo an ninh khơng thể nào làm giả được.
Vì vậy, khóa cửa vân tay là một trong các loại khóa cửa thơng minh được nhiều người
lựa chọn

Hình 1. Khóa cửa vân tay

2. Khóa cửa thẻ từ
Trong số các loại khóa cửa thơng minh thì dịng khóa cửa thẻ từ đang được ứng dụng
tương đối rộng rãi. Chìa khóa của khóa thẻ là một loại thẻ có hình dạng giống như thẻ tín
dụng hay thẻ ngân hàng. Khi mở cửa bạn chỉ cần quẹt thẻ vào đầu đọc là cửa sẽ tự động
mở.

4


Hình 2. Khóa cửa thẻ từ

3. Khóa cửa nhận diện khuôn mặt
Một trong những công nghệ bảo mật mới nhất hiện nay chính là nhận diện khn mặt
3D. Đây là công nghệ cải tiến hơn so với nhận diện gương mặt 2D thơng thường, cho phép
máy có thể qt từng đường nét khuôn mặt, cấu trúc xương hàng để nhận diện một cách
tối ưu nhất. Công nghệ này được xem là tương lai của an ninh và có khả năng bảo mật tốt
hơn cả nhận diện vân tay.

Hình 3. Khóa cửa nhận diện khuôn mặt
5



Chương 2: Thiết kế ổ khóa đa năng
I. Tổng quan

Hình 4. Sơ đồ khối hệ thống

II. Linh kiện
1. STM32F103C8T6

Hình 5. STM32F103C8T6
6


Ở trên kit này bao gồm có 3 Port chính:
• Port A: 16 chân
• Port B: 16 chân
• Port C: 3 chân
STM32 là một trong những dòng chip phổ biến của ST với nhiều họ thông dụng như
F0, F1, F2, F3, F4, … Stm32f103 thuộc họ F1 với lõi là ARM COTEX M3. STM32F103
là vi điều khiển 32 bit, tốc độ tối đa là 72Mhz.
Phần mềm lập trình: Keil C.
Mạch nạp: STLINK
Cấu hình:
• ARM 32-bit Cortex M3 với clock max là 72Mhz.
• Bộ nhớ:
o 64 kbytes bộ nhớ Flash (bộ nhớ lập trình).
o 20kbytes SRAM.
• Clock, reset và quản lý nguồn.
o Điện áp hoạt động 2.0V -> 3.6V.
o Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz.

o Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz.
o Sử dụng thạch anh ngồi 32.768khz được sử dụng cho RTC.
• 2 bộ ADC 12bit với 9 kênh cho mỗi bộ.
o Khoảng giá trị chuyển đổi từ 0 – 3.6V.
o Lấy mẫu nhiều kênh hoặc 1 kênh.
o Có cảm biến nhiệt độ nội.
• DMA: bộ chuyển đổi này giúp tăng tốc độ xử lý do khơng có sự can thiệp q
sâu của CPU.
• 7 Timer.
• Hỗ trợ 9 kênh giao tiếp bao gồm:
o 2 bộ I2C(SMBus/PMBus).
o 3 bộ USART (ISO 7816 interface, LIN, IrDA capability, modem control).
o 2 SPIs (18 Mbit/s).
o 1 bộ CAN interface (2.0B Active)
o USB 2.0 full-speed interface

7


2. Bàn phím 4x4

Hình 6. Bàn phím 4x4
Bàn phím ma trận Mềm 4x4 Keypad được thiết kế với giao diện đơn giản giúp dễ
dàng giao tiếp với bất kì vi điều khiển nào. Mặt sau dính thuận tiên để gắn bàn phím trong
nhiều dự án.
Thơng số kỹ thuật:
• 16 phím
• Độ dài cáp: 88mm
• Nhiệt độ hoạt động: -40°C ~ +70°C
• Đầu nối ra 8 chân

• Kích thước bàn phím: 77*69mm
Ví dụ: Ma trận phím 4x4 sẽ có 4 cột và 4 hàng. Số lượng phím là 16 phím
Để điều khiển 16 nút nhấn, thông thường chúng ta phải sử dụng 16 GPIO nhưng nếu
sử dụng ma trận phím chúng ta chỉ cần sử dụng 8 GPIO.
Các nút nhấn sẽ nối hàng và cột với nhau. Khi nhần nút 1 dây Hàng (Row) sẽ nối với
dây Cột (Colum hay Col). Các nút nhấn tương ứng sẽ có vị trí nối hàng với cột khác nhau.
3. Màn hình LCD 16x2 và module I2C
3.1. Màn hình LCD 16x2

Hình 7. Màn hình LCD 16x2
8


Thụng s k thut LCD 16ì2
ã 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).
• Điện áp 5V.
• Điện áp ra mức cao: > 2.4V.
• Điện áp ra mức thấp: <0.4V.
• Dịng điện cấp nguồn: 350uA – 600uA.
• 5 chân còn lại dùng để cấp nguồn và đèn nn cho LCD 16ì2.
ã Cỏc chõn iu khin 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.
3.2. Module I2C vào giao tiếp I2C với LCD
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. Sử dụng module I2C để giải quyết vấn đề này.
Thay vì phải sử dụng 6 chân vi điều khiển để kết nối với LCD 16x2 (RS, EN, D7,
D6, D5 và D4) thì module IC2 chỉ cần tốn 2 chân (SCL, SDA) để kết nối.


Hình 8. Module I2C với LCD

Hoạt động I2C:
• I2C sử dụng 2 đường truyền tín hiệu:
o SCL - Serial Clock Line: Tạo xung nhịp đồng hồ do Master phát đi
o SDA - Serial Data Line: Đường truyền nhận dữ liệu.

9


Hình 9. Hoạt động của I2C

• Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ, hay
Master - Slave.
• Thiết bị Master là 1 vi điều khiển, nó có nhiệm vụ điều khiển đường tín hiệu SCL
và gửi nhận dữ liệu hay lệnh thơng qua đường SDA đến các thiết bị khác.
• Các thiết bị nhận các dữ liệu lệnh và tín hiệu từ thiết bị Master được gọi là các thiết
bị Slave. Các thiết bị Slave thường là các IC, hoặc thậm chí là vi điều khiển.
• Master và Slave được kết nối với nhau như hình trên. Hai đường bus SCL và SDA
đều hoạt động ở chế độ Open Drain, nghĩa là bất cứ thiết bị nào kết nối với mạng
I2C này cũng chỉ có thể kéo 2 đường bus này xuống mức thấp (LOW), nhưng lại
không thể kéo được lên mức cao. Vì để tránh trường hợp bus vừa bị 1 thiết bị kéo
lên mức cao vừa bị 1 thiết bị khác kéo xuống mức thấp gây hiện tượng ngắn mạch.
Do đó cần có 1 điện trờ (từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao.
3.3. Quá trình truyền nhận dữ liệu:
• Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường
SDA, SCL từ mức 1 xuống 0.

Hình 10. Sơ đồ xung
10



• Tiếp theo đó, Master gửi đi 7bit địa chỉ tới Slave muốn giao tiếp cùng với bit
Read/Write.
• Slave sẽ so sánh địa chỉ vật lý với địa chỉ vừa được gửi tới. Nếu trùng khớp,
Slave sẽ xác nhận bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK
bằng ‘0’. Nếu khơng trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng
‘1’.
• Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu. Nếu Master gửi đến Slave thì
bit Read/Write ở mức 0. Ngược lại nếu nhận thì bit này ở mức 1.
• Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set
thành mức 0 để báo hiệu cho Master tiếp tục.
• Sau khi tất cả dữ liệu đã được gửi đến Slave thành cơng, Master sẽ phát 1 tín hiệu
Stop để báo cho các Slave biết quá trình truyền đã kết thúc bằng các chuyển lần
lượt SCL, SDA từ mức 0 lên mức 1.
4. Module RFID RC522
4.1. Khái niệm về RFID là gì?
RFID là cụm ký tự viết tắt từ Radio Frequency Identification, hay còn được gọi là
nhận dạng qua tần số vơ tuyến. Nói một cách đơn giản hơn, RFID là kỹ thuật nhận dạng
sóng vơ tuyến từ xa, cho phép dữ liệu từ trên một con chíp được đọc thơng qua đường dẫn
sóng vơ tuyến. Khoảng cách truyền thơng tin giữa hai vật thể thường từ 50cm tới 10 mét.
Một thiết bị hay một hệ thống RFID được cấu tạo bởi hai thành phần chính là thiết bị
đọc RFID và thiết bị phát mã RFID có gắn chip hay cịn gọi là tag. Thiết bị đọc được gắn
anten để thu và phát sóng điện từ, trong khi đó thiết bị phát mã RFID được gắn với vật
cần nhận dạng. Mỗi thiết bị RFID tag chứa một mã số nhất định và không trùng nhau.

11


Hình 11. RFID


4.2. Đặc điểm của hệ thống RFID là gì
Một thiết bị hay hệ thống RFID có những đặc điểm đáng lưu ý như sau:
• Các tần số thường được sử dụng là 125Khz hoặc 900 Mhz.
• RFID sử dụng hệ thống thu phát sóng radio khơng dây, khơng sử dụng tia sáng
như mã vạch.
• Thơng tin được truyền mà không cần bất kỳ các tiếp xúc vật lý nào.
Thiết bị có thể đọc thơng tin xun qua các mơi trường, khơng gian có vật cản
như tường, sương, mưa mà mã vạch và các công nghệ thông thường khác
không thể được sử dụng hiệu quả
4.3. Ứng dụng của công nghệ RFID trong lĩnh vực sản xuất
Trong hoạt động sản xuất theo dây chuyền. RFID được sử dụng để thay thế thẻ Kanban
trong nhà máy. Hệ thống này giúp doanh nghiệp kiểm soát tốt hơn dây chuyền sản xuất
theo thời gian thực, xác định rõ thành phẩm đang được gia công ở công đoạn nào. Việc
theo dõi chặt chẽ mọi giai đoạn sản xuất sẽ giúp doanh nghiệp sớm phát hiện các lỗi phát
sinh và có biện pháp xử lý kịp thời.
Trong việc quản lý kho. Hệ thống RFID được sử dụng để phân loại các loại nguyên
vật liệu, sản phẩm tồn kho thông qua hệ thống tag RFID được gắn lên từng đối tượng sản
phẩm. Các dữ liệu thực tế trong kho sẽ được thu thập thông qua hệ thống RFID và đưa về
lưu trữ tại hệ thống máy chủ của kho. Nhờ có cơng nghệ này, các hoạt động phân loại, sắp
xếp, kiểm đếm thủ công sẽ được loại bỏ, thay vào đó là các thao tác xuất nhập kho nhanh
và hiệu quả hơn.
12


Trong công đoạn theo dõi và đánh giá sản phẩm. Tại giai đoạn này, hệ thống RFID
được sử dụng để hỗ trợ doanh nghiệp theo dõi nhiệt độ, độ ẩm tại môi trường nơi lưu trữ
thành phẩm trước khi đưa đến tay người tiêu dùng. Các thông số này sẽ được truyền về
về trung tâm kiểm soát giúp doanh nghiệp kiểm soát các sản phẩm tốt hơn ở điều kiện tối
ưu.

4.4. Ưu điểm của công nghệ RFID
Tăng cường khả năng hiển thị chuỗi cung ứng. Hoạt động quét mã vạch thông thường
cần đến các thao tác thủ công của con người để cung cấp cập nhật vị trí nguyên vật liệu
trong dây chuyền. Hơn nữa, những hoạt động giám sát này không thể diễn ra liên tục do
hạn chế về con người. Tuy nhiên, với công nghệ RFID, việc theo dõi có thể được tự động
hóa và diễn ra thường xuyên hơn. Điều này cung cấp khả năng hiển thị các thông tin chi
tiết hơn theo thời gian thực trên dây chuyền sản xuất.
Theo dõi các loại tài sản sát sao. Các công ty thường sử dụng RFID để theo dõi các
container, pallet và các tài sản đáng giá khác. Chính vì vậy, doanh nghiệp hồn tồn có
thể kiểm sốt chặt chẽ các tài sản thuộc sở hữu của mình đồng thời cung cấp khả năng
truy nguyên nguồn gốc của các loại tài sản đó. ĐIều này giúp doanh nghiệp có thể tính
các bài tốn chi tiêu và đầu tư sản xuất sát sao với tình hình thực tế hơn.
Kiểm soát số lượng hàng tồn kho dễ dàng hơn. Hệ thống RFID trong sản xuất giúp tự
động hóa các thao tác kiểm sốt hàng hóa trong kho, từ đó giúp giảm chi phí lao động.
Việc kiểm đếm và theo dõi số lượng hàng hóa, vật tư trong kho có thể được hồn thành
trong vài phút với độ chính xác cao cùng với lượng nhân viên tối thiểu.
4.5. Hạn chế của cơng nghệ RFID là gì
Đầu tư vào RFID tốn kém hơn hệ thống mã vạch thông thường. Việc gắn thẻ RFID
cho các vật phẩm thường rất tốn kém, đặc biệt nếu đó là các sản phẩm giá rẻ. Chi phí
đầu tư công nghệ này cho các sản phẩm đôi khi cịn vượt lên giá trị của sản phẩm đó.
Khơng phải công nghệ RFID đều đã được áp dụng tại hầu hết các doanh nghiệp sản
xuất hay đối tác của họ hiện nay. Trong khi đó, để có được lợi ích đầy đủ nhất từ RFID
trong sản xuất, các nhà cung cấp và tiêu dùng cần phải gắn thẻ hàng hóa hoặc đọc thẻ
RFID trong các cơ sở của cả hai bên.
Công nghệ RFID phức tạp hơn mã vạch thông thường. Thẻ đọc RFID phải được cấu
hình cẩn thận để đảm bảo có thể qt thành cơng 100 phần trăm các thẻ. Do đó, việc đầu
tư thời gian và cơng sức trong quá trình thử nghiệm cũng như xây dựng hệ thống dữ liệu
từ RFID cũng tốn kém hơn quét mã Barcode nhiều lần.
Quản lý dữ liệu từ trình đọc thẻ RFID. Các dữ liệu được thu thập từ công nghệ tân
tiến này lớn hơn rất nhiều so với mã vạch. Việc dữ liệu đó được khai thác sử dụng hiệu

quả tới đâu lại phụ thuộc vào khả năng của từng doanh nghiệp
Thơng số kĩ thuật
• Nguồn: 3.3VDC, 13 – 26mA
• Dòng ở chế độ chờ: 10-13mA
13










Dòng ở chế độ nghỉ: <80uA
Tải tối đa: 30mA
Tần số sóng mang: 13.56MHz
Khoảng cách hoạt động: 0~60mm(mifare1 card)
Giao tiếp: SPI
Tốc độ truyền dữ liệu: tối đa 10Mbit/s
Các loại card RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight,
mifare Pro, mifare Desfire
ã Kớch thc: 40mm ì 60mm
ã Nhit hot ng: -20 đến 80 ° C
• Độ ẩm hoạt động: 5% -95%
• Phụ kiện: móc khóa và thẻ.
• Có khả năng đọc và ghi
• Hỗ trợ: ISO / IEC 14443A /MIFAR
4.6. Chức năng các chân thẻ từ RFID

• SDA(SS) chân chọn lọc chip khi giao thiệp SPI (kích hoạt mức thấp).
• SCK: chân xung trong chế độ SPI.
• MOSI(SDI): Master Data Out – Slave In trong chế độ giao thiệp SPI.
• MISO(SDO): Master Data In – Slave Out trong chế độ giao thiệp SPI.
• IRQ: chân ngắt.
• GND: chân nối mass.
• RST: chân reset lại module.
• VCC: nguồn 3.3V.
❖ Giao tiếp với module RC522
Module RFID mặc định ra chân SPI nên chúng ta sẽ sử dụng bộ SPI2 để giao tiếp với
nó Hàm truyền nhận cơ bản :
uint8_t spi_transmit(uint8_t byte) {
uint8_t rv;
HAL_SPI_TransmitReceive(&hspi2,(uint8_t *)&byte,(uint8_t
*)&rv,1,100); return rv;
}
❖ Các hàm đọc ghi module RFID
Quá trình giao tiếp về cơ bản là đọc và ghi giá trị vào các thanh ghi của module RFID,
để đọc và ghi thì chúng ta cần biết địa chỉ của thanh ghi tương ứng cũng như chức năng
tương ứng của thanh ghi đó. Nói chung, q trình giao tiếp ln bắt đầu bằng việc gửi đi
địa chỉ của 1 thanh ghi nào đó. Địa chỉ thanh ghi được mã hóa bằng 6 bits
14


❖ Quá trình đọc

Do trong giao thức SPI, byte dữ liệu trả về luôn muộn hơn byte gửi đi nên byte đọc
về thứ 1 sẽ là byte rác. Và để đọc được byte cuối cùng thì gửi nhét thêm 1 byte rác (mặc
định là 0x00)
❖ Quá trình ghi


Để ghi dữ liệu vào thanh ghi nào đó, ta gửi địa chỉ của nó đi sau đó gửi kèm theo dữ
liệu. Tùy thuộc vào địa chỉ đó yêu cầu mấy byte dữ liệu ta gửi đúng số byte dữ liệu tương
ứng
Module RFID phân biệt lệnh đọc hay ghi bằng bit 0 của địa chỉ thanh ghi, do địa chỉ
thanh ghi chỉ chiếm 6 bis nên vẫn còn thừa 2 bits, module này yêu cầu chúng ta phải dịch
trái địa chỉ thanh ghi lên cao, chừa lại bit cao nhất (bit 7) để nó phân biệt lệnh này là đọc
hay ghi và bit cuối (bits 0) nó bắt phải là 0
Cụ thể: bit 0 là 1 thì đây là đọc, ngược lại bit 0 là 0 thì đây là ghi
❖ Hàm ghi dữ liệu 1 thanh ghi
void RFID_write(unsigned char reg, unsigned char data) {
15


MFRC522_CS_EN;
spi_transmit((reg<<1)&0x7E);
spi_transmit(data); MFRC522_CS_DIS;
}
❖ Hàm khởi tạo module

• Giá trị cài đặt: 0x3D
• RFID_write(0x11,0x3D)
• Thanh ghi TReloadReg (0x2C 0x2D) đây là thanh ghi 16bit nên cần phải ghi
2 lần.
• Giá trị cần ghi 0x0030
• RFID_write(0x2D,30)
• RFID_write(0x2C,0);
• Thanh ghi TModeReg (0x2A 0x2B) đây cũng là thanh ghi 16bit nên có cần
ghi 2 lần
• RFID_write(0x2A,0x8D);

• RFID_write(0x2B,0x3E);
• Thanh ghi TxASKReg (0x15)
• RFID_write(0x15,0x40);
III. Hệ điều hành thời gian thực FreeRTOS
FreeRTOS là hệ điều hành nguồn mở thời gian thực dành cho các bộ vi điều khiển,
cho phép dễ dàng lập trình, triển khai, bảo mật, kết nối và quản lý các thiết bị ngoại biên
nhỏ, công suất thấp. Được phân phối miễn phí theo giấy phép nguồn mở MIT,
FreeRTOS bao gồm một nhân và một bộ thư viện phần mềm đang phát triển phù hợp để
sử dụng trong nhiều lĩnh vực và ứng dụng công nghiệp. Việc sử dụng bao gồm cả kết
nối bảo mật thiết bị nhỏ, công suất thấp của bạn với các dịch vụ Đám mây AWS
như AWS IoT Core hoặc với các thiết bị biên mạnh mẽ hơn chạy AWS IoT Greengrass.
FreeRTOS được xây dựng chú trọng vào độ tin cậy và khả năng sử dụng dễ dàng, đồng
thời cam kết các bản phát hành hỗ trợ lâu dài.
16


Lợi ích của hệ điều hành freeRTOS
• Mã nguồn mở
• Hỗ trợ nhiều đối tác APN
• Kết nối , lập trình , triển khai và quản lý các thiết bị công xuất thấp một cách
bảo mật
Cách hoạt động của RTOS
RTOS là một phân đoạn hoặc một phần của chương trình, trong đó nó giải quyết
việc điều phối các task, lập lịch và phân mức ưu tiên cho task, nắm bắt các thơng điệp
gửi đi từ task.

Hình 12. Cách hoạt động FreeRTOS

IV. Thuật toán
1. Thuật toán Nhập pass để mở cửa (ĐK động cơ)

Sử dụng hàm so sánh chuỗi. Để so sánh pass nhập vào với pass mình cấu hình
Cách thức đưa từng cái phím nhấn vào thành 1 số trong pass
Khai báo 1 biến char s[8] . Mỗi lần nhấn thì s[i] nhận 1 key
Cứ như thế đến khi I = 8 thì ko nhận nữa và đem nó đi so sánh với pass đã cấu hình
trên đó.
2. Thuật tốn RFID
Lập trình và sử dụng phương pháp SPI để đọc nội dung của thẻ và lưu vào một
mảng. Sử dụng giao thức SPI để đọc ID của thẻ sau đó so sánh với ID ban đầu đã được
lưu vào mảng.
• Nếu trùng khớp thì mở khóa hiện OK lên LCD
17


• Ngược lại thì khơng mở được khóa

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

18


Chương 3: Đánh giá kết quả
I. Kết quả
• Hiểu rõ được STM32F103C8T6
• Hiểu thêm về các giao tiếp I2C, SPI, GPIO
• Hồn thành mạch sử dụng được RFID, sử dụng KeyPad 4x4 và hiển thị lên
LCD
II. Hướng phát triển
Qua quá trình nghiên cứu và thiết kế sản phẩm, nhóm có nhận ra vài vấn đề cần cải
thiện, phát triển thêm cho sản phẩm:
• Tối ưu phần cứng: Nghiên cứu thiết kế phần cứng gọn gàng, phù hợp thực tiễn

hơn hiện tại.
• Tối ưu chương trình: Chương trình đang được viết gần như theo dạng line-byline và chưa có q trình tính tốn thời gian thực thi.
• Bổ sung thêm tính bảo mật: Thêm module nhận dạng vân tay vào hệ thống.
• Nâng cấp cơ sở dữ liệu: Thiết kế thêm các trường trong cơ sở dữ liệu phục vụ
việc kiểm tra chi tiết dữ liệu khi cần.
• Thêm phần setup mật khẩu bằng tay cho chủ nhà ngay trên sản phẩm.
III. DEMO

Hình 14. Kết quả thu được

19


KẾT LUẬN
Sau thời gian 3 tháng nghiên cứu với sự nỗ lực của nhóm và sự hướng dẫn tận tình
của thầy Nguyễn Ngọc Minh, nhóm đã hồn thành đề tài “Thiết kế ổ khóa đa năng”,
nhóm xin tổng kết những gì đề tài đã đạt được như sau:
- Ứng dụng các giao thức truyền nhận dữ liệu đã học vào vi điều khiển ARM-32bit.
- Ứng dụng mạng cảm biến vào hệ thống nhúng.
- Thiết kế thành cơng ổ khóa đạt được các chức năng như đã đặt ra mục tiêu trong
đề cương.
Qua quá trình thực hiện đồ án, dưới sự hướng dẫn tận tình của thầy, nhóm đã được
thử sức với 1 đề tài khơng q khó nhưng phức tạp, học được cách tổ chức và giải quyết
vấn đề khoa học hơn.
Mặc dù đã cố gắng nhiều nhưng đề tài khó tránh khỏi những sai sót, nhóm rất mong
nhận được sự góp ý của thầy để có thể hồn thiện nhiều hơn nữa.
Xin chân thành cảm ơn!
Nhóm đề tài

20



BẢNG PHÂN CHIA CÔNG VIỆC VÀ ĐÁNH GIÁ
Thành viên
Nguyễn Văn Linh

Phạm Văn Thưởng

Cơng việc
+ Phân chia cơng việc cho nhóm, đảm tiến
độ, tổng hợp Word và PP
+ Lên ý tưởng và xây dựng code, test mạch
+ Làm Powerpoint
+ Tìm hiểu về giao tiếp I2C và keypad

Nguyễn Ngọc Đức Minh + Làm Word
+ Tìm hiểu thơng số kỹ thuật các linh kiện
+ Tìm hiểu động cơ servo
Bùi Đức Minh
+ Xây dựng hệ điều hành FreeRTOS
+ Lên ý tưởng và xây dựng code, test mạch

Đánh giá
9

9

9

9


21



×