SlideShare a Scribd company logo
1 of 30
ĐỒ ÁN ĐCN1 Khóa điện tử
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG
ĐỒ ÁN ĐIỆN CÔNG NGHIỆP 1
ĐỀ TÀI: KHÓA ĐIỆN TỬ
Giảng viên hướng dẫn: Ths. Lưu Thiện Quang
NHÓM 21
TÊN MÃ SỐ SINH VIÊN
TRẦN BÌNH TRỌNG 2051060216
TRẦN CÔNG VINH 2051060223
TP. HỒ CHÍ MINH, THÁNG 4/2023
ĐỒ ÁN ĐCN1 Khóa điện tử
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
MỤC LỤC TRANG
NỘI DUNG
MỞ ĐẦU..............................................................................................................................1
1. Giới thiệu chung:.........................................................................................................1
2. Mục đích thực hiện đề tài:..........................................................................................1
3. Nhiệm vụ đề tài: ..........................................................................................................1
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN......................................................................3
1.1. Giới chung về khóa điện tử. ....................................................................................3
1.1.1. Ưu điểm...............................................................................................................3
1.1.2. Nhược điểm ........................................................................................................3
1.2. Giới thiệu tổng quan vi điều khiển Arduino: ........................................................3
1.3. Sơ đồ khối: ................................................................................................................4
1.4. Chức năng hệ thống:................................................................................................4
1.5. Lưu đồ hoạt động:....................................................................................................5
CHƯƠNG 2: LỰA CHỌN VÀ ĐẶC TÍNH THIẾT BỊ..................................................6
2.1. Vi điều khiển Arduino .............................................................................................6
2.1.1. Cấu tạo của Arduino .........................................................................................6
2.3. LCD 1602 ..................................................................................................................9
2.3.1. Tổng quan LCD 1602:.......................................................................................9
2.3.2. Sơ đồ chân – Pin Out.......................................................................................10
2.3.3. Cách hoạt động của LCD1602........................................................................11
2.3.4. Module giao tiếp I2C .......................................................................................11
2.4. Động cơ bước servo................................................................................................12
2.4.1. Servo SG90. ......................................................................................................13
2.4.2. Servo MG996R.................................................................................................13
2.5. Giới thiệu về Blynk ................................................................................................14
2.5.1. Đặc tính.............................................................................................................14
2.5.2. Thiết lập Blynk trên máy tính ........................................................................15
CHƯƠNG 3. THIẾT KẾ VÀ MÔ PHỎNG...................................................................18
3.1. Mạch thiết kế. .........................................................................................................18
ĐỒ ÁN ĐCN1 Khóa điện tử
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
3.2. Code mạch khóa điện tử........................................................................................18
CHƯƠNG 4. KẾT LUẬN................................................................................................26
4.1. Kết luận...................................................................................................................26
4.2. Hướng phát triển đề tài .........................................................................................26
TÀI LIỆU THAM KHẢO................................................................................................27
1. Bài giảng vi xử lí – Trường đại học giao thông vận tải Thành phố Hồ Chí Minh.
.........................................................................................................................................27
2. https://www.slideshare.net/trongthuy1/luan-van-thiet-bi-khoa-cua-bang-bao-
mat-va-the-chip-rfid-hay..............................................................................................27
3. https://arduinokit.vn/blynk-la-gi-huong-dan-cai-dat-va-su-dung-blynk-2-0/.....27
4. https://youtu.be/03eXgEKxZrc................................................................................27
5. https://youtu.be/jvKVU_cUPd8...............................................................................27
6. https://youtu.be/IcEmUOmZ19c .............................................................................27
ĐỒ ÁN ĐCN1 Khóa điện tử
1
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
MỞ ĐẦU
1. Giới thiệu chung:
Trong một xã hội hiện đại, sự phát triển của nghành điện tử viễn thông là một yêu
cầu không thể thiếu để thúc đẩy nền kinh tể phát triển và góp phần nâng cao đời sống xã
hội.
Ngày nay, trên thế giới, điện tử vẫn không ngừng phát triển với tốc độ rất cao và
thâm nhập ngày càng sâu vào tất cả các lĩnh vực của đời sống xã hội. Trong đó, lĩnh vực
bảo mật là một mảng lớn mà chúng ta cần quan tâm. Chính vì thế, với mục đích làm quen
bước đầu với việc thiết kế mạch điện tử nói chung và với hệ thống an toàn, bảo mật nói
riêng, chúng em chọn đề tài “khóa điện tử” để nghiên cứu và thực hiện. Hệ thống này cho
phép ta quản lí và hạn chế được số người mở khóa, hay rộng hơn là ra vào những khu vực
cần bảo mật. Đề tài tuy không lớn, song về nguyên lí thì có thể phát triển thành các ứng
dụng quản lí mà hiện nay đang rất cần thiết. Vì thế, đối với chúng em đây là bước cơ sở để
nghiên cứu những ứng dụng lớn hơn sau này.
2. Mục đích thực hiện đề tài:
Bằng cách sử dụng sử dụng Arduino và các linh kiện. Ta có thể tạo ra thiết bị KHÓA ĐIỆN
TỬ. Đối với trong việc bảo vệ tài sản là hết sức cần thiết, thiết bị có thể mở khóa nếu mật
mã đúng hoặc ngược lại.
3. Nhiệm vụ đề tài:
Thiết kế mạch khóa số điện tử. Sử dụng Arduino và ma trận phím để nhập mật mã và xuất
dữ liệu ra LCD. Xây dựng phần cứng hệ thống (nếu có).
Yêu cầu thiết kế:
 Dùng điện thoại hoặc website điều khiển đóng mở cửa
 Có ma trận bàn phím 4x4 để nhập pass
 Hiển thị pass và thông báo kết quả lên màn hình LCD
 Nếu đúng thì động cơ bước mở cửa
 Nếu sai quá 3 lần thì còi sẽ báo động
ĐỒ ÁN ĐCN1 Khóa điện tử
2
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
Trong quá trình thực hiện đề tài, chúng em xin chân thành cảm ơn thầy giáo Lưu
Thiện Quang đã hướng dẫn tận tình và giải quyết những khó khăn mà chúng em gặp phải.
Tuy đã cố gắng song do những hạn chế về thời gian tìm hiểu, kiến thức cũng như kinh
nghiệm thực tế nên chúng em không tránh khỏi nhiều thiếu sót. Chúng em rất mong nhận
được những ý kiến đóng góp của thầy cô và các bạn để đề tài của chúng em được hoàn thiện
hơn, với nhiều chức năng và phát triển, nâng cấp hiện đại hơn.
ĐỒ ÁN ĐCN1 Khóa điện tử
3
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1.1. Giới chung về khóa điện tử.
Khoá điện tử (hay còn gọi là khoá thông minh) là loại khoá hoạt động bằng điện,
được gắn cố định lên cửa, sử dụng chip điện tử để nhận diện và mở khoá qua các cách khác
nhau mà không cần đến chìa khoá như các ổ khoá truyền thống, bao gồm: mở bằng vân tay,
thẻ từ, mật mã, remote hoặc wifi/ bluetooth.
1.1.1. Ưu điểm
Mở/ đóng cửa nhanh chóng, tiện lợi
Đảm bảo an toàn cho người sử dụng hơn khoá truyền thống
Dễ dàng chia sẻ với các thành viên trong gia đình
Dễ thay đổi chế độ phù hợp
Để đảm bảo tính bảo mật
Tăng tính thẩm mỹ, hiện đại cho căn nhà
Khoá điện tử thường có thiết kế hiện đại và màu sắc tinh tế, giúp không gian nhà bạn
thêm sang trọng, thẩm mỹ.
1.1.2. Nhược điểm
Vì các tiện ích vượt trội nên giá thành khoá điện tử cao gấp nhiều lần so với khoá
truyền thống, cũng như công đoạn lắp đặt phức tạp, tốn nhiều thời gian.
Trong quá trình sử dụng, bạn cũng cần chú ý đến đèn báo hiệu pin yếu trên khoá để
thay pin kịp thời.
1.2. Giới thiệu tổng quan vi điều khiển Arduino:
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự án điện tử.
Thành phần của Arduino bao gồm mạch điều khiển và phần mềm hoặc IDE (Môi trường
phát triển tích hợp) chạy trên máy tính của bạn được sử dụng để viết và tải mã máy tính lên
mạch điều khiển.
Nền tảng Arduino trở nên khá phổ biến đối với những người mới bắt đầu. Không
giống như các bảng mạch điện tử được lập trình trước đó. Arduino không cần một mạch
chủ riêng để tải mã nguồn vào mạch điều khiển mà người dùng chỉ cần sử dụng dây cáp
USB.
ĐỒ ÁN ĐCN1 Khóa điện tử
4
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
Ngoài ra, Arduino IDE sử dụng nền tảng đơn giản hóa của C++, giúp cho việc học
ngôn ngữ lập trình Arduino trở nên dễ dàng hơn.
Trong các phiên bản của Arduino thì Uno là một trong những bo mạch phổ biến nhất
và đây cũng là sự lựa chọn tuyệt vời cho những người mới bắt đầu. Tuy nhiên để có thể học
tốt Arduino thì bạn phải có nền tảng cơ bản về điện tử và lập trình C, C++ trước đó.
1.3. Sơ đồ khối:
Sơ đồ các khối chức năng
1.4. Chức năng hệ thống:
Mã gồm có 4 chữ số.
Hệ thống giao tiếp với người sử dụng thông qua một bàn phím điều khiển và hiển thị trên
màn hình LCD.
Bàn phím gồm các phím số 0-9 và các phím chức năng.
Khi nhập đúng mật khẩu cửa sẽ mở và nếu mật khẩu sai 3 lần thì còi sẽ báo động.
Có hệ thống điều khiển từ xa bằng máy tính hoắc điện thoại để đóng/mở cửa.
KHỐI VI ĐIỀU KHIỂN
KHỐI BÀN PHÍM KHỐI HIỂN THỊ
KHỐI MỞ CỬA
ĐỒ ÁN ĐCN1 Khóa điện tử
5
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
1.5. Lưu đồ hoạt động:
BEGIN
KHỞI TẠO LCD
KHỞI TẠO BÀN PHÍM
NHẬP MẬT
MÃ
ĐÚNG
MỞ CỬA
SAI
So sánh Pass
BLYNK
BÁO ĐỘNG
SAI 3 LẦN
ĐỒ ÁN ĐCN1 Khóa điện tử
6
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
CHƯƠNG 2: LỰA CHỌN VÀ ĐẶC TÍNH THIẾT BỊ
2.1. Vi điều khiển Arduino
2.1.1. Cấu tạo của Arduino
Sơ đồ chân Arduino
Nguồn (USB / Barrel Jack)
Mỗi mạch Arduino đều có cổng kết nối với nguồn điện. Cụ thể trên đây mà mạch
Arduino UNO có thể được lấy nguồn từ dây cáp USB từ máy tính của bạn, hoặc một số
nguồn DC khác có Jack DC. Trong hình trên nguồn kết nối qua cổng USB được dán nhãn
(1) và Jack DC được dán nhãn (2).
Chân kết nối USB cũng là chân để bạn có thể tải code lên bo mạch Arduino.
Các chân (5V, 3.3V, GND, Digital, Analog, PWM, ISF)
Các chân trên là nguồn ra mà bạn có thể kết nối dây đầu ra với các tải hoặc một số
mạch kết nối bên ngoài. Với các loại Arduino sẽ có thể một số loại chân khác nhau. Ở mỗi
chân đều được in các nhãn và ký tự để người sử dụng có thể phân biệt được.
 GND (3) : Viết tắt của ‘Ground’ là mass. Có một số chân GND trên Arduino, bất kỳ
các chân GND trong số đó có thể được sử dụng để nối mass mạch của bạn.
ĐỒ ÁN ĐCN1 Khóa điện tử
7
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
 5V (4) & 3.3V (5) : Chân 5V cung cấp năng lượng 5 volt và chân 3,3V cung cấp 3,3
volt. Hầu hết các thành phần đơn giản được sử dụng với Arduino đều hoạt động bình
thường ở mức 5 hoặc 3,3 volt.
 Analog (6) : Các chân được dán nhãn ‘Analog In’ (A0 đến A5 trên UNO) là các
chân Analog In. Các chân này có thể đọc tín hiệu từ các cảm biến tương tự (như cảm
biến nhiệt độ ) và chuyển đổi nó thành một giá trị Digital mà chúng ta có thể đọc
được.
 Digital (7): Các chân Digital được dán nhãn từ 0 – 13 trên Arduino UNO, các chân
này có thể được sử dụng cho cả đầu vào digital nếu như là các nút nhấn và đầu ra
digital nếu như cấp nguồn cho LED.
 PWM (8): Bạn có thể nhìn thấy những dấu (~) nằm ở bên cạnh các chân 3, 5, 6, 9,
10 và 11 trên mạch. Các chân này đều có chức năng hoạt động như các chân Digital
thông thường, nhưng cũng có thể sử dụng để điều chế độ rộng xung PWM. Bạn có
thể hình dung các chân này có thể được sử dụng mô phỏng đầu ra tín hiệu Analog.
 ISF (9): Được viết tắt của cụm từ Analog Reference, hầu hết chân này thường không
được sử dụng. Đôi khi nó được sử dụng để có thể đặt điện áp tham chiếu trong
khoảng từ 0 – 5V làm giới hạn cho các chân đầu vào Analog.
Nút Reset (Reset Button)
Nút reset (10) có nhiệm vụ khởi động lại bất kỳ đoạn code nào được tải trên Arduino. Điều
này rất hữu ích nếu code của bạn không có vòng lặp nhưng bạn lại muốn kiểm tra chương
trình đó nhiều lần.
Đèn LED báo nguồn (Power LED Indicator)
Đèn báo được nắp ngay bên phải của chữ UNO, đó là một đèn LED nhỏ được dán nhãn ON
(11).
Đèn báo này có nhiệm vụ báo khi có nguồn cấp vào Arduino. Trong một số trường hợp đèn
không sáng thì chắc chắn có vấn đề xảy ra. Bạn có thể kiểm tra lại dây cáp USB, nguồn cấp
và cả mạch nữa.
LED TX và RX (TX RX LEDs)
ĐỒ ÁN ĐCN1 Khóa điện tử
8
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
TX là LED hiển thị tín hiệu truyền đi và RX là hiển thị tín hiệu nhận về. Những tín
hiệu này xuất hiện khá nhiều trong các thiết bị điện tử để có thể chỉ ra những chân thực hiện
nhiệm vụ truyền tải nối tiếp. Trong trường hợp này, có 2 vị trí trên Arduino
UNO là TX và RX (12).
Các LED này có nhiệm vụ thông báo cho người dùng bất cứ khi nào Arduino được
nhận hoặc truyền dữ liệu đi. Ví dụ như tải một chương trình lên thì đèn sẽ hiển thị.
IC chủ (Main IC)
IC chủ là vị trí số 13. Đây được coi là bộ não của Arduino. IC thường được sử dụng
là dòng IC ATmega của công ty ATMEL sản xuất.
ATmega328P là một bộ vi điều khiển tiên tiến và nhiều tính năng. Nó là một trong
những vi điều khiển nổi tiếng của Atmel vì nó được sử dụng trong bo mạch arduino UNO.
Nó là một bộ vi điều khiển thuộc họ vi điều khiển megaMVR của Atmel (Cuối năm 2016,
Atmel được Microchip Technology Inc mua lại).
Đặc tính / Thông số kỹ thuật của ATmega328P
Thiết kế hiệu suất cao
Tiêu thụ ít điện năng
Tổng số chân ngõ vào Analog là 6
Chứa 32 kilobyte bộ nhớ flash
Chứa 2 kilobyte SRAM
Chứa 1 kilobyte EEPROM
Tốc độ xung nhịp 16 megahertz
Nhiệt độ tối thiểu và tối đa -40 độ C đến 105 độ C.
Tổng số chân I / O kỹ thuật số là 14 chân
RISC tiên tiến
Khóa chức năng chương trình để bảo mật mã lập trình
Chứa tổng cộng ba bộ định thời, hai 8 bit và một 16 bit
Tổng số chân I / O là 23 chân
Tổng số kênh PWM là 6
Điện áp hoạt động tối thiểu và tối đa từ 1.8V DC đến 5.5V DC
ĐỒ ÁN ĐCN1 Khóa điện tử
9
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
Bộ điều chỉnh điện áp (Voltage Regulator)
Bộ điều chỉnh điện áp (14), không được sử dụng nhiều. Nhiệm vụ của nó là điều chỉnh điện
áp, kiểm soát nguồn điện áp đưa vào mạch Arduino.
Nhưng cũng cần phải hết sức chú ý là bộ điều chỉnh điện áp này cũng có giới hạn của nó.
Vì vậy, tuyệt đối không nên kết nối mạch Arduino với nguồn điện DC lớn hơn 20V.
2.2. Giới thiệu Keypad 4x4
Keypad 4x4:
Bàn phím có tổng cộng 16 nút ở dạng Ma trận. Đây là một bàn phím màng không có
bộ phận chuyển động. Nó có một lớp phủ giống mô tả một bàn phím điện thoại với bồn nút
chức năng bổ sung. Một đâu nỗi nổi 8 chân được cung cấp để kết nối nó với các mạch điều
khiển của bạn.
Công dụng của keypad:
KeyPad là một thiết bị nhập chứa các nút bầm cho phép người dùng nhập các chữ số, chữ
cái hoặc ký tự điêu khiển. KeyPad không chứa tất cả bảng mã ASCII như keyboard vì thế
nó thường được sử dụng trong các ứng dụng chuyên dụng và tương đối đơn giản, ở đó, số
lượng nút nhân thay đổi phụ thuộc vào ứng dụng
Thông số kỹ thuật:
Module bàn phím ma trận 4x4 loại phím mềm.
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
2.3. LCD 1602
2.3.1. Tổng quan LCD 1602:
ĐỒ ÁN ĐCN1 Khóa điện tử
10
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
 Điện áp hoạt động là 5 V.
 Kích thước: 80 x 36 x 12.5 mm
 Chữ đen, nền xanh lá
 Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
 Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
 Có đè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
MÀN HÌNH LCD 1602
2.3.2. Sơ đồ chân – Pin Out
1. VSS: tương đương với GND – cực âm
2. VDD: tương đương với VCC – cực dương (5V)
3. Constrast Voltage (Vo): điều khiển độ sáng màn hình
4. Register Select (RS): điều khiển địa chỉ nào sẽ được ghi dữ liệu
5. Read/Write (RW): Bạn sẽ đọc (read mode) hay ghi (write mode) dữ liệu? Nó sẽ phụ
thuộc vào bạn gửi giá trị gì vào.
6. Enable pin: Cho phép ghi vào LCD
ĐỒ ÁN ĐCN1 Khóa điện tử
11
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
7. D0 – D7: 8 chân dư liệu, mỗi chân sẽ có giá trị HIGH hoặc LOW nếu bạn đang ở
chế độ đọc (read mode) và nó sẽ nhận giá trị HIGH hoặc LOW nếu đang ở chế độ
ghi (write mode)
8. Backlight (Backlight Anode (+) và Backlight Cathode (-): Tắt bật đèn màn hình
LCD.
2.3.3. Cách hoạt động của LCD1602
DISPLAY DATA RAM (DD RAM): Bộ nhớ hiển thị dữ liệu
Điều khiển LCD1602 chính là thay đổi giá trị của DD RAM, mỗi ô trên DD RAM tương
ứng với một vị trí của màn hình.
Với LCD1602 chúng có 2 line
 Line 1: từ 0x80 tới 0x8F
 Line 2: từ 0xC0 tới 0xCF
Ví dụ: Nếu bạn muốn hiển thị ở Line 1 ô đầu tiên, Chúng ta sẽ thay đổi giá trị của ô nhớ
địa chỉ 0x80. Giá trị được ghi sẽ so sánh với bảng mã trong CG ROM, từ đó hiển thị ra
đúng kí tự được lưu trên đó.
Lệnh để nhảy giữa các ô nhớ là Set cursor (con trỏ)
Character Generator ROM (CG ROM): Bộ nhớ kí tự chỉ đọc
Đây là bộ nhớ đươc ghi sẵn của LCD, trong đó chứa các kí tự mà lcd hỗ trợ. Có hai mẫu
Character mà LCD1602 hỗ trợ đó là 5×8 và 5×10
Character Generator RAM (CG RAM): Bộ nhớ kí tự có thể lập trình
Đây là bộ nhớ để người sử dụng có thể tự tạo ra các font chữ riêng trên LCD của mình.
2.3.4. Module giao tiếp I2C
ĐỒ ÁN ĐCN1 Khóa điện tử
12
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
Thông thường, để sử dụng màn hình LCD, bạn sẽ phải mất rất nhiều chân trên Arduino để
điều khiển. Do vậy, để đơn giản hóa công việc, người ta đã tạo ra một loại mạch điều khiển
màn hình LCD sử dụng giao tiếp I2C. Nói một cách đơn giản, bạn chỉ tốn ... 2 dây để điều
khiển màn hình, thay vì 8 dây như cách thông thường. Bởi vì giao tiếp I2C được thiết kế
riêng nhằm giúp LCD giao tiếp với Board xử lý một cách dễ dàng, nên rất dễ kết nối.
2 chân SDA và SCL là 2 chân tín hiệu dùng cho giao tiếp I2C.
2.4. Động cơ bước servo
Servo là một dạng động cơ điện đặc biệt.
Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ
yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục
Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,...
ĐỒ ÁN ĐCN1 Khóa điện tử
13
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
2.4.1. Servo SG90.
Động Cơ Servo SG90 là loại động cơ được dùng phổ biến trong các mô hình điều khiển
nhỏ và đơn giản như cánh tay robot. Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn
Driver điều khiển động cơ, dễ dàng điều khiển góc quay.
Thông Số Kỹ Thuật Động Cơ Servo SG90
 Khối lượng : 9g
 Kích thước: 23mmX12.2mmX29mm
 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 ºC
2.4.2. Servo MG996R.
MG996R là động cơ servo bánh răng kim loại với mô-men xoắn cực đại 11 kg / cm. Giống
như các RC servo khác, động cơ quay từ 0 đến 180 độ, nó có thể hỗ trợ lên đến 15 Kg khi
được cho ăn ở 6V, hoặc 13 Kg nếu được cho ăn ở 4.8v.
Thông số kỹ thuật
 Điện áp hoạt động thường là + 5V
 Hiện tại: 2.5A (6V)
 Mô-men xoắn gian hàng: 9,4 kg / cm (ở 4,8V)
 Mô-men xoắn cực đại của gian hàng: 11 kg / cm (6V)
 Tốc độ hoạt động là 0,17 s / 60°
 Loại bánh răng: Kim loại
 Xoay: 0° - 180°
 Trọng lượng của động cơ: 55gm
ĐỒ ÁN ĐCN1 Khóa điện tử
14
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
Kích thước động cơ Servo MG996R
2.5. Giới thiệu về Blynk
Blynk là một nền tảng IoT (Internet of Things) cung cấp các công cụ để kết nối, quản
lý và điều khiển các thiết bị từ xa thông qua mạng Internet. Blynk được phát triển với mục
đích giúp cho các nhà phát triển và những người không có kinh nghiệm trong lĩnh vực lập
trình có thể tạo và quản lý các ứng dụng IoT một cách dễ dàng và nhanh chóng.
Blynk cung cấp các công cụ, ví dụ như ứng dụng di động, giúp người dùng kết nối và
điều khiển các thiết bị IoT bằng cách sử dụng các cảm biến và các tín hiệu đầu vào. Người
dùng có thể tùy chỉnh giao diện người dùng để điều khiển thiết bị IoT của mình theo cách
tùy chỉnh và tạo ra các hành động và tương tác phức tạp thông qua một số lượng nhỏ các
lệnh mã.
Blynk cũng hỗ trợ một loạt các nền tảng phần cứng, bao gồm Arduino, Raspberry Pi,
ESP8266 và nhiều nền tảng khác nữa. Blynk cho phép người dùng dễ dàng tích hợp các
thiết bị IoT vào các dự án của mình mà không cần có kinh nghiệm lập trình.
2.5.1. Đặc tính
API và giao diện người dùng tương tự cho tất cả phần cứng và thiết bị được hỗ trợ
Kết nối với đám mây bằng cách sử dụng:
o Wifi
o Bluetooth và BLE
o Ethernet
ĐỒ ÁN ĐCN1 Khóa điện tử
15
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
o USB (Nối tiếp)
o GSM
o …
Bộ Widget dễ sử dụng
Thao tác ghim trực tiếp mà không cần viết mã
Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng ghim ảo
Theo dõi dữ liệu lịch sử qua tiện ích SuperChart
Giao tiếp giữa thiết bị với thiết bị sử dụng Bridge Widget
Gửi email, tweet, push notification…
2.5.2. Thiết lập Blynk trên máy tính
Đầu tiền truy cập vào https://blynk.cloud/ đăng nhập, nếu chưa có tài khoản thì chọn Create
new account để đăng ký. Các bạn nhập tên email vào, sau đó tích chọn Sign Up.
Họ sẽ gửi mail về cho bạn, sau đó chọn Create Pasword để tạo mật khẩu. Sau khi có tài
khoản, bạn đăng nhập vào chọn New Template, nhập tên và chọn đầy đủ như hình dưới:
ĐỒ ÁN ĐCN1 Khóa điện tử
16
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
Sau khi tạo xong sẽ hiện giao diện bên dưới, ta copy mã Template để dán vào code, link tải
code mình sẽ để ở phần dưới.
ĐỒ ÁN ĐCN1 Khóa điện tử
17
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
ĐỒ ÁN ĐCN1 Khóa điện tử
18
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
CHƯƠNG 3. THIẾT KẾ VÀ MÔ PHỎNG
3.1. Mạch thiết kế.
3.2. Code mạch khóa điện tử.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <SoftwareSerial.h>
#include <BlynkSimpleStream.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27,16,2);
SoftwareSerial DebugSerial(2, 3); // RX, TX
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
ĐỒ ÁN ĐCN1 Khóa điện tử
19
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
char Keys [ROWS][COLS] = {
{'7','8','9','/'},
{'4','5','6','*'},
{'1','2','3','-'},
{'C','0','=','+'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap (Keys), rowPins, colPins, ROWS,
COLS);
char keycount = 0;
char code [4];
Servo myServo;
Servo myServo2;
int speaker = 12;
int ledred = 16;
int ledaqua = 17;
#define BLYNK_TEMPLATE_ID "TMPL6cKiIoGmr"
#define BLYNK_TEMPLATE_NAME "KHOA DIEN TU"
#define BLYNK_AUTH_TOKEN "pgOmKdN4A1pKDY5GiBjyQDuNEpqyjRBx"
char auth[] = "pgOmKdN4A1pKDY5GiBjyQDuNEpqyjRBx";
//=============================================================
//=============================================================
void setup()
{
pinMode(speaker,OUTPUT);
pinMode(ledred,OUTPUT);
ĐỒ ÁN ĐCN1 Khóa điện tử
20
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
pinMode(ledaqua,OUTPUT);
lcd.init();//Khoi tao LCD
lcd.backlight();//Bat den LCD
lcd.setCursor(2,0);
lcd.print("NHAP MAT KHAU: ");
lcd.setCursor(0,1); //Di chuyen con tro den hang thu hai
lcd.print("4 SO:");
lcd.setCursor(5,1);
lcd.cursor();// Hien thi con tro
delay(300);
myServo.attach(10);
myServo2.attach(11);
DebugSerial.begin(115200);
Serial.begin(9600);
Blynk.begin(Serial, auth);
}
void loop()
{
int i=0;
while (i<3)
{
Blynk.run();
char customKey = customKeypad.getKey();
if (customKey && (keycount <4) && (customKey !='=') && (customKey !='C'))
{
lcd.print ('*');
code [keycount] = customKey;
keycount ++;
}
ĐỒ ÁN ĐCN1 Khóa điện tử
21
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
if (customKey == 'C')// Thoat va xoa man hinh
{
Lock();
}
if (customKey == '=')// Kiem tra Pass va mo khoa
{
if((code [0]=='1') && (code [1]=='2') && (code [2]=='3') && (code [3]=='4'))
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print("MAT KHAU DUNG");
lcd.setCursor(2,1);
lcd.print("CUA DANG MO");
delay(500);
Open();
delay(500);
Lock();
}
else
{
digitalWrite(ledred,HIGH);
delay(500);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("SAI MAT KHAU");
lcd.setCursor (3,1);
lcd.print ("NHAP LAI");
delay(500);
digitalWrite(ledred,LOW);
ĐỒ ÁN ĐCN1 Khóa điện tử
22
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
delay(100);
i=i+1;
Lock();
}
}
}
digitalWrite(speaker,HIGH);
delay(100);
digitalWrite(ledred,HIGH);
delay(100);
lcd.clear();
lcd.setCursor(3,0);
lcd.print("CANH BAO");
lcd.setCursor(3,1);
lcd.print("XAM NHAP");
delay(500);
}
void Open()
{
myServo.write(180);
delay(500);
myServo2.write(180);
delay(500);
digitalWrite(ledaqua,HIGH);
lcd.clear();
lcd.setCursor(2,0);
lcd.print(" CUA DA MO ");
lcd.setCursor(2,1); //Di chuyen con tro den hang thu hai
lcd.print ("XIN MOI VAO");
ĐỒ ÁN ĐCN1 Khóa điện tử
23
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
delay(4000);// Giu cua mo 5 giay
lcd.clear();
lcd.setCursor(2,1);
lcd.print("CUA DANG KHOA");
delay(500);
myServo2.write(90);
delay(500);
myServo.write(90);
delay(500);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("CUA DA KHOA");
digitalWrite(ledaqua,LOW);
delay(100);
Lock();
}
void Lock()
{
lcd.clear();
lcd.setCursor(2,0);
lcd.print("NHAP MAT KHAU:");
lcd.setCursor (0,1);
lcd.print ("4 SO:");
lcd.setCursor (5,1);
lcd.cursor();
keycount = 0;
}
BLYNK_WRITE(V1)
{
ĐỒ ÁN ĐCN1 Khóa điện tử
24
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
lcd.clear();
lcd.setCursor(2,1);
lcd.print("CUA DANG MO");
delay(500);
myServo.write(180);
delay(500);
myServo2.write(180);
delay(500);
digitalWrite(ledaqua,HIGH);
lcd.clear();
lcd.setCursor(2,0);
lcd.print(" CUA DA MO ");
lcd.setCursor(2,1); //Di chuyen con tro den hang thu hai
lcd.print ("XIN MOI VAO");
}
BLYNK_WRITE(V2)
{
lcd.clear();
lcd.setCursor(2,1);
lcd.print("CUA DANG KHOA");
delay(500);
myServo2.write(90);
delay(500);
myServo.write(90);
delay(500);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("CUA DA KHOA");
delay(500);
ĐỒ ÁN ĐCN1 Khóa điện tử
25
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
digitalWrite(ledaqua,LOW);
delay(100);
Lock();
}
BLYNK_WRITE(V3)
{
digitalWrite(speaker,LOW);
delay(100);
digitalWrite(ledred,LOW);
delay(100);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("DA TAT CANH BAO");
delay(500);
Lock();
}
ĐỒ ÁN ĐCN1 Khóa điện tử
26
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
CHƯƠNG 4. KẾT LUẬN
4.1. Kết luận
Sau hơn một thời gian tìm hiểu, nghiên cứu, tham khảo nhiều tài liệu và được sự hướng
dẫn của thầy, chúng em đã thực hiện xong đề tài : ‘‘KHÓA ĐIỆN TỬ’’. Việc hoàn thành
đề tài với những nội dung và mục tiêu đề ra ban đầu đã đem lại cho em thực hiện một lượng
kiến thức bổ ích, thiết thực và có khả năng ứng dụng trong thực tế. Sau thời gian thực hiện
đồ án, em đã hoàn thành được những công việc sau :
 Thiết kế mô phỏng mạch khóa số điện tử trên Proteus
 Viết chương trình và chạy mô phỏng trên Proteus thành công
4.2. Hướng phát triển đề tài
Đề tài ‘‘khóa số điện tử’’được thực hiện trên mô hình thí nghiệm. Để đưa đề tài này vào áp
dụng trong thực tiễn đời sống và sản xuất thì cần phải nâng cấp và mở rộng hệ thống hơn
nữa. Chẳng hạn, để bảo mật tốt hơn, ta phải kết hợp với module sim để khi có cảnh báo có
thể gửi về số điện thoại của ta.
Ngoài ra, dựa vào ứng dụng và tầm khả năng hoạt động, chúng ta có thể phát triển thành
các đề tài khác như hệ thống két sắt thông minh, mạch nhận biết qua vân tay….
ĐỒ ÁN ĐCN1 Khóa điện tử
27
ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
TÀI LIỆU THAM KHẢO
1. Bài giảng vi xử lí – Trường đại học giao thông vận tải Thành phố Hồ Chí Minh.
2. https://www.slideshare.net/trongthuy1/luan-van-thiet-bi-khoa-cua-bang-bao-mat-va-
the-chip-rfid-hay
3. https://arduinokit.vn/blynk-la-gi-huong-dan-cai-dat-va-su-dung-blynk-2-0/
4. https://youtu.be/03eXgEKxZrc
5. https://youtu.be/jvKVU_cUPd8
6. https://youtu.be/IcEmUOmZ19c

More Related Content

Similar to Đồ án khóa điện tử để đóng mở cửa tự động.docx

Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoVerdie Carter
 
Hệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfHệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfMan_Ebook
 
Day hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internetDay hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internetVcoi Vit
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_netViet Nam
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_netDuy Vọng
 
Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...
Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...
Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...Viết thuê báo cáo thực tập giá rẻ
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...Man_Ebook
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...Man_Ebook
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...Man_Ebook
 
Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...
Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...
Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...Dịch vụ viết đề tài trọn gói 0934.573.149
 
Đồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổ
Đồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổĐồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổ
Đồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổJayce Boehm
 
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266Ngo Gia HAi
 

Similar to Đồ án khóa điện tử để đóng mở cửa tự động.docx (20)

Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOTLuận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
Luận văn: Bài toán an toàn thông tin trong mạng riêng ảo, HOT
 
Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.
Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.
Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.
 
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đĐề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
Đề tài: Cảnh báo sinh viên thông qua hệ thống quét vân tay, 9đ
 
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đĐề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
 
Đề tài: Lập trình thiết kế hệ thống chuông báo tại trường học, HAY
Đề tài: Lập trình thiết kế hệ thống chuông báo tại trường học, HAYĐề tài: Lập trình thiết kế hệ thống chuông báo tại trường học, HAY
Đề tài: Lập trình thiết kế hệ thống chuông báo tại trường học, HAY
 
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
 
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
 
Hệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfHệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdf
 
Day hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internetDay hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internet
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_net
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_net
 
Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...
Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...
Báo cáo thực tập điện tử Điều khiển thiết bị trong nhà qua đường dây điện tho...
 
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đĐiều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
 
Đề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAY
Đề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAYĐề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAY
Đề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAY
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
 
Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...
Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...
Nghiệptìm Hiểu Về Hành Chính Điện Tử Và An Toàn Bảo Mật Thông Tin Trong Hệ Th...
 
Đồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổ
Đồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổĐồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổ
Đồ án Nghiên cứu và thiết kế thiết bị cảnh báo khí ga & phòng chống cháy nổ
 
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
 

Đồ án khóa điện tử để đóng mở cửa tự động.docx

  • 1. ĐỒ ÁN ĐCN1 Khóa điện tử ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN ĐIỆN CÔNG NGHIỆP 1 ĐỀ TÀI: KHÓA ĐIỆN TỬ Giảng viên hướng dẫn: Ths. Lưu Thiện Quang NHÓM 21 TÊN MÃ SỐ SINH VIÊN TRẦN BÌNH TRỌNG 2051060216 TRẦN CÔNG VINH 2051060223 TP. HỒ CHÍ MINH, THÁNG 4/2023
  • 2. ĐỒ ÁN ĐCN1 Khóa điện tử ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang MỤC LỤC TRANG NỘI DUNG MỞ ĐẦU..............................................................................................................................1 1. Giới thiệu chung:.........................................................................................................1 2. Mục đích thực hiện đề tài:..........................................................................................1 3. Nhiệm vụ đề tài: ..........................................................................................................1 CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN......................................................................3 1.1. Giới chung về khóa điện tử. ....................................................................................3 1.1.1. Ưu điểm...............................................................................................................3 1.1.2. Nhược điểm ........................................................................................................3 1.2. Giới thiệu tổng quan vi điều khiển Arduino: ........................................................3 1.3. Sơ đồ khối: ................................................................................................................4 1.4. Chức năng hệ thống:................................................................................................4 1.5. Lưu đồ hoạt động:....................................................................................................5 CHƯƠNG 2: LỰA CHỌN VÀ ĐẶC TÍNH THIẾT BỊ..................................................6 2.1. Vi điều khiển Arduino .............................................................................................6 2.1.1. Cấu tạo của Arduino .........................................................................................6 2.3. LCD 1602 ..................................................................................................................9 2.3.1. Tổng quan LCD 1602:.......................................................................................9 2.3.2. Sơ đồ chân – Pin Out.......................................................................................10 2.3.3. Cách hoạt động của LCD1602........................................................................11 2.3.4. Module giao tiếp I2C .......................................................................................11 2.4. Động cơ bước servo................................................................................................12 2.4.1. Servo SG90. ......................................................................................................13 2.4.2. Servo MG996R.................................................................................................13 2.5. Giới thiệu về Blynk ................................................................................................14 2.5.1. Đặc tính.............................................................................................................14 2.5.2. Thiết lập Blynk trên máy tính ........................................................................15 CHƯƠNG 3. THIẾT KẾ VÀ MÔ PHỎNG...................................................................18 3.1. Mạch thiết kế. .........................................................................................................18
  • 3. ĐỒ ÁN ĐCN1 Khóa điện tử ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang 3.2. Code mạch khóa điện tử........................................................................................18 CHƯƠNG 4. KẾT LUẬN................................................................................................26 4.1. Kết luận...................................................................................................................26 4.2. Hướng phát triển đề tài .........................................................................................26 TÀI LIỆU THAM KHẢO................................................................................................27 1. Bài giảng vi xử lí – Trường đại học giao thông vận tải Thành phố Hồ Chí Minh. .........................................................................................................................................27 2. https://www.slideshare.net/trongthuy1/luan-van-thiet-bi-khoa-cua-bang-bao- mat-va-the-chip-rfid-hay..............................................................................................27 3. https://arduinokit.vn/blynk-la-gi-huong-dan-cai-dat-va-su-dung-blynk-2-0/.....27 4. https://youtu.be/03eXgEKxZrc................................................................................27 5. https://youtu.be/jvKVU_cUPd8...............................................................................27 6. https://youtu.be/IcEmUOmZ19c .............................................................................27
  • 4. ĐỒ ÁN ĐCN1 Khóa điện tử 1 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang MỞ ĐẦU 1. Giới thiệu chung: Trong một xã hội hiện đại, sự phát triển của nghành điện tử viễn thông là một yêu cầu không thể thiếu để thúc đẩy nền kinh tể phát triển và góp phần nâng cao đời sống xã hội. Ngày nay, trên thế giới, điện tử vẫn không ngừng phát triển với tốc độ rất cao và thâm nhập ngày càng sâu vào tất cả các lĩnh vực của đời sống xã hội. Trong đó, lĩnh vực bảo mật là một mảng lớn mà chúng ta cần quan tâm. Chính vì thế, với mục đích làm quen bước đầu với việc thiết kế mạch điện tử nói chung và với hệ thống an toàn, bảo mật nói riêng, chúng em chọn đề tài “khóa điện tử” để nghiên cứu và thực hiện. Hệ thống này cho phép ta quản lí và hạn chế được số người mở khóa, hay rộng hơn là ra vào những khu vực cần bảo mật. Đề tài tuy không lớn, song về nguyên lí thì có thể phát triển thành các ứng dụng quản lí mà hiện nay đang rất cần thiết. Vì thế, đối với chúng em đây là bước cơ sở để nghiên cứu những ứng dụng lớn hơn sau này. 2. Mục đích thực hiện đề tài: Bằng cách sử dụng sử dụng Arduino và các linh kiện. Ta có thể tạo ra thiết bị KHÓA ĐIỆN TỬ. Đối với trong việc bảo vệ tài sản là hết sức cần thiết, thiết bị có thể mở khóa nếu mật mã đúng hoặc ngược lại. 3. Nhiệm vụ đề tài: Thiết kế mạch khóa số điện tử. Sử dụng Arduino và ma trận phím để nhập mật mã và xuất dữ liệu ra LCD. Xây dựng phần cứng hệ thống (nếu có). Yêu cầu thiết kế:  Dùng điện thoại hoặc website điều khiển đóng mở cửa  Có ma trận bàn phím 4x4 để nhập pass  Hiển thị pass và thông báo kết quả lên màn hình LCD  Nếu đúng thì động cơ bước mở cửa  Nếu sai quá 3 lần thì còi sẽ báo động
  • 5. ĐỒ ÁN ĐCN1 Khóa điện tử 2 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang Trong quá trình thực hiện đề tài, chúng em xin chân thành cảm ơn thầy giáo Lưu Thiện Quang đã hướng dẫn tận tình và giải quyết những khó khăn mà chúng em gặp phải. Tuy đã cố gắng song do những hạn chế về thời gian tìm hiểu, kiến thức cũng như kinh nghiệm thực tế nên chúng em không tránh khỏi nhiều thiếu sót. Chúng em rất mong nhận được những ý kiến đóng góp của thầy cô và các bạn để đề tài của chúng em được hoàn thiện hơn, với nhiều chức năng và phát triển, nâng cấp hiện đại hơn.
  • 6. ĐỒ ÁN ĐCN1 Khóa điện tử 3 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1.1. Giới chung về khóa điện tử. Khoá điện tử (hay còn gọi là khoá thông minh) là loại khoá hoạt động bằng điện, được gắn cố định lên cửa, sử dụng chip điện tử để nhận diện và mở khoá qua các cách khác nhau mà không cần đến chìa khoá như các ổ khoá truyền thống, bao gồm: mở bằng vân tay, thẻ từ, mật mã, remote hoặc wifi/ bluetooth. 1.1.1. Ưu điểm Mở/ đóng cửa nhanh chóng, tiện lợi Đảm bảo an toàn cho người sử dụng hơn khoá truyền thống Dễ dàng chia sẻ với các thành viên trong gia đình Dễ thay đổi chế độ phù hợp Để đảm bảo tính bảo mật Tăng tính thẩm mỹ, hiện đại cho căn nhà Khoá điện tử thường có thiết kế hiện đại và màu sắc tinh tế, giúp không gian nhà bạn thêm sang trọng, thẩm mỹ. 1.1.2. Nhược điểm Vì các tiện ích vượt trội nên giá thành khoá điện tử cao gấp nhiều lần so với khoá truyền thống, cũng như công đoạn lắp đặt phức tạp, tốn nhiều thời gian. Trong quá trình sử dụng, bạn cũng cần chú ý đến đèn báo hiệu pin yếu trên khoá để thay pin kịp thời. 1.2. Giới thiệu tổng quan vi điều khiển Arduino: Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự án điện tử. Thành phần của Arduino bao gồm mạch điều khiển và phần mềm hoặc IDE (Môi trường phát triển tích hợp) chạy trên máy tính của bạn được sử dụng để viết và tải mã máy tính lên mạch điều khiển. Nền tảng Arduino trở nên khá phổ biến đối với những người mới bắt đầu. Không giống như các bảng mạch điện tử được lập trình trước đó. Arduino không cần một mạch chủ riêng để tải mã nguồn vào mạch điều khiển mà người dùng chỉ cần sử dụng dây cáp USB.
  • 7. ĐỒ ÁN ĐCN1 Khóa điện tử 4 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang Ngoài ra, Arduino IDE sử dụng nền tảng đơn giản hóa của C++, giúp cho việc học ngôn ngữ lập trình Arduino trở nên dễ dàng hơn. Trong các phiên bản của Arduino thì Uno là một trong những bo mạch phổ biến nhất và đây cũng là sự lựa chọn tuyệt vời cho những người mới bắt đầu. Tuy nhiên để có thể học tốt Arduino thì bạn phải có nền tảng cơ bản về điện tử và lập trình C, C++ trước đó. 1.3. Sơ đồ khối: Sơ đồ các khối chức năng 1.4. Chức năng hệ thống: Mã gồm có 4 chữ số. Hệ thống giao tiếp với người sử dụng thông qua một bàn phím điều khiển và hiển thị trên màn hình LCD. Bàn phím gồm các phím số 0-9 và các phím chức năng. Khi nhập đúng mật khẩu cửa sẽ mở và nếu mật khẩu sai 3 lần thì còi sẽ báo động. Có hệ thống điều khiển từ xa bằng máy tính hoắc điện thoại để đóng/mở cửa. KHỐI VI ĐIỀU KHIỂN KHỐI BÀN PHÍM KHỐI HIỂN THỊ KHỐI MỞ CỬA
  • 8. ĐỒ ÁN ĐCN1 Khóa điện tử 5 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang 1.5. Lưu đồ hoạt động: BEGIN KHỞI TẠO LCD KHỞI TẠO BÀN PHÍM NHẬP MẬT MÃ ĐÚNG MỞ CỬA SAI So sánh Pass BLYNK BÁO ĐỘNG SAI 3 LẦN
  • 9. ĐỒ ÁN ĐCN1 Khóa điện tử 6 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang CHƯƠNG 2: LỰA CHỌN VÀ ĐẶC TÍNH THIẾT BỊ 2.1. Vi điều khiển Arduino 2.1.1. Cấu tạo của Arduino Sơ đồ chân Arduino Nguồn (USB / Barrel Jack) Mỗi mạch Arduino đều có cổng kết nối với nguồn điện. Cụ thể trên đây mà mạch Arduino UNO có thể được lấy nguồn từ dây cáp USB từ máy tính của bạn, hoặc một số nguồn DC khác có Jack DC. Trong hình trên nguồn kết nối qua cổng USB được dán nhãn (1) và Jack DC được dán nhãn (2). Chân kết nối USB cũng là chân để bạn có thể tải code lên bo mạch Arduino. Các chân (5V, 3.3V, GND, Digital, Analog, PWM, ISF) Các chân trên là nguồn ra mà bạn có thể kết nối dây đầu ra với các tải hoặc một số mạch kết nối bên ngoài. Với các loại Arduino sẽ có thể một số loại chân khác nhau. Ở mỗi chân đều được in các nhãn và ký tự để người sử dụng có thể phân biệt được.  GND (3) : Viết tắt của ‘Ground’ là mass. Có một số chân GND trên Arduino, bất kỳ các chân GND trong số đó có thể được sử dụng để nối mass mạch của bạn.
  • 10. ĐỒ ÁN ĐCN1 Khóa điện tử 7 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang  5V (4) & 3.3V (5) : Chân 5V cung cấp năng lượng 5 volt và chân 3,3V cung cấp 3,3 volt. Hầu hết các thành phần đơn giản được sử dụng với Arduino đều hoạt động bình thường ở mức 5 hoặc 3,3 volt.  Analog (6) : Các chân được dán nhãn ‘Analog In’ (A0 đến A5 trên UNO) là các chân Analog In. Các chân này có thể đọc tín hiệu từ các cảm biến tương tự (như cảm biến nhiệt độ ) và chuyển đổi nó thành một giá trị Digital mà chúng ta có thể đọc được.  Digital (7): Các chân Digital được dán nhãn từ 0 – 13 trên Arduino UNO, các chân này có thể được sử dụng cho cả đầu vào digital nếu như là các nút nhấn và đầu ra digital nếu như cấp nguồn cho LED.  PWM (8): Bạn có thể nhìn thấy những dấu (~) nằm ở bên cạnh các chân 3, 5, 6, 9, 10 và 11 trên mạch. Các chân này đều có chức năng hoạt động như các chân Digital thông thường, nhưng cũng có thể sử dụng để điều chế độ rộng xung PWM. Bạn có thể hình dung các chân này có thể được sử dụng mô phỏng đầu ra tín hiệu Analog.  ISF (9): Được viết tắt của cụm từ Analog Reference, hầu hết chân này thường không được sử dụng. Đôi khi nó được sử dụng để có thể đặt điện áp tham chiếu trong khoảng từ 0 – 5V làm giới hạn cho các chân đầu vào Analog. Nút Reset (Reset Button) Nút reset (10) có nhiệm vụ khởi động lại bất kỳ đoạn code nào được tải trên Arduino. Điều này rất hữu ích nếu code của bạn không có vòng lặp nhưng bạn lại muốn kiểm tra chương trình đó nhiều lần. Đèn LED báo nguồn (Power LED Indicator) Đèn báo được nắp ngay bên phải của chữ UNO, đó là một đèn LED nhỏ được dán nhãn ON (11). Đèn báo này có nhiệm vụ báo khi có nguồn cấp vào Arduino. Trong một số trường hợp đèn không sáng thì chắc chắn có vấn đề xảy ra. Bạn có thể kiểm tra lại dây cáp USB, nguồn cấp và cả mạch nữa. LED TX và RX (TX RX LEDs)
  • 11. ĐỒ ÁN ĐCN1 Khóa điện tử 8 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang TX là LED hiển thị tín hiệu truyền đi và RX là hiển thị tín hiệu nhận về. Những tín hiệu này xuất hiện khá nhiều trong các thiết bị điện tử để có thể chỉ ra những chân thực hiện nhiệm vụ truyền tải nối tiếp. Trong trường hợp này, có 2 vị trí trên Arduino UNO là TX và RX (12). Các LED này có nhiệm vụ thông báo cho người dùng bất cứ khi nào Arduino được nhận hoặc truyền dữ liệu đi. Ví dụ như tải một chương trình lên thì đèn sẽ hiển thị. IC chủ (Main IC) IC chủ là vị trí số 13. Đây được coi là bộ não của Arduino. IC thường được sử dụng là dòng IC ATmega của công ty ATMEL sản xuất. ATmega328P là một bộ vi điều khiển tiên tiến và nhiều tính năng. Nó là một trong những vi điều khiển nổi tiếng của Atmel vì nó được sử dụng trong bo mạch arduino UNO. Nó là một bộ vi điều khiển thuộc họ vi điều khiển megaMVR của Atmel (Cuối năm 2016, Atmel được Microchip Technology Inc mua lại). Đặc tính / Thông số kỹ thuật của ATmega328P Thiết kế hiệu suất cao Tiêu thụ ít điện năng Tổng số chân ngõ vào Analog là 6 Chứa 32 kilobyte bộ nhớ flash Chứa 2 kilobyte SRAM Chứa 1 kilobyte EEPROM Tốc độ xung nhịp 16 megahertz Nhiệt độ tối thiểu và tối đa -40 độ C đến 105 độ C. Tổng số chân I / O kỹ thuật số là 14 chân RISC tiên tiến Khóa chức năng chương trình để bảo mật mã lập trình Chứa tổng cộng ba bộ định thời, hai 8 bit và một 16 bit Tổng số chân I / O là 23 chân Tổng số kênh PWM là 6 Điện áp hoạt động tối thiểu và tối đa từ 1.8V DC đến 5.5V DC
  • 12. ĐỒ ÁN ĐCN1 Khóa điện tử 9 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang Bộ điều chỉnh điện áp (Voltage Regulator) Bộ điều chỉnh điện áp (14), không được sử dụng nhiều. Nhiệm vụ của nó là điều chỉnh điện áp, kiểm soát nguồn điện áp đưa vào mạch Arduino. Nhưng cũng cần phải hết sức chú ý là bộ điều chỉnh điện áp này cũng có giới hạn của nó. Vì vậy, tuyệt đối không nên kết nối mạch Arduino với nguồn điện DC lớn hơn 20V. 2.2. Giới thiệu Keypad 4x4 Keypad 4x4: Bàn phím có tổng cộng 16 nút ở dạng Ma trận. Đây là một bàn phím màng không có bộ phận chuyển động. Nó có một lớp phủ giống mô tả một bàn phím điện thoại với bồn nút chức năng bổ sung. Một đâu nỗi nổi 8 chân được cung cấp để kết nối nó với các mạch điều khiển của bạn. Công dụng của keypad: KeyPad là một thiết bị nhập chứa các nút bầm cho phép người dùng nhập các chữ số, chữ cái hoặc ký tự điêu khiển. KeyPad không chứa tất cả bảng mã ASCII như keyboard vì thế nó thường được sử dụng trong các ứng dụng chuyên dụng và tương đối đơn giản, ở đó, số lượng nút nhân thay đổi phụ thuộc vào ứng dụng Thông số kỹ thuật: Module bàn phím ma trận 4x4 loại phím mềm. 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 2.3. LCD 1602 2.3.1. Tổng quan LCD 1602:
  • 13. ĐỒ ÁN ĐCN1 Khóa điện tử 10 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang  Điện áp hoạt động là 5 V.  Kích thước: 80 x 36 x 12.5 mm  Chữ đen, nền xanh lá  Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.  Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.  Có đè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 MÀN HÌNH LCD 1602 2.3.2. Sơ đồ chân – Pin Out 1. VSS: tương đương với GND – cực âm 2. VDD: tương đương với VCC – cực dương (5V) 3. Constrast Voltage (Vo): điều khiển độ sáng màn hình 4. Register Select (RS): điều khiển địa chỉ nào sẽ được ghi dữ liệu 5. Read/Write (RW): Bạn sẽ đọc (read mode) hay ghi (write mode) dữ liệu? Nó sẽ phụ thuộc vào bạn gửi giá trị gì vào. 6. Enable pin: Cho phép ghi vào LCD
  • 14. ĐỒ ÁN ĐCN1 Khóa điện tử 11 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang 7. D0 – D7: 8 chân dư liệu, mỗi chân sẽ có giá trị HIGH hoặc LOW nếu bạn đang ở chế độ đọc (read mode) và nó sẽ nhận giá trị HIGH hoặc LOW nếu đang ở chế độ ghi (write mode) 8. Backlight (Backlight Anode (+) và Backlight Cathode (-): Tắt bật đèn màn hình LCD. 2.3.3. Cách hoạt động của LCD1602 DISPLAY DATA RAM (DD RAM): Bộ nhớ hiển thị dữ liệu Điều khiển LCD1602 chính là thay đổi giá trị của DD RAM, mỗi ô trên DD RAM tương ứng với một vị trí của màn hình. Với LCD1602 chúng có 2 line  Line 1: từ 0x80 tới 0x8F  Line 2: từ 0xC0 tới 0xCF Ví dụ: Nếu bạn muốn hiển thị ở Line 1 ô đầu tiên, Chúng ta sẽ thay đổi giá trị của ô nhớ địa chỉ 0x80. Giá trị được ghi sẽ so sánh với bảng mã trong CG ROM, từ đó hiển thị ra đúng kí tự được lưu trên đó. Lệnh để nhảy giữa các ô nhớ là Set cursor (con trỏ) Character Generator ROM (CG ROM): Bộ nhớ kí tự chỉ đọc Đây là bộ nhớ đươc ghi sẵn của LCD, trong đó chứa các kí tự mà lcd hỗ trợ. Có hai mẫu Character mà LCD1602 hỗ trợ đó là 5×8 và 5×10 Character Generator RAM (CG RAM): Bộ nhớ kí tự có thể lập trình Đây là bộ nhớ để người sử dụng có thể tự tạo ra các font chữ riêng trên LCD của mình. 2.3.4. Module giao tiếp I2C
  • 15. ĐỒ ÁN ĐCN1 Khóa điện tử 12 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang Thông thường, để sử dụng màn hình LCD, bạn sẽ phải mất rất nhiều chân trên Arduino để điều khiển. Do vậy, để đơn giản hóa công việc, người ta đã tạo ra một loại mạch điều khiển màn hình LCD sử dụng giao tiếp I2C. Nói một cách đơn giản, bạn chỉ tốn ... 2 dây để điều khiển màn hình, thay vì 8 dây như cách thông thường. Bởi vì giao tiếp I2C được thiết kế riêng nhằm giúp LCD giao tiếp với Board xử lý một cách dễ dàng, nên rất dễ kết nối. 2 chân SDA và SCL là 2 chân tín hiệu dùng cho giao tiếp I2C. 2.4. Động cơ bước servo Servo là một dạng động cơ điện đặc biệt. Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,...
  • 16. ĐỒ ÁN ĐCN1 Khóa điện tử 13 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang 2.4.1. Servo SG90. Động Cơ Servo SG90 là loại động cơ được dùng phổ biến trong các mô hình điều khiển nhỏ và đơn giản như cánh tay robot. Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn Driver điều khiển động cơ, dễ dàng điều khiển góc quay. Thông Số Kỹ Thuật Động Cơ Servo SG90  Khối lượng : 9g  Kích thước: 23mmX12.2mmX29mm  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 ºC 2.4.2. Servo MG996R. MG996R là động cơ servo bánh răng kim loại với mô-men xoắn cực đại 11 kg / cm. Giống như các RC servo khác, động cơ quay từ 0 đến 180 độ, nó có thể hỗ trợ lên đến 15 Kg khi được cho ăn ở 6V, hoặc 13 Kg nếu được cho ăn ở 4.8v. Thông số kỹ thuật  Điện áp hoạt động thường là + 5V  Hiện tại: 2.5A (6V)  Mô-men xoắn gian hàng: 9,4 kg / cm (ở 4,8V)  Mô-men xoắn cực đại của gian hàng: 11 kg / cm (6V)  Tốc độ hoạt động là 0,17 s / 60°  Loại bánh răng: Kim loại  Xoay: 0° - 180°  Trọng lượng của động cơ: 55gm
  • 17. ĐỒ ÁN ĐCN1 Khóa điện tử 14 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang Kích thước động cơ Servo MG996R 2.5. Giới thiệu về Blynk Blynk là một nền tảng IoT (Internet of Things) cung cấp các công cụ để kết nối, quản lý và điều khiển các thiết bị từ xa thông qua mạng Internet. Blynk được phát triển với mục đích giúp cho các nhà phát triển và những người không có kinh nghiệm trong lĩnh vực lập trình có thể tạo và quản lý các ứng dụng IoT một cách dễ dàng và nhanh chóng. Blynk cung cấp các công cụ, ví dụ như ứng dụng di động, giúp người dùng kết nối và điều khiển các thiết bị IoT bằng cách sử dụng các cảm biến và các tín hiệu đầu vào. Người dùng có thể tùy chỉnh giao diện người dùng để điều khiển thiết bị IoT của mình theo cách tùy chỉnh và tạo ra các hành động và tương tác phức tạp thông qua một số lượng nhỏ các lệnh mã. Blynk cũng hỗ trợ một loạt các nền tảng phần cứng, bao gồm Arduino, Raspberry Pi, ESP8266 và nhiều nền tảng khác nữa. Blynk cho phép người dùng dễ dàng tích hợp các thiết bị IoT vào các dự án của mình mà không cần có kinh nghiệm lập trình. 2.5.1. Đặc tính API và giao diện người dùng tương tự cho tất cả phần cứng và thiết bị được hỗ trợ Kết nối với đám mây bằng cách sử dụng: o Wifi o Bluetooth và BLE o Ethernet
  • 18. ĐỒ ÁN ĐCN1 Khóa điện tử 15 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang o USB (Nối tiếp) o GSM o … Bộ Widget dễ sử dụng Thao tác ghim trực tiếp mà không cần viết mã Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng ghim ảo Theo dõi dữ liệu lịch sử qua tiện ích SuperChart Giao tiếp giữa thiết bị với thiết bị sử dụng Bridge Widget Gửi email, tweet, push notification… 2.5.2. Thiết lập Blynk trên máy tính Đầu tiền truy cập vào https://blynk.cloud/ đăng nhập, nếu chưa có tài khoản thì chọn Create new account để đăng ký. Các bạn nhập tên email vào, sau đó tích chọn Sign Up. Họ sẽ gửi mail về cho bạn, sau đó chọn Create Pasword để tạo mật khẩu. Sau khi có tài khoản, bạn đăng nhập vào chọn New Template, nhập tên và chọn đầy đủ như hình dưới:
  • 19. ĐỒ ÁN ĐCN1 Khóa điện tử 16 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang Sau khi tạo xong sẽ hiện giao diện bên dưới, ta copy mã Template để dán vào code, link tải code mình sẽ để ở phần dưới.
  • 20. ĐỒ ÁN ĐCN1 Khóa điện tử 17 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang
  • 21. ĐỒ ÁN ĐCN1 Khóa điện tử 18 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang CHƯƠNG 3. THIẾT KẾ VÀ MÔ PHỎNG 3.1. Mạch thiết kế. 3.2. Code mạch khóa điện tử. #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Keypad.h> #include <SoftwareSerial.h> #include <BlynkSimpleStream.h> #include <Servo.h> LiquidCrystal_I2C lcd(0x27,16,2); SoftwareSerial DebugSerial(2, 3); // RX, TX const byte ROWS = 4; //four rows const byte COLS = 4; //four columns //define the cymbols on the buttons of the keypads
  • 22. ĐỒ ÁN ĐCN1 Khóa điện tử 19 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang char Keys [ROWS][COLS] = { {'7','8','9','/'}, {'4','5','6','*'}, {'1','2','3','-'}, {'C','0','=','+'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap (Keys), rowPins, colPins, ROWS, COLS); char keycount = 0; char code [4]; Servo myServo; Servo myServo2; int speaker = 12; int ledred = 16; int ledaqua = 17; #define BLYNK_TEMPLATE_ID "TMPL6cKiIoGmr" #define BLYNK_TEMPLATE_NAME "KHOA DIEN TU" #define BLYNK_AUTH_TOKEN "pgOmKdN4A1pKDY5GiBjyQDuNEpqyjRBx" char auth[] = "pgOmKdN4A1pKDY5GiBjyQDuNEpqyjRBx"; //============================================================= //============================================================= void setup() { pinMode(speaker,OUTPUT); pinMode(ledred,OUTPUT);
  • 23. ĐỒ ÁN ĐCN1 Khóa điện tử 20 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang pinMode(ledaqua,OUTPUT); lcd.init();//Khoi tao LCD lcd.backlight();//Bat den LCD lcd.setCursor(2,0); lcd.print("NHAP MAT KHAU: "); lcd.setCursor(0,1); //Di chuyen con tro den hang thu hai lcd.print("4 SO:"); lcd.setCursor(5,1); lcd.cursor();// Hien thi con tro delay(300); myServo.attach(10); myServo2.attach(11); DebugSerial.begin(115200); Serial.begin(9600); Blynk.begin(Serial, auth); } void loop() { int i=0; while (i<3) { Blynk.run(); char customKey = customKeypad.getKey(); if (customKey && (keycount <4) && (customKey !='=') && (customKey !='C')) { lcd.print ('*'); code [keycount] = customKey; keycount ++; }
  • 24. ĐỒ ÁN ĐCN1 Khóa điện tử 21 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang if (customKey == 'C')// Thoat va xoa man hinh { Lock(); } if (customKey == '=')// Kiem tra Pass va mo khoa { if((code [0]=='1') && (code [1]=='2') && (code [2]=='3') && (code [3]=='4')) { lcd.clear(); lcd.setCursor(1,0); lcd.print("MAT KHAU DUNG"); lcd.setCursor(2,1); lcd.print("CUA DANG MO"); delay(500); Open(); delay(500); Lock(); } else { digitalWrite(ledred,HIGH); delay(500); lcd.clear(); lcd.setCursor(2,0); lcd.print("SAI MAT KHAU"); lcd.setCursor (3,1); lcd.print ("NHAP LAI"); delay(500); digitalWrite(ledred,LOW);
  • 25. ĐỒ ÁN ĐCN1 Khóa điện tử 22 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang delay(100); i=i+1; Lock(); } } } digitalWrite(speaker,HIGH); delay(100); digitalWrite(ledred,HIGH); delay(100); lcd.clear(); lcd.setCursor(3,0); lcd.print("CANH BAO"); lcd.setCursor(3,1); lcd.print("XAM NHAP"); delay(500); } void Open() { myServo.write(180); delay(500); myServo2.write(180); delay(500); digitalWrite(ledaqua,HIGH); lcd.clear(); lcd.setCursor(2,0); lcd.print(" CUA DA MO "); lcd.setCursor(2,1); //Di chuyen con tro den hang thu hai lcd.print ("XIN MOI VAO");
  • 26. ĐỒ ÁN ĐCN1 Khóa điện tử 23 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang delay(4000);// Giu cua mo 5 giay lcd.clear(); lcd.setCursor(2,1); lcd.print("CUA DANG KHOA"); delay(500); myServo2.write(90); delay(500); myServo.write(90); delay(500); lcd.clear(); lcd.setCursor(2,0); lcd.print("CUA DA KHOA"); digitalWrite(ledaqua,LOW); delay(100); Lock(); } void Lock() { lcd.clear(); lcd.setCursor(2,0); lcd.print("NHAP MAT KHAU:"); lcd.setCursor (0,1); lcd.print ("4 SO:"); lcd.setCursor (5,1); lcd.cursor(); keycount = 0; } BLYNK_WRITE(V1) {
  • 27. ĐỒ ÁN ĐCN1 Khóa điện tử 24 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang lcd.clear(); lcd.setCursor(2,1); lcd.print("CUA DANG MO"); delay(500); myServo.write(180); delay(500); myServo2.write(180); delay(500); digitalWrite(ledaqua,HIGH); lcd.clear(); lcd.setCursor(2,0); lcd.print(" CUA DA MO "); lcd.setCursor(2,1); //Di chuyen con tro den hang thu hai lcd.print ("XIN MOI VAO"); } BLYNK_WRITE(V2) { lcd.clear(); lcd.setCursor(2,1); lcd.print("CUA DANG KHOA"); delay(500); myServo2.write(90); delay(500); myServo.write(90); delay(500); lcd.clear(); lcd.setCursor(2,0); lcd.print("CUA DA KHOA"); delay(500);
  • 28. ĐỒ ÁN ĐCN1 Khóa điện tử 25 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang digitalWrite(ledaqua,LOW); delay(100); Lock(); } BLYNK_WRITE(V3) { digitalWrite(speaker,LOW); delay(100); digitalWrite(ledred,LOW); delay(100); lcd.clear(); lcd.setCursor(0,1); lcd.print("DA TAT CANH BAO"); delay(500); Lock(); }
  • 29. ĐỒ ÁN ĐCN1 Khóa điện tử 26 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang CHƯƠNG 4. KẾT LUẬN 4.1. Kết luận Sau hơn một thời gian tìm hiểu, nghiên cứu, tham khảo nhiều tài liệu và được sự hướng dẫn của thầy, chúng em đã thực hiện xong đề tài : ‘‘KHÓA ĐIỆN TỬ’’. Việc hoàn thành đề tài với những nội dung và mục tiêu đề ra ban đầu đã đem lại cho em thực hiện một lượng kiến thức bổ ích, thiết thực và có khả năng ứng dụng trong thực tế. Sau thời gian thực hiện đồ án, em đã hoàn thành được những công việc sau :  Thiết kế mô phỏng mạch khóa số điện tử trên Proteus  Viết chương trình và chạy mô phỏng trên Proteus thành công 4.2. Hướng phát triển đề tài Đề tài ‘‘khóa số điện tử’’được thực hiện trên mô hình thí nghiệm. Để đưa đề tài này vào áp dụng trong thực tiễn đời sống và sản xuất thì cần phải nâng cấp và mở rộng hệ thống hơn nữa. Chẳng hạn, để bảo mật tốt hơn, ta phải kết hợp với module sim để khi có cảnh báo có thể gửi về số điện thoại của ta. Ngoài ra, dựa vào ứng dụng và tầm khả năng hoạt động, chúng ta có thể phát triển thành các đề tài khác như hệ thống két sắt thông minh, mạch nhận biết qua vân tay….
  • 30. ĐỒ ÁN ĐCN1 Khóa điện tử 27 ĐỒ ÁN ĐCN1 Giảng viên: Lưu Thiện Quang TÀI LIỆU THAM KHẢO 1. Bài giảng vi xử lí – Trường đại học giao thông vận tải Thành phố Hồ Chí Minh. 2. https://www.slideshare.net/trongthuy1/luan-van-thiet-bi-khoa-cua-bang-bao-mat-va- the-chip-rfid-hay 3. https://arduinokit.vn/blynk-la-gi-huong-dan-cai-dat-va-su-dung-blynk-2-0/ 4. https://youtu.be/03eXgEKxZrc 5. https://youtu.be/jvKVU_cUPd8 6. https://youtu.be/IcEmUOmZ19c