Professional Documents
Culture Documents
----------
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI: “KHÓA SỐ ĐIỆN TỬ SỬ DỤNG BÀN
PHÍM VÀ THẺ TỪ”
Hệ : Chính quy
Hà Nội 2018
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
Các thiết bị điện tử đang được áp dụng ngày càng nhiều trong cuộc sống hàng ngày để
tăng sự thuận tiện cho con người. Trong đồ án tốt nghiệp này, sinh viên Trần Hợp Trình
đã tìm hiểu nguyên lý thiết kế và chế tạo khoá điện tử dựa trên bàn phím và thẻ quét từ
dựa trên công nghệ RFID. Trên cơ sở đó, sinh viên đã thiết kế chế tạo một mô hình mẫu
thử nghiệm để minh hoạ. Mặc dù mô hình chế tạo thử nghiệm vẫn còn một số hạn
chế, sinh viên đã thể hiện được khả năng nghiên cứu lý thuyết và tích hợp hệ thống
để chế tạo thử nghiệm. Bên cạnh đó, sinh viên Trần Hợp Trình đã thể hiện sự chủ
động, chăm trong quá trình thực hiện đồ án tốt nghiệp.
Đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp.
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp…?
(ký, họ tên)
MỤC LỤC
MỤC LỤC .......................................................................................................................i
DANH MỤC HÌNH ẢNH ........................................................................................... iii
DANH MỤC BẢNG BIỂU ...........................................................................................v
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .................................................vi
LỜI NÓI ĐẦU ................................................................................................................1
DẪN NHẬP ....................................................................................................................2
1. Đặt vấn đề ..............................................................................................................2
2. Yêu cầu của vấn đề ................................................................................................ 2
3. Mục đích nghiên cứu .............................................................................................2
4. Các khó khăn khi thực hiện ...................................................................................2
CHƯƠNG I: CƠ SỞ LÝ THUYẾT .............................................................................3
1.1. Giới thiệu chung .................................................................................................3
1.1.1. Các loại khóa điện tử thông dụng hiện nay ................................................3
1.1.2. Ưu nhược điểm của khóa số điện tử............................................................3
1.2. Giới thiệu linh kiện sử sụng làm khóa số mở cửa bằng bàn phím và thẻ từ ......5
1.2.1. Arduino nano ............................................................................................... 5
1.2.2. Bàn phím ma trận mềm 4x4 keypad ............................................................7
1.2.3. I2C ...............................................................................................................8
1.2.4. LCD 16x2 ....................................................................................................8
1.2.5. Servo SG90 ................................................................................................ 10
1.2.6. Khối quét thẻ từ .........................................................................................12
1.2.7. IC7805 .......................................................................................................14
1.2.8. Buzzer ........................................................................................................15
1.3. Kết luận chương ............................................................................................... 15
CHƯƠNG II: MẠCH NGUYÊN LÝ VÀ PHƯƠNG THỨC HOẠT ĐỘNG CỦA
CÁC MODULE............................................................................................................16
2.1. Mạch nguyên lý ................................................................................................ 16
Hình 2.1: Giao diện thiết kế mạch nguyên lý trong altium designer ............................ 16
Hình 2.2: Mạch nguyên lý ............................................................................................. 17
Hình 2.3: Khối nguồn của mạch ....................................................................................17
Hình 2.4: Nguyên lý hoạt động RFID ...........................................................................19
Hình 2.5: Thẻ chíp RFID ............................................................................................... 19
Hình 2.6: Sơ đồ khối......................................................................................................20
Hình 2.7: Lưu đồ thuật toán ..........................................................................................21
Hình 2.8: Sơ đồ chân giao tiếp SPI ...............................................................................22
Hình 2.9: Sơ đồ kết nối ..................................................................................................23
Hình 2.10: Trình tự truyền bit trên đường truyền..........................................................24
Hình 2.11: Xung truyền SDA và SCL ...........................................................................24
Hình 2.12: Xung Clock ở mức cao ................................................................................25
Universal Asynchronous
UART Truyền thông nối tiếp không đồng bộ
Receiver/Transmitter
I2C Inter-Intergrated Circuit Chuẩn giao tiếp nối tiếp hai dây
Trong thời đại số hóa hiện nay của thế giới, các xu hướng công nghệ đang phát triển
không ngừng và vẫn sẽ tiếp tục phát triển dài lâu. Nhiều thiết bị đã được ra đời nhằm
mục đích phục vụ cho con người có một cuộc sống tốt đẹp hơn, thoải mái hơn. Khóa
điện tử thông minh đã được ra đời trong một bối cảnh như vậy. Ngày nay nó càng lúc
càng được tăng cường thêm nhiều tính năng mới, an toàn hơn, tiện lợi hơn, bảo mật tốt
hơn và đang được nhiều gia đình cũng như doanh nghiệp trên thế giới lựa chọn. Khóa
thường sẽ chỉ sử dụng chìa khóa để mở cửa, nhưng đối với khóa cửa điện tử lại khác.
Khóa điện tử sử dụng các tính năng thông minh để giúp mở cửa. Thực sự điều này đã
thay đổi hoàn toàn thói quen dùng chìa để mở khóa trước đây của con người, bởi nếu
trước đây bạn có thể gặp phải những sự cố không đáng có như: khóa hoen gỉ tra chìa
vào nhưng mãi không mở được, quên chìa khóa ở đâu không rõ, thậm chí là không thể
tránh việc mất chìa khóa. Khóa điện tử đã khắc phục được tất cả những điều đó, thậm
chí còn mở ra một con đường mới cho dòng khóa phổ thông.
Chúng ta có thể thấy khóa điện tử là một thiết bị hiện đại không chỉ giúp đảm bảo an
ninh cho bạn và người thân đến tối đa mà còn giúp cho căn phòng của bạn trở nên sang
trọng và tiện nghi hơn rất nhiều. Chúng không chỉ là một thiết bị công nghệ nữa mà đã
trở thành một vật trang trí tuyệt vời cho cánh cửa, giúp cho ngôi nhà, căn hộ trở nên cao
cấp hơn. Trong tương lai, viễn cảnh mỗi gia đình đều sở hữu một hoặc nhiều khóa điện
tử thông minh chẳng còn là điều xa vời nữa.
1. Đặt vấn đề
Công nghệ điện tử về các thiết bị thông minh trong gia đình đang ngày càng phát
triển, nó không chỉ tiện lợi mà còn thể hiện thẩm mỹ cho ngôi nhà . Khóa số điện tử đã
ra đời thay thế cho chiếc khóa thường ngày chúng ta vẫn sử dụng, để khắc phục tình
trạng mất khóa hay bỏ quên, ổ khóa bị hoen gỉ khó mở.
Qua những tìm hiểu của mình về arduino và vận dụng những kiến thức đã học được,
em mong muốn có thể tạo ra một sản phẩm về điện tử trước khi ra trường. Những công
nghệ điện tử chúng ta được tiếp xúc hằng ngày dường như đã rất phổ biến hiện nay.
Được sự đồng ý của Giảng viên hướng dẫn và Khoa Kỹ thuật Điện tử I, em đã có ý
tưởng làm một khóa số điện tử sử dụng công nghệ RFID và phím nhấn bằng bàn phím
ma trận.
Mở khóa bằng bàn phím và thẻ từ quét, thiết bị tự động nên vấn đề tính sử dụng được
đặt ra là: tính bảo mật cao, nhận dạng thẻ chính xác, khó làm giả được thẻ quét, bàn
phím sử dụng ổn định.
Mục đích trước hết khi thực hiện đề tài này là để hoàn tất chương trình học để đủ điều
kiện ra trường.
Đồng thời, quá trình thực hiện đề tài cũng là một cơ hội để em tự kiểm tra lại những
kiến thức trong suốt thời gian học tập. Đây cũng là dịp để em tự khẳng định mình trước
khi ra trường để trở thành một kỹ sư điện tử.
Với thời gian ngắn cũng như trình độ chuyên môn có giới hạn em đã cố gắng hết sức
để hoàn thành đề tài này nhưng vẫn còn gặp nhiều khó khăn trong quá trình thực hiện:
Sự an toàn của ổ khóa điện tử đã được nhiều doanh nghiệp, gia đình chứng thực. Hiện
nay việc lắp đặt và sử dụng một trong những loại khóa điện tử có trên thị trường đã trở
nên ngày một phổ biến hơn. Khóa cửa điện tử hiện nay được biết đến với 3 loại chính
đó là: khóa cửa vân tay, khóa thẻ từ và khóa mã số, 3 loại khóa mỗi loại có đặc trưng
khác nhau về phương thức vận hành, cấu tạo khóa…
Một ổ khóa điện tử sẽ sử dụng những tín hiệu điện tử để mở và đóng cửa, nếu không
cửa sẽ luôn mở hoặc luôn đóng. Khóa điện tử không dùng chìa kim loại để mở khóa (dù
trong thiết kế của các loại khóa điện tử luôn có ổ khóa cơ dùng chìa kim loại nhưng
chúng chỉ được sử dụng trong trường hợp bất đắc dĩ) mà dùng “chìa khóa” điện tử để
xác nhận quyền ra vào nhà. Vì vậy mà khóa cửa điện tử hay còn được gọi là khóa không
cần chìa. Mỗi loại khóa sẽ có một cách xác thực khác nhau và chúng cũng có điểm mạnh,
điểm yếu của riêng nhưng đều bảo đảm an ninh tốt nhất cho các gia đình, doanh nghiệp.
Giống với mã Pin của thẻ ngân hàng, mật khẩu các tài khoản mạng xã hội… Khóa
mã số đúng với tên gọi của nó, sử dụng chuỗi mã số làm mật khẩu để xác nhận quyền
mở cửa nhà. Cơ chế hoạt động của khóa điện tử phổ biến trên nhiều vật dụng hiện đại
Ưu điểm:
- Hệ thống chỉ yêu cầu người dùng ghi nhớ mã số và nhập nó vào ổ khóa mỗi lần
mở cửa.
- Các mã khác nhau có thể được sử dụng cho các cửa ra vào khác nhau, cũng như
các mã chính hoạt động cho tất cả các cửa ra vào.
- Độ dài của pass không giới hạn vì vậy người dùng không cần lo lắng về việc có ai
đó hack pass của bạn.
Nhược điểm:
- Nếu không cẩn thận, mã số này có thể được nhìn thấy bởi những người khác và họ
sẽ sao chép.
- Mã số có thể bị quên bởi chính các thành viên trong gia đình hoặc doanh nghiệp
- Việc sử dụng nhiều mã tăng cơ hội của mã được đoán.
Ưu và nhược điểm của khóa thẻ từ
Khóa cử thẻ từ sử dụng thiết bị nhận dạng tần số vô tuyến (RFID), tương tự như mã
thông báo xác thực. Sự khác biệt chính là tín hiệu có thể mở khóa từ xa hơn. Thẻ từ có
chức năng như một chiếc chìa khóa thông thường, người dùng chỉ cần đưa thẻ lại gần ô
đọc thẻ trên ổ khóa để xác nhận và cửa sẽ mở nếu đúng mã thẻ được đăng ký trên hệ
thống. Ngoài ra, một số hãng khóa thẻ từ cao cấp đã trang bị cho dòng khóa này khả
năng kết nối với điện thoại thông minh qua Bluetooth của người dùng, như vậy cửa có
thể được mở thông qua smartphone mà không cần thẻ từ.
Ưu điểm:
- Được sử dụng cho các khách sạn, doanh nghiệp với quy mô phòng lớn
- Cho phép điện thoại thông minh trở thành chìa khóa.
- Sử dụng phần mềm quản lý tối ưu, kiểm soát chặt chẽ an ninh ra vào phòng.
Nhược điểm:
Khóa cửa vân tay hay còn gọi là khóa sinh trắc học từng chỉ xuất hiện trong các loạt
phim về gián điệp của Holywood, nhưng hiện nay loại khóa này đã tồn tại và được sử
dụng trên thị trường khá nhiều. Smartphone thông minh iPhone của hãng Apple cũng sử
dụng sinh trắc học để xác nhận mở khóa cho điện thoại cá nhân. Nhưng sinh trắc học ở
khóa cửa vân tay cao cấp có thể sẽ cao cấp hơn thế, đó bắt đầu từ việc quét mắt và võng
mạc mắt, nhận biết khuôn mặt và nhận diện giọng nói là tất cả các ví dụ tiêu chuẩn về
sinh trắc học. Còn các dòng khóa cửa vân tay hiện nay, chất lượng của ô cảm biến đọc
vân tay sẽ quyết định hiệu quả và an ninh của dòng khóa này.
Ưu điểm:
- Trường hợp làm mất thẻ từ hoặc quên mã số sẽ không bao giờ xảy ra.
- Bạn chính là “chìa khóa” để mở khóa nhà của bạn.
- Bộ lưu mã vân tay trên ổ khóa dễ cài đặt với người dùng, việc xóa mã vân tay đã
nhập hoặc thêm mã vân tay của một người khác có thể được thực hiện đơn giản.
Nhược điểm:
- Cảm biến vân tay được chia thành nhiều loại và nếu người dùng không có kiến
thức về sản phẩm này, dễ mua phải thiết bị rởm, vân tay giả của kẻ gian có thể dễ
dàng vượt qua bảo mật.
1.2. Giới thiệu linh kiện sử sụng làm khóa số mở cửa bằng bàn phím và thẻ từ
Arduino Nano được sử dụng làm vi điều khiển chính cho mạch với tính năng gọn nhẹ
thích hợp với mạch. Đây là một bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển
AVRAtmega328. Cấu tạo chính của Arduino Nano bao gồm các phần sau:
- Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển.
Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy
tính.
- Chân giao tiếp: Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một
chân nối đất (GND) và một chân điện áp tham chiếu (AREF).
- Vi điều khiển AVR: đây là bộ xử lí trung tâm của toàn bo mạch. Với mỗi mẫu
Arduino khác nhau thì con chip là khác nhau. Ở con Arduino Nano này thì sử dụng
ATMega328.
Thông số kĩ thuật:
- Vi xử lý ATmega328 (phiên bản v3.0).
- Điện áp hoạt động 5 V.
- Điện áp đầu vào (khuyến nghị) 7-12 V.
- Điện áp đầu vào (giới hạn) 6-20 V.
- Chân vào/ra số 14 (6 chân có khả năng xuất ra tín hiệu PWM).
- Chân vào tương tự 8.
- Dòng điện mỗi chân vào/ra 40 mA.
- Bộ nhớ 16 KB (ATmega168), 32 KB (ATmega328) trong đó 2 KB dùng để nạp
bootloader.
Bàn phím số ma trận sử dụng làm mã bảo mật cho cửa, như một chìa khóa thông minh
tiện lợi mà không cần mang bên cạnh, bạn không còn phải lo lắng về việc quên hay mất
chìa khóa.
Dưới đây là hình ảnh sơ đồ nguyên lý của module bàn phím 4x4. Tuy có đến 16 nút
nhấn, nghĩa là nếu làm một cách thông thường (dùng chân digital) thì chúng ta phải cần
đến 16 chân Arduino để đọc. Nhưng với bàn phím này, chúng ta chỉ cần dùng 8 chân (4
chân hàng ngang (row), và 4 chân cột dọc (column)).
Thông số kỹ thuật:
- Module bàn phím ma trận 4x4 loại phím mềm.
- Độ dài cáp: 88mm.
- Nhiệt độ hoạt động 0 ~ 70oC.
- Đầu nối ra 8 chân.
- Kích thước bàn phím 77 x 69 mm.
Tính năng:
1.2.3. I2C
I2C, viết tắt của từ tiếng Anh “Inter-Integrated Circuit”, là một loại bus nối tiếp được
phát triển bởi hãng sản xuất linh kiện điện tử Philips. Ban đầu, loại bus này chỉ được
dùng trong các linh kiện điện tử của Philips. Sau đó, do tính ưu việt và đơn giản của nó,
I2C đã được chuẩn hóa và được dùng rộng rãi trong các mô đun truyền thông nối tiếp
của vi mạch tích hợp ngày nay.
LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng nhiều
chân của vi điều khiển. Module chuyển đổi I2C cho LCD sẽ giải quyết vấn đề này , thay
vì sử dụng tối thiểu 6 chân của vi điều khiển để kết nối với LCD (RS, EN, D7, D6, D5
và D4) thì với module chuyển đổi chỉ cần sử dụng 2 chân (SCL, SDA) để kết nối. Module
chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 1602, LCD 2004,
… ), kết nối với vi điều khiển thông qua giao tiếp I2C, tương thích với hầu hết các vi
điều khiển hiện nay.
Thiết bị LCD được sử dụng rất nhiều trong VDK, LCD có nhiều ưu điểm so với các
dạng hiển thị khác : hiển thị kí tự đa dạng, trực quan, dễ dàng đưa vào mạch ứng dụng
VSS 0V
1
VDD 5V
2
Tùy chỉnh độ tương phản
của LCD 16x2, giá trị điện
V0 áp trên chân V0 tùy từng
3
loại LCD, bình thường điện
áp V0 từ 0V1V.
Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ
cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển với góc quay nằm
trong khoảng bất kì từ 0o - 180o.
Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của động
cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi
tiếp về arduino. Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ, cơ
cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn. Mạch điều khiển
tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác.
Động cơ servo được sử dụng làm chốt cửa được điều khiển theo vòng quay.
Thông số kỹ thuật:
- Khối lượng : 9g.
- Kích thước: 22.2x11.8.32 mm.
- Momen xoắn: 1.8kg/cm.
- Tốc độ hoạt động: 60 độ trong 0.1 giây.
- Điện áp hoạt động: 4.8V(~5V).
- Nhiệt độ hoạt động: 0 ºC – 55 º.
Điều khiển:
Kết nối dây màu đỏ với 5V, dây màu nâu với mass, dây màu cam với chân phát
xung của vi điều khiển. Ở chân xung cấp một xung từ 1ms-2ms theo để điều khiển góc
quay theo ý muốn.
Sử dụng module RFID – RC522 để làm trạm quét thẻ từ. Phương thức quét thẻ là sử
dụng thẻ từ RFID. Modul thẻ từ RFID – RC522 được chuẩn hóa với module arduino
nên dễ dàng kết nối với arduino, với độ nhạy, ổn định, đặc biệt là những ứng dụng đòi
hỏi sóng vô tuyến, tính năng bảo mật cao. Được sử dụng như ổ khóa bảo về cho cửa.
Thông số kỹ thuật:
- Điện áp hoạt động: 3.3V 13-26mA.
Thẻ nhựa NFC 13.56 MHz dùng để đọc/ghi dữ liệu với tốc độ rất cao. Thẻ được sử
dụng thay thế cho chìa khóa cửa, tình năng dễ sử dụng và tính bảo mật cao. Thẻ tương
thích với module RFID RC522 13.56MHz và các module tương tự.
1.2.7. IC7805
Buzzer hay còn gọi là còi chíp hoặc còi xung, là thiết bị phát ra âm thanh (tiếng bíp
bíp) hay dùng trong các mạch điện tử.
Cấu tạo của Buzzer gồm 2 chân, chân dài là chân (+) và chân ngắn là chân (-). Trong
quá trình sử dụng cần chú ý mắc đúng chân để tránh làm hỏng buzzer.
Ứng dụng này sử dụng Buzzer 5V, có khả năng phát ra âm thanh có tần số tối đa
2.5kHz.
Chương I của đồ án giới thiệu về một số loại khóa điện tử được sử dụng trên thị
trường và trình bày về các linh kiện đã được sử dụng trong đồ án.
Những linh kiện này rất thông dụng trong arduino nên việc tìm hiểu và sử dụng thư
viện cũng không quá khó khăn.
Ở chương sau em sẽ giới thiệu kĩ hơn về các kết nối cũng như mạch nguyên lý của
đồ án. Nguyên lý hoạt động của các module, các phương thức giao tiếp đã được sử dụng.
Mạch được thiết kế qua mô phỏng từ những linh kiện có trong thư viện của altium
designer, giúp ta dễ dàng kết nối các linh kiện với nhau để tạo nên mạch nguyên lý.
Hình 2.1: Giao diện thiết kế mạch nguyên lý trong altium designer
- Khối vi điều khiển: Chỉ gồm Arduino Nano (thư viện LIBRARY) được kết nối với
các thiết bị ngoại vi.
2.2. Ngôn ngữ lập trình Arduino được sử dụng trong mạch
Giao diện thiết kế đơn giản giúp ta dễ dàng sử dụng, chương trình được viết dựa trên
ngôn ngữ lập trình C đã được học.
Thư viện đã được viết sẵn giúp đã dễ dàng sử dụng để giao tiếp với phần cứng trong
mạch.
Arduino Nano được kết nối với máy tính qua cổng Mini - USB và sử dụng chip
CH340 để chuyển đổi USB sang UART, chương trình điều khiển được nạp vào bằng
dây cáp USB 2 đầu. Arduino sẽ lưu trữ và xử lý các lệnh đã được lập trình để điều khiển
các thiết bị ngoại vi đã được kết nối.
Module được kết nối trực tiếp với Arduino qua các chân giao tiếp. Để kiểm tra xem
một nút đã được nhấn hay chưa, ta dùng phương pháp quét phím như sau:
Radio Frequency Identification (RFID) là công nghệ nhận dạng đối tượng bằng sóng
vô tuyến. Hai thiết bị này hoạt động thu phát sóng điện từ cùng tần số với nhau. Các tần
số thường được sử dụng trong hệ thống RFID là 125Khz hoặc 900Mhz .
Cấu tạo
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 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 , sau đó dữ liệu được đưa đến Arduino
và truyền về máy tính qua cổng giao tiếp.
Với ưu điểm về mặt công nghệ như vậy nên sự bảo mật và độ an toàn của các thiết bị
ứng công nghệ RFID là rất cao.
Ở đề tài này, em sử dụng hai thiết bị để nhận dữ liệu đầu vào là module RFID và bàn
phím Keyboard 3x4.
2.5.1. Chuẩn giao tiếp SPI giữa Arduino Nano với module RFID-RC552
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng
Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master
điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế
truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full
duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời.
SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn
này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput
Slave Input) và SS (Slave Select). Hình 2.7 thể hiện một kết SPI giữa một chip Master
và 3 chip Slave thông qua 4 đường.
Đối với Arduin Nano các chân giao tiếp SPI Lần lượt là SS-10; MOSI-11; MISO-
12; SCK-13.
Dữ liệu được truyền qua lại giữa 2 đường MISO và MOSI. Điều này chỉ thực hiện
được khi Dòng SS được thiết lập ở mức thấp LOW. Nói cách khác, để giao tiếp với một
thiết bị SPI chúng ta cần thiết lập các dòng SS với thiết bị ở mức thấp LOW, sau đó giao
tiếp với nó, sau đó thiết lập các dòng SS trở lại mức cao HIGH.
LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng nhiều
chân của arduino. Module chuyển đổi I2C cho LCD đã giải quyết vấn đề này , thay vì
- Một đường xung nhịp đồng hồ (SCL) chỉ do Master phát đi (thông thường ở
100kHz và 400kHz. Mức cao nhất là 1Mhz và 3.4MHz).
- Một đường dữ liệu (SDA) theo 2 hướng.
Một giao tiếp I2C dựa vào quan hệ chủ/tớ. Như vậy arduino nano muốn gửi dữ liệu
đến thiết bị LCD, quá trình được thực hiện như sau:
- Thiết bị arduino nano (Chủ) xác định đúng địa chỉ của thiết bị LCD (tớ), cùng với
việc xác định địa chỉ, Arduino nano sẽ quyết định việc đọc hay ghi vào thiết bị tớ.
- Arduino gửi dữ liệu tới thiết bị LCD.
- Arduino kết thúc quá trình truyền dữ liệu.
Khi Arduino muốn nhận dữ liệu từ LCD, quá trình diễn ra như trên, chỉ khác là
Arduino sẽ nhận dữ liệu từ LCD. Trong giao tiếp này, Arduino là chủ còn LCD vẫn là
tớ. Chi tiết việc thiết lập một giao tiếp giữa hai thiết bị sẽ được mô tả chi tiết trong các
mục dưới đây:
- Thiết bị chủ tạo một điều kiện start. Điều kiện này thông báo cho thiết bị
tớ lắng nghe dữ liệu trên đường truyền.
- Thiết bị chủ gửi địa chỉ của thiết bị tớ mà thiết bị chủ muốn giao tiếp và cờ đọc/ghi
dữ liệu (nếu cờ thiết lập lên 1 byte tiếp theo được truyền từ thiết bị tớ đến thiết bị
chủ, nếu cờ thiết lập xuống 0 thì byte tiếp theo truyền từ thiết bị chủ đến thiết bị
tớ).
- Khi thiết bị tớ trên bus I2C có địa chỉ đúng với địa chỉ mà thiết bị chủ gửi sẻ phản
hồi lại bằng một xung.
- Giao tiếp giữa thiết bị chủ và tớ trên bus dữ liệu bắt đầu. Cả chủ và tớ đều có thể
nhận hoặc truyền dữ liệu tùy thuộc vào việc truyền thông là đọc hay viết. Bộ truyền
gửi 8 bit dữ liệu tới bộ nhận, Bộ nhận trả lời với một bit.
- Để kết thúc quá trình giao tiếp, thiết bị chủ tạo ra một điều kiện stop.
START và STOP là những điều kiện bắt buộc phải có khi thiết bị chủ arduino muốn
thiết lập giao tiếp với thiết bị LCD trên bus I2C. START là điều kiện khởi đầu,báo hiệu
bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp. Hình dưới đây mô tả
điều kiện START và STOP.
Ban đầu khi chưa thực hiện quá trình giao tiếp, cả hai đường SDA và SCL đều ở mức
cao (SDA = SCL = HIGH). Lúc này bus I2C được coi là rỗi (“bus free”), sẵn sàng cho
Điều kiện START: một sự chuyển đồi trạng thái từ cao xuống thấp trên đường SDA
trong khi đường SCL đang ở mức cao (cao = 1; thấp = 0) báo hiệu một điều kiện START.
Đỉều kiện STOP: Một sự chuyển đổi trạng thái từ mức thấp lên cao trên đường SDA
trong khi đường SCL đang ở mức cao. Cả hai điều kiện START và STOP đều được tạo
ra bởi thiết bị chủ. Sau tín hiệu START, bus I2C coi như đang trong trạng thái làm việc
(busy). Bus I2C sẽ rỗi, sẳn sàng cho một giao tiếp mới sau tín hiệu STOP từ phía thiết
bị chủ.
Truyền dữ liệu: Mỗi xung clock có một bit dữ liệu được truyền. Mức tín hiệu SDA
chỉ được thay đổi khi xung clock đang ở mức thấp, và ổn định khi xung clock ở mức
cao. Thiết bị tớ có thể lấy mẫu dữ liệu khi xung clock ở mức cao.
- I2C sử dụng chỉ có hai tín hiệu để giao tiếp hai chiều, trong khi SPI sử dụng ba.
Bắt đầu và ngừng điều kiện được chỉ định bởi một quá trình chuyển đổi trên SDA
(dữ liệu) dòng, với CAO dòng đồng hồ. SPI không cần đó, kể từ khi đồng hồ thực
sự thay đổi dữ liệu, cả trong và ngoài của master/slave.
- I2C cho phép các địa chỉ, SPI thì không. Trong thực tế, SPI tín hiệu yêu cầu bổ
sung để chọn những slave khác nhau.
- I2C là một giao tiếp đồng bộ, bao gồm phát hiện va chạm, SPI sử dụng một tổng
thể duy nhất mà thay đổi dữ liệu vào/ra khỏi sổ đăng ký thay đổi trong tổng thể và
các slave hoạt động.
- I2C cho phép trả về xung ACK sau khi nhận dữ liệu, SPI thì không.
Ở chương này em đã đưa ra mạch nguyên lý và nêu tên các khối trong mạch. Các
phương thức giao tiếp SPI và I2C, phương thức quét phím ma trận đã được nêu ra trong
đề tài.
Ở chương sau em sẽ trình bày kết quả sau quá trình thực hiện làm mạch và chương
trình điều khiển cho mạch khóa số điện tử.
Sau khi thực hiện vẽ mạch nguyên lý ta kiểm tra lại và chuyển sang mạch PCB, thực
hiện sắp xếp linh kiện sao cho phù hợp, để quá trình thực hiện đi dây cho mạch dễ
dàng hơn. Sau quá trình sắp xếp ta thực hiện đi dây cho mạch sao cho các dây kết nối
với nhau và ít sử dụng dây hai lớp, cuối cùng ta được mạch như hình 3.1.
#include <RFID.h>
#include <Servo.h>
#include <Wire.h>
Servo myservo;
#include <SPI.h>
#include <Keypad.h>
int dem=0;
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A' },
{'4','5','6','B' },
{'7','8','9','C' },
{'*','0','#','D' }
};
#define SS_PIN 10
#define RST_PIN 9
unsigned char i;
void setup()
myservo.attach(3);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.display();
lcd.clear();
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
lcd.setCursor(4,0);
lcd.print("hello");
delay(1000);
lcd.setCursor(2,1);
delay(1000);
rfid.init();
myservo.write(90);
void buzze()
digitalWrite(2, HIGH);
delay(100);
digitalWrite(2, LOW);
delay(100);
void buzze1()
digitalWrite(2, HIGH);
delay(400);
digitalWrite(2, LOW);
delay(100);
void buzze2()
digitalWrite(2, HIGH);
delay(400);
digitalWrite(2, LOW);
delay(400);
delay(400);
digitalWrite(2, LOW);
void loop()
char password = 0;
lcd.clear();
lcd.setCursor(1,0);
lcd.print("NHAP PASSWORD:");
int index = 5;
while(password != '*'){
password = customKeypad.getKey();
if(password){
lcd.setCursor(index,1);
index ++;
lcd.print("*");
lcd.clear();
lcd.setCursor(1,0);
lcd.print("NHAP PASSWORD:");
typePass = "";
typePass += String(password);
if(typePass == PASS_CODE[i]){
check_id = true;
password=0;
typePass = "";
break;
else
check_id = false;
typePass = "";
dem++;
if(dem==3)
dem=0;
lcd.clear();
lcd.setCursor(0,0);
buzze2();
delay(5000);
break;
check_user();
/////////////////
/////////////////
if (rfid.isCard())
if (rfid.readCardSerial())
buzze();
ID_Card[i] = rfid.serNum[i];
Serial.print(" ");
delay(200);
if(ID_Card[i]== RDID_CODE[i]){
check_id = true;
break;
else
check_id = false;
check_user();
rfid.halt();
void check_user(){
if(check_id){
lcd.clear();
lcd.setCursor(4,1);
myservo.write(180);
delay(50);
buzze();
delay(4000);
myservo.write(90);
buzze();
else {
lcd.setCursor(0,1);
buzze1();
delay(1000);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("XIN CHAO");
lcd.setCursor(2,1);
Ở chương III trình bày về kết quả sau khi thực hiện làm mạch in và hàn mạch ta được
mạch khóa như trên hình 3.2, chương trình được nạp cho Arduino Nano qua cổng USB.
Thiết kế và hoàn thành sản phẩm, hiểu rõ nguyên tắc hoạt động của sản phẩm, mức
độ an toàn và bảo mật cao.
Trải qua một thời gian nghiên cứu thực hiện đề tài, em đã hoàn thành đồ án “Khóa
số điện tử sử dụng bàn phím và thẻ từ” theo như các nội dung và yêu cầu đã đặt ra
trong bản đề cương đề tài. Trong quá trình thực hiện đã gặp nhiều vấn đề khó khăn
nhưng đồng thời cũng chính là động lực thúc đẩy để em hoàn thành đồ án tốt nghiệp
này.
- Tìm hiểu về các giao tiếp SPI và I2C, phương thức quét phím ma trận.
- Sử dụng Altium Designer để thiết kế mạch nguyên lý và mạch in.
- Lập trình cho vi điều khiển Arduino Nano.
- Nắm rõ hơn công nghệ RFID.
- Nghiên cứu thêm các tính năng mới và hoàn thiện sản phẩm.
- Sử dụng thêm các cảm biến có tính năng thông minh hơn như đếm được số người
ra vào cửa.
- Thêm app điều khiển để đóng mở cửa từ xa thông qua Wifi hoặc Bluetooth.
- Thông báo cảnh bảo gửi về điện thoại thông qua tin nhắn.
Qua quá trình thực hiện đồ án được sự hướng dẫn tận tình của các thầy cô, em đã
được làm việc và nghiên cứu một cách khoa học hơn, hiệu quả hơn. Qua đó phần nào
thể hiện được sự đam mê với ngành kỹ thuật điện tử. Những kiến thức đạt được sau quá
trình nghiên cứu và học tập tại trường, nhất là những kiến thức tiếp thu được trong quá
trình thực hiện đồ án sẽ rất có ích cho em trong quá trình làm việc sau này.
Do kiến thức còn hạn chế nên quá trình thực hiện không tránh khỏi những thiếu sót
và việc trình bày nội dung cũng có những điểm chưa hoàn thiện. Rất mong được quý
Thầy Cô góp ý và bổ sung để đề tài nghiên cứu này được hoàn thiện hơn.
1. http://arduino.vn
2. http:// laptrinhdieukhien.com
3. http://youtube.com