Đồ án tốt nghiệp - Thiết kế thiết bị mở khóa cửa bằng cảm biến vân tay | Học viện Nông nghiệp Việt Nam

Đề tài "Thiết kế thiết bị cửa sử dụng cảm biến vân tay" tập trung vào việc ứng dụng công nghệ sinh trắc học vào đời sống, nhằm tạo ra một hệ thống chứng minh tính khả thi và giới hạn của đề tài.

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
KHOA - ĐIỆN
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI : THIẾT KẾ THIẾT BỊ MỞ-KHÓA CỬA
BẰNG CẢM BIẾN VÂN TAY
Sinh viên thực hin : DUY
Khóa : K63
Chuyên nnh : TỰ ĐỘNG A
Giảng vn hướng dẫn : TS. N TRÍ DƯƠNG
NỘI 2024
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu ca riêng nhóm tôi, các
kết quả nghiên cứu được trìnhy trong đồ án trung thực, khách quan chưa
từng dùng để bảo vệ cho bất kỳ đồ án nào.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện đồ án đã được
cảm ơn , các thông tin trích dn trong đồ án này đều ghi rõ nguồn gốc.
Nội, ngày 08 tháng 02 năm 2024
Tác giả đồ án
Duy
Duy
ii
LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành tới Ban giám đốc trường
Học viện ng nghiệp Việt Nam. Ban chủ nhiệm khoa Điện cùng toàn thể
các thầy, giáo trong khoa, trong trường đã dạy bảo, dìu dắt em trong suốt 5
năm qua dưới mái trường Học viện.
Đặc biệt em xin bày tỏ ng biết ơn sâu sắc tới thầy giáo NTrí Dương
trưởng bộ môn Tự động hóa đã tận tình hướng dẫn, giúp đỡ em trong quá trình
hoàn thành đề tài tốt nghiệp này.
Em ng xin chân thành cảm ơn thầy, giáo, bạn nhng người
thân đã đng viên, giúp đỡ và tạo điều kiện tốt nhất cho em hoàn thành tốt đợt
làm đồ án này.
Do kiến thức và thời gian n hn chế nên đán không thể tránh khỏi
nhng thiếu sót, mong quý thầy cô, và các bạn đóng góp ý kiến để đồ án của em
được hoàn chnh tốt hơn.
Cuối ng em xin nh chúc toàn thể c thầy giáo trong khoa
Điện, các thầy trong Học viện nông nghiệp Việt Nam cùng toàn thể bạn bè,
người thân sức khỏe, hạnh phúc và thành đạt.
Em xin chân thành cảm ơn!
Nội, ngày 08 tháng 02 năm 2024
Sinh viên
Duy
Duy
MỤC LC
DANH MỤC BẢNG
iv
MỞ ĐẦU
1. Đặt vấn đề:
Ngày nay, xã hội ny càng phát triển. Công nghiệp hóa, hiện đại hóa
ngày càng phát triển được ng cao và đổi mi đphát triển đất nước và cải
thiện cuộc sống của con người. Trong đó công nghệ xử lí hình nh, quan sát và
giám sát từ xa đang một bước ngoặt cho sự phát triển thời đại 4.0. Công nghệ
xử nh ảnh đã và đang được sử dụng trong mọi nnh nghề công việc vì sự
tiên tiến và tiện ích mang lại. vy việc ứng dụng khoa học thuật ngày
càng rộng rãi, phổ biến và mang lại nhng hiệu quả vô cùng cao trong hầu hết
các lĩnh vực kinh tế, kỹ thuật cũng như trong đời sống xã hội con người.
Hiện nay, rất nhiều cách đm-khóa cửa khác nhau, cụ thể n sử
dụng khóa cửa sắt thep bình thường ( hình thức này yêu cầu phải chìa khóa
luôn đi theo n mình và nếu rơi mất thì sẽ mất rất nhiều thời gian đlàm lại
khóa mi).
Nhận thấy nhu cầu sử dụng đồ dùng thông minh đang tăng cao trong thời
đại hiện đại a 4.0. Cũng như giúp các hộ gia đình hạn chế việc bị đánh rơi
hoặc bỏ quên chìa khóa dẫn đến việc không mkhóa được cửa. vy, em
quyết định chọn đtài Thiết kế thiết bị m-khóa cửa sử dụng cảm biển vân
tay” áp dụng phương pháp quét vân tay.
Bên cạnh đó, em cũng muốn thông qua đề tài để m hiểu thêm vứng
dụng của công nghệ vào đời sống đồng thời vận dụng và hiểu sâu hơn vcác
kiến thức đã đưc học.
Em xin chân thành cảm ơn thầy đã tận tình chỉ bảo và giúp đem hoàn
thành đ tài. Do thời gian còn hạn chế trong quá trình thực hiện không tránh
khỏi nhng sai sót kính mong quý thầy bỏ qua. Em rất mong sự đóng góp của
thầy để đề tài em hoàn thiện và có hướng phát triển hơn. Em xin cảm ơn!
2. Mục đích của đồ án
tài.
Ứng dụng thành công ng nghệ sinh trắc học ( cảm biến vân tay ) vào đề
Chạy thử nghiệm thành công và đánh giá kết quả đạt được.
3. Giới hn
T thuyết đến thực tế một chặng đường dài, và với tốc độ phát triển
hiện nay tng nghệ và kiến thức thay đổi không ngừng. Với tầm hiểu biết
hạn hẹp của em thì khó ng giải quyết được nhiều yêu cầu trên thực tế vì nhiều
khi chỉ cần thêm một yêu cầu cũng khiến khối lượng kiến thức liên quan ng
như độ ktăng lên nhiều lần. Do đó, đồ án này chỉ tập trung vào xây dựng một
hệ thống chứng minh được tính khả thi ca đồ án và giới hạn như sau:
hình sử dụng cảm biến vân tay thsử dụng cải tiến được thêm
các công dụng khác.
Tốc độ quét của vân tay chưa được nhạy, do dính bụi hoặc bám bẩn.
Giới hạn về đối tượng nghiên cứu :
Đề tài chỉ dừng lại việc xây dựng mô hình hệ thống.
Các thiết bị sử dụng chỉ mạng tính chất học thuật không tối ưu về kinh phí
cũng như tính ổn định của thiết bị.
Đề tài được nghiên cứu qua các tài liệu, kiến thức trên mạng internet và
các sách giáo trình.
Đề tài đưc thực hiện và thử nghiệm tại nhà riêng.
4. Ý nghĩa
Đề tài “Thiết kế thiết bị m-khóa cửa sử dụng cảm biến vân tay được áp
dụng vào trong đời sống nhằm phục vụ cho việc tự động sử dụng thiết bị. nền
tảng sở để xây dựng quy trình tự động hóa trong nông nghip góp phần đưa
sản xuất nông nghiệp của Việt Nam tiến gần hơn với nền nông nghiệp 4.0. Quá
trình nhn dạng vân tay sẽ giúp hạn chế việc đánh i chìa khóa mà không lo bị
đứng ở ngoài cửa. hình được dùng làm công cụ đnghiên cứu phát triển
thực nghiệm ứng dụng.
2
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Giới thiệu về đề tài
1.1.1. Giới thiệu công nghệ sinh trắc học:
Theo Biometric Research Group,.Inc sinh trắc học (hay Biometrics)
các điểm thể chất và hành vi thể đo lường cho phép thiết lập c minh
danh tính ca một cá nhân.
Sinh trắc học là quá trình các đặc điểm thchất và đặc điểm khác của một
người được phát hiện và ghi lại bởi mt thiết bị hoặc hthống điện tử như một
phương tiện xác nhận danh tính. Thuật ngữ Sinh trắc học” bắt nguồn từ t
“Sinh trắc học”, dùng đchviệc phân tích thống kê quan sát các hiện tượng
sinh trắc học.
Hình 1-1. Công nghệ sinh trắc học
mã nhận dạng sinh trắc học duy nhân của c cá nhân, chúng đáng tin
cậy n trong việc xác minh danh tính so vi các phương pháp khác như chứng
minh nhân dân và mật khẩu.
Các mã nhận dạng hoặc phương thức sinh trắc học thường được phân loại là
“sinh lý học” hoặc hành vi”. Các mã nhận dng sinh trắc học liên quan đến thể
chất của một người và bao gồm: nhận dng n tay, bàn tay, nhận dạng tĩnh
mạch, mùi, mùi hương, DNA, nhận dng khuôn mặt, quét mống mắt.
Công nghệ sinh trắc học các hệ thống hoặc ứng dụng được thiết kế để sử
dụng dữ liệu sinh trắc học thu được từ các phương thức hoặc nhn dng sinh trắc
học. Hệ thống sinh trắc học là một quá trình tự động:
1) Thu thập dữ liệu sinh trắc học thông qua thiết bị nhận dng sinh trắc học,
chẳng hạn như máy quét hình ảnh cho dấu vân tay hoặc các mẫu nh mạch lòng
n tay hoặc một máy ảnh để thu thập các bản quét khôn mặt và mống mắt.
2) Trích xuất dữ liệu từ mẫu được gửi thực tế.
3) So sánh dữ liệu được quét từ những d liệu được thu thập để tham khảo.
4) Đối sánh giữa mẫu đã gửi vi các mu.
5) Xác định hoặc xác minh xem danh tính ca người giữa dữ liệu sinh trắc học
có xác thực hay không.
Do đó, công nghệ sinh trắc học bao gồm cả phần cứng và phần mềm. Thiết
bị nhn dạng sinh trắc học phần cứng thu thập, đọc và so sánh dữ liệu sinh
trắc học. Dữ liệu sinh trắc học một mẫu được lấy từ nhân duy nhất. Phần
mềm được nhúng trong công nghệ sinh trắc học bao gồm một công cự sinh trắc
học xử dữ liệu sinh trắc học đã thu thập được. Phần mềm này thường hoạt
động song song với phần cứng để vận hành quy trình thu thập dữ liệu sinh trắc
học, trích xuất d liệu và thực hiện so sánh, bao gồm cả đối sánh dữ liệu.
1.1.2 Lịch sử công nghệ sinh trắc học:
Ngày càng nhiều người tiêu dùng chuyển sang thế giới kỹ thuật s.
Tuy nhiên, sự phổ biến ngày càng tăng của các nền tảng mua sắm trực truyến
các dịch v tài chính online đã trở thành mục tiêu cho tội phạm mạng.
Với các mối đe dọa bảo mật tiềm tàng, các doanh nghiệp phải thực hiện các
biện pháp an ninh mạng mạnh mđể ngăn chặn các tội phạm truy cập trái phép
o mạng của họ. Do đó, công nghệ sinh trắc học được coi sự thay thế khả thi
cho các phương pháp xác minh danh tính thông thưng. Đặc điểm sinh trắc học
thứ không thể giả mạo, do đó với việc sử dng công nghệ sinh trắc học, các
doanh nghiệp có thể chống lại các hacker nhằmm ra điểm yếu trong hệ thống.
4
Xác thực sinh trắc học nghe vnhư công nghệ ca tương lai nhưng
thực tế việc sử dụng sinh trắc học cho mục đích nhận dạng đã được phát triển kể
từ những năm 1800. Ban đầu dựa trên các mẫu giọng nói và dấu vân tay của
con người và được sử dng đ c định tội phạm. Nhưng khi công nghệ
nhng ớc nhảy bọt, khoa học ính trắc học cũng phát triển không ngừng và
hiện nay, công nghệ sinh trắc học đã được phổ biến rộng rãi khắp mọi nơi và
cụ thlà ngay trên điện thoại của bạn.
Năm 1823: Nhà khoa học Joannes Evangelista Purkinji tìm thấy các
hình và hình dạng của ngón tay.
Năm 1880: Henry Faulds và W.J Herchel, trong một công trình công bố tên
Nature”. đã đxuất sử dụng vân tay như phương thức độc đáo đ xác định
bản chất con người.
Cuối thế kỉ 19 m 1880: Tiến Henry Faulds đưa ra lý lun số lượng
n tay TRC(Total Ridge Count) thể dđoán tương đối chính xác mức đ
phụ thuộc của chúng vào gen di truyền của con nời được kế thừa trong đó có
liên quan đến tiềm năng và trí tuệ của con người.
Năm 1892: ông Fancis Galton đã chỉ ra rằng: vân tay của những cặp song
sinh, anh em và di truyền cùng dòng máu thì sự tương đng. Chính điều này
đã mở ra ngành nhân học.
Năm 1926: Harol Cummins đề xuất “Dermatoglyphics” (Sinh trắc học dấu
n tay) nmột thuật ngữ cho chuyên ngành đnghiên cứu dấu vân tay tại
Hiệp hội hình thái học của Mỹ.
Năm 1930: Hiệp hội nghiên cứu hình thái sinh học (viết tắt SSPP:
Society for the Study of Physiological Pattems) bắt đầu công trinh nghiên cứu 5
chúng vân tay và những nét đặc trưng độc đáo của nó.
Năm 1985: Tiến nổi tiếng Chen YI Mou - Đại học Havard nghiên cứu
Sinh trác vân tay dựa trên Thuyết Đa Tng Minh của Tiến Howard Garder.
Đây lần đầu tiên phương pháp này được áp dụng sinh trắc vân tay trong lĩnh
vực giáo dục và chức năng của bộ não liên quan đến dấu vân tây.
1.1.3 Ứng dụng công ngh sinh trắc học:
- Các ứng dụng của sinh trắc học đang áp dụng hiện nay
Dấu vân tay - fingerprint
Hình 1-2 Sinh trắc học vân tay
Tại hội nghị WQC năm 2014 đã kết quả o cáo rằng đến
85% người sử dụng Iphone 5S ng công nghệ bảo mt n tay
TouchID để bảo vệ thiết bca mình. do mà việc du n tay được
sử dụng nhiu như vy do khả ng bảo mt cao. điện thoại của
họ hoàn toàn được bảo mt khi bị thất lạc hoặc bị mt trộm.
Không chỉ sử dụng du n tay cho mục đích bảo vi sản, mà
du n tay n được sử dụng nhiều trong các thiết bị điện t như:
Khóa đin tử, khóa cửa bằng n tay, chấm ng bằng n tay. Hin
nay t vic sử dụng du n tay phổ biển trên nhiều trưng học
trên thế giới.
Máy quét tĩnh mạch lòng n tay - Palm Vein Reader
Hình 1-3 Sinh trắc học bàn tay
6
Một hthống camera hồng ngoại đặc biệt sẽ được tích hợp dưới màn hình
thiết bị. Khi người dùng đưa bàn tay qua màn hình thiết bị, hệ thống camera này
sẽ kết hợp với ánh sáng từ màn hình đquét các thông số nh mạch của đối
tượng rồi so sánh vi dliệu gốc đã được đưa ra quết định cho phép mkhóa
thiết bị hay không. Mặc dù phương pháp bảo mật y vẻ không khác bảo
mật vân tay được Apple cùng rất nhiều hãng smarthome áp dụng. Mức đbảo
mật được cho cao hơn nhiều so với dấu vân tay nó nằm trong th và rất
khó bị làm giả.
Nhận diện khuôn mặt
Hình 1-4 Sinh trắc học khuôn mặt
Nhận diện khuôn mặt công nghệ tưởng chừng chỉ xuất hiện trong các bộ
phim viễn tưởng. Nhưng ngày nay đã xuất hiện trong các thiết bị công nghệ
phổ biến như m khóa cửa bằng khuôn mặt, m điện thoại bằng khuôn mặt.
Công nghệ này đặc biệt được sử dụng nhiều trong quá trìnhm kiếm kẻ truy nã.
Với hthống camera quan t lắp đặt tại khu trung tâm và những nơi yêu cầu
bảo mật cao như ngân hàng, sân bay, chung cư, văn png, nhà xưởng, kho
i..v..v. Sử dụng phần mềm phân tích khuôn mặt n giúp phá các ván nhanh
n.
Sinh trắc học hành vi - Behavioral Biometri
Hình 1-5 Sinh trắc học dựa vào hành vi con người
Công nghệ c thực vhành vi được hình tnh từ thói quan sử dụng của
con người trên các thiết bị smartphone. Chúng phân tích các từ khóa mà người
sử dụng hay sử dụng. Hay những ứng dụng mhay mđphân tích các hành vi.
tao ra lưu trữ cho những lần tiếp theo. Công nghệ này được phản ng tích
cực hơn từ đa số mọi người. thể đưa ra một cảnh o chặn truy cập vào tài
khoản. Khi người dùng hành vi sai lệch khi thực hiện đăng nhập. Nhóm dịch
vtài chính toàn cầu BBVA sử dụng công nghệ cài đặt trên thiết bị di động.
Nhịp tim - Cardiac Rhyth
Hình 1-6 Dựa o nhịp tim để thanh toán các hóa đơn
Mọi người có thể đã chng còn lạ vi theiets bị đọc điện m đồ (ECG)
xuất hiện trong các bệnh viện. Về thực chất thì công nghệ điện tâm đồ không th
i có qnhiều đột phá, nhng xuất hiện trên bản đsinh trắc học đơn
giản. Chỉ các thiết bị nhỏ giúp kết nối với nhịp đập trái tim của người sử
dụng và hthống tín hiệu. Được đeo trên nời thể xác nhận các nhịp tim
riêng biệt khi hoạt động của từng cá nhân.
Nhận diện qua ng mạc - Eye Scan
8
Hình 1-7 Sinh trắc học nhận diện võng mạc
Công nghệ quét võng mạc đã xuất hiện từ những năm 1980. một trong
nhng ứng dụng sinh trắc học nổi tiếng nhất. Ngày nay người ta ch yếu sử
dụng cho ng dụng kiểm soát ra vào trong môi trường bảo mật cao: trong doanh
trại, nchính phủ,…. Quét võng mạc một ng nghệ mi những rất có triển
vọng.
1.2 Mục đích nghiên cứu
Đề tài được nghiên cứu, khảo sát thực hiện vi mục đích áp dụng nhng
kiến thức đã được học trong nhà trường đthiết kế, tạo ra một hệ thống m-
đóng cửa bằng phương pháp quét vân tay.
Hệ thống gồm có:
Arduino
Cảm biến vân tay AS608
Màn hình LCS 16x2
4 nút nhấn
Module relay
Module thời gian thực RTC
1.3 Ni dung nghiên cứu
Tìm hiểu về cảm biến vân tay phương pháp mở-đóng cửa tự động
Thiết kế module cảm biến vân tay
Đánh giá kết qu thực hiện được.\
1.4 Phương pháp nghiên cứu
Kết hợp giữa thuyết và thực nghiệm:
Sau khi nhận đề tài, em đã tập trung tìm hiểu các vấn đliên quan đến đề tài.
Sau đó chế tạo mạch, sản phẩm đ kiểm tra thực tế. Trong quá trình chạy thực tế
kiểm tra lỗi, những hạn chế mắc phải đ sửa và phát triển tm các ý ởng
khác.
Phương pháp quan t: khảo sát một số mạch điện thực tế đang trên thị
trường và tham khảo thêm một số dạng mạch từ mạng Internet.
Phương pháp tham khảo tài liệu: bằng các thu thập thông tin từ sách, tạp chí
về điện tử và truy cập từ mạng Internet.
1.5 Ý nghĩa thực tiễn
- Thực tế rất nhiều công ty, doanh nghiệp đã áp dụng công nghệ m-khóa
cửa thông minh sử dụng cảm biến vân tay này. mang lại tính hữu ích cao, tiết
kiệm thời gian cho công nhân cũng như qun lý, cải thiện chất lưng cuộc sống
- Tạo tính duy, sáng tạo cho sinh viên trong quá trình nghiên cu.
- tính linh động và mrộng cho sinh viên thiết kế mô hình da trên sở
thực tiễn.
- Mô hình nhỏ, đơn giản nhưng tiện lợi, hữu ích.
10
CHƯƠNG 2: ĐỐI TƯỢNG PHƯƠNG PHÁP NGHIÊN CU
2.1. Đi tượng nghiên cứu
Trong cuộc sống hiện nay, mở cửa bằng dấu vân tay là phương thức m
khóa hiện đại được sử dụng trong các dòng khóa vân tay, khóa cửa điện tử.
2.1.1. Phân loại c pơng pháp mở-khóa cửa thông minh:
2.2.1 Mở-khóa cửa bằng thẻ từ:
Mở-khóa cửa bằng thẻ từ là thiết bị điện tử hoạt động khi cắm điện và sử
dụng thẻ từ cảm ứng gắn chip (RFID) để nhân viên m-khóa cửa.
Ưu điểm của cách mở-khóa cửa này:
- Mở khóa tiện lợi nhanh chóng:
Người dùng chỉ cần chạm đầu ngón tay lên phần đầu đọc, chưa đầy mt
giây, cửa sẽ được mở ra.
Người sử dụng không cần luôn mang theo chìa khóa n người giống như
với loại ổ khóa cơ truyền thống.
Không lo lắng việc quên chìa khóa hay đánh rơi, làm mất chìa ka
Chìa khóa vân tay, người dùng thmkhóa mà không cần bất kỳ
phương tiện hay công cụ nào khác.
- Độ an toàn, bảo mật tối ưu
Mỗi người có một dấu vân tay khác nhau, không th trùng lp
khóa cửa kết hợp công nghệ nhận dạng vân tay hiện đại, cho phép khóa
ngăn chặn mọi tình trạng sao chép, làm giả, lấy trộm vân tay
Những người không có dấu vân tay hợp lệ, chưa đăng ký vân tay trước đó
không thể m cửa trong bất kỳ trường hợp nào.
2.2.2 Mở cửa bằng vân tay
Với cách lưu dữ liệu ơng tự như m cửa bằng thẻ từ, khưng mở cửa bằng
n tay được áp dụng công nghệ hiện đại hơn. Cách này khắc phục được hạn
chế việc quân hay làm mất th so vi cách trên. Song máy ng mt vài
nhược điểm như không nhạy khi tay ướt, máy n hay gặp lỗi không xác định
được vân tay và chi phí lắp đặt cao hơn cho với việc mcửa bằng thẻ từ. Mở
cửa thông minh bằngn tay cũng không quá p hợp vi các ngành nghề, công
việc dễ làm mờ vân tay như tiếp xúc vi sơn hoặc nhiều bụi bặm,m đồ gỗ...
Ưu điểm của cách mở-khóa cửa này:
- Mở khóa tiện lợi nhanh chóng:
Người dùng chỉ cần chạm đầu ngón tay lên phần đầu đọc, chưa đầy một
giây, cửa sẽ được mở ra.
Người sử dụng không cần luôn mang theo chìa khóa bên người giống như
với loại ổ khóa cơ truyền thống.
Không lo lắng việc quên chìa khóa hay đánh rơi, làm mất chìa ka
Chìa khóa là vân tay, người dùng có thể m khóa mà không cần bất kỳ
phương tiện hay công cụ nào khác.
- Độ an toàn, bảo mật tối ưu
Mỗi người có một dấu vân tay khác nhau, không th trùng lp
Ổ khóa cửa kết hợp công nghệ nhận dạng vân tay hiện đại, cho phép ka
ngăn chặn mọi tình trạng sao chép, làm giả, lấy trộm vân tay
Những người không có dấu vân tay hợp lệ, chưa đăng ký vân tay trước đó
không thể m cửa trong bất kỳ trường hợp nào.
Nhược điểm của cách mở cửa này là:
- Lỗic nhận vân tay không phải lúc nào cũng thưc hiện đưc….
- Chi phí lắp đặt sử dụng cao
2.2.3 Mở cửa bằng nhận diện khuôn mặt
Đây ch m cửa được nhiều công ty đầu tư, sử dụng hiện nay nhằm tăng
độ an ninh an toàn. chế hoạt động của hình thức này sử dụng ng nghệ
nhận diện khuôn mặt Face ID để ghi nhận nhân viên.
Ưu điểm của m cửa nhận diện khuôn mt
- Tính xác thực cao
- Hiện đại nhanh chóng
12
- Góp phần đảm bảo an ninh
Nhược điểm khi sử dụng:
- Cần đu tư máy tốt thì hoạt động mới ổn định
- Tc độ chấm công chậm n so với thẻ
- Chi phí lắp đặt sử dụng cao
Kết luận: Mỗi cách mcửa thông minh đều ưu và nhược điểm riêng
nhưng đều hỗ tr người dùng sử dụng. Dựa trên những ưu nhược điểm đó và tùy
theo các người sử dụng đưa ra lựa chọn hiệu quvà tối ưu nhất. Nhưng phương
pháp mở cửa bằng vân tay đang được sử dụng rng rãi nhất thời điểm hiện tại
nhanh gọn, minh bạch, xác thực cao.
2.2 Tìm hiểu về cm biến vân tay
Công nghệ cảm biến vân tay ny càng thông dụng phát triển. Không chỉ
được sử dụng để tích hợp tính năng bảo mật trên các ng smartphone hiện nay.
Công nghệ cảm ứng vân còn còn được ứng dụng tích hợp vào các thiết bị hiện
đại khác như: Laptop, Tivi, máy chấm công, Khóa cửa…Vậy cảm biến vân tay
là gì?
Định nghĩa:
Cảm biến vân tay hay n tên gọi khác cảm biến nhận diện vân tay
một dạng lưu trữu vân tay của người dùng bằng công nghệ sinh trắc học với
nhng loại sóng khác nhau, sau đó u lại những bề mặt lồi lõm cả lớp da của
tay để lưu lại nhằm đảm bảo tính bảo mật khi người dùng sử dụng.
Nguyên hoạt động:
Về bản, cảm biến vân tay một hệ thống khả năng lưu bản in vân tay
của người dùng một cách nhanh chóng nhờ một hthống được đặt dưới khung
quét. Người dùng đặt tay lên khung quét và c cảm biến trên khung quét sẽ lưu
lại cách hình nh đó các phân mềm, vi xử sẽ phân ch hình ảnh này theo
các vtlồi/lõm trên đu ngón tay của bạn. Khi đặt nn tay lên trên một thiết
bị đọc vân tay, ngay lập tức thiết bị này sẽ quét hình ảnh ngón tay đó và đưa vào
hệ thng. Hthống sẽ xử dấu vân tay, chuyển sang dạng d liệu số rồi đối
chiếu các đặc điểm vân tay đó vi dữ liệu đã được lưu trữ trong hệ thống.
Ưu nhược điểm của cảm biến vân tay:
Ưu điểm:
- So vi các thiết bị thông thường việc mkhóa bằng cảm biến vân tay sẽ
nhanh hơn vi đnhạy cao: chỉ cần chạm hoặc vuốt nhẹ
- Không cần ghi nhớ mật khẩu, dễ dàng thao tác, tiếp cận dễ dàng với
người sử dụng.
- nh bảo mật, xác thực cao: do vân tay của mỗi người khác nhau
Nhược điểm:
- Không thm cửa nếu vân tay của bạn bị xước, biến dạng mà không
phương án dự phòng.
Cảm biến vân tay một h thống xác thực, không chức ng bảo vệ
dữ liệu. Chính vì vy người khác thsử dụng ngón tay của bạn mkhóa cửa
khi bạn ngủ hoặc mất ý thức.
2.4 Phân loại cảm biến vân tay
2.4.1 Cảm biến quang học
Cảm biến này sẽ sử dụng một camera chuyên dụng để chụp lại hình ảnh
của du vân tay trên bề mặt kính, bề mặt kính của cảm biến loại này được phủ
một lớp mặt kính. Bức ảnh sau khi được hệ thống camera chụp lại sẽ được nén
lại và chuyển sang tín hiệu số để chuyển đến khối xử lý hình ảnh phía sau.
Công nghệ này nhược điểm nhn dạng vân tay lâu. Thiếu đchính
c cao, khả năng xử dấu vân tay mất nhiều thời gian hơn so với các loại
khác.
14
2.4.2 Cảm biến điện dung
Cảm biến loại này dựa trên nguyên cảm ứng điện từ, bề mặt cảm biến sẽ
được bố trí một ma trận tụ điện, ma trận này sẽ nhiệm vụ tái tạo lại hinhfa nhr
n tay khi đưc lấy mẫu. Khi ngón tay của nời dùng đặt trên bề mặt cảm
biến, ngay lập tức nó sẽ tạo nên sự thay đổi điện dung trong tng con ttrên ma
trận tụ điện, tùy vào độ nông sâu của vân tay từng điểm trị số tđiện sẽ
khác nhau. Dựa vào trị số điện dung từng node hệ thống sẽ dựng lại ảnh vân
tay trên ngón vừa lấy mẫu để gửi vkhối xử và so sánh.
Cảm biến loại này cấu tạo mỏng và đ bảo mật cao hơn cm biến
quang học vì thế được áp dụng các thiết bị các nhân như máy điện thoại di
động hoặc một sống thiết bị cao cấp khác.
2.4.3 Cảm biến siêu âm
Là sự đột phá trong công nghệ bảo mật vân tay, loại bỏ đi nhng bất tiện
của cảm biến vân tay điện dung chẳng hạn như không th sử dụng khi vân tay bị
ướt hay chiếm kích thưc một vùng đáng kể trên thiết bị, nhất trong c các
smartphone với xu thế tràn viền đang khá thnh nh.
Bằng cách sử dụng âm thanh tần số sóng để nhận din các chi tiết trên vân
tay người dùng, khi quét vân tay, một số xung áp lực sẽ được thu lại, mt số dội
ngược vào cảm biến gm đường vân, lỗ chân lông, c chi tiết khác đnhận
diện sự riêng biệt. Sóng này không chỉ quét bề mặt lồi m mà còn cả lớp da
dưới ngón tay, tránh những trường hợp làm giả ngón tay tinh vi hiện nay. Cảm
biến này bao gốm máy phát và máy thu.
Cảm biến siêu âm công nghệ còn khá mới đối vi giới công nghệ chi
phí khá cao.
2.5 Cảm biến vân tay
Giới thiệu cảm biến vân tay
nh 2-8 Cảm biến vân tay AS608
Tng số kĩ thut
Điện áp sử dụng: 3.0 đến 3.6VDC (thường cấp 3.3VDC, u ý quan
trọng nếu cấp lớn hơn 3.3VDC cảm biến sẽ cháy ngay lập tức).
Dòng tiêu thụ: 30 đến 60mA, trung bình 40mA
Chế độ so sánh kiểm tra: 2 chế độ 1:1 1: N.
Giao tiếp truyền thông: USB /UART
Tốc độ Baudrate UART: 9600 x N (N từ 1 đến 12), mặc định N=6
baudrate = 57600,8,1.
Giao tiếp USB: 2.0 full speed
Kích thước hình ảnh cảm biến (pixel): 256 x 288 pixels
Thời gian xử lí ảnh (s): <0.4s
Độ trễ bật nguồn (s): <0.1s (module cần khoảng 0.1 giây để khởi tạo sau
khi bật nguồn)
Thời gian làm việc (s): <0.3s
FRR (tỉ lệ từ chối): <1%
FAR(tỉ lệ nhận dng): <0.001%
Dung ng lưu trữ vân tay 10 (ID 1 đến 10)
Trong cuộc sống hiện nay, nhu cầu vmàu sắc sản phẩm ngày càng được
chú trọng, để đáp ứng nhu cầu cần thiết đó nên thị trưng ra nhiều sản phẩm
16
màu sắc đa dạng. đây sản phẩm sử dụng màu sắc của ququýt, hai nhóm
màu sắc cơ bản : Màu sắc sản phẩm phổ biến , màu sắc sản phẩm ít phổ biến.
Cách chia u sắc này dựa vào sự phổ biến của màu sắc sản phẩm trong cuộc
sống, nm màu sắc chính ( xanh, vàng, đỏ) và các màu sắc còn lại là màu sắc ít
thông dụng hơn nên thuộc nhóm còn lại. đề tài này nm sử dụng u sắc
quả thực tế là quqt vi 2 màu xanh và vàng.
a. Giới thiệu về không gian màu sắc
Không gian màu nhng phương pháp định ợng màu sắc được thiết lập
công thức một cách khoa học. H thống không gian màu cho phép mỗi màu
được xác định theo số học, bằng cách đó ta có thể chọn và lặp lại nhng màu
nào đó thật chính c. Bạn sẽ tiếp xúc vi những kng gian màu chính sau đây:
HLS (sắc thái, quang đvà độ bão hòa), HSB (sắc thái, độ o a và độ đm
nhạt), RGB (đỏ, lục, lam) và CYMK (xanh a học, vàng, tím sen, đen). CMYK
là không gian màu được sử dụng trong công nghiệp in ấn và bị giới hạn bởi mức
độ thể hiện của mực in và chất màu. Không gian RGB - hthống u thường
gặp nhất trong nghệ thuật nhiếp ảnh số - sử dụng ánh sáng, do vậy cho ta ph
màu rộng hơn các chất màu CYMK. Điều quan trọng bạn phải lưu ý sự khác
biệt giữa nhng hệ thống màu mà bạn đang làm việc với nhng biến đổi màu
thể sẽ xảy ra giữa màn hình hiển thị và kết xuất in ấn.
- Không gian màu RGB
Không gian màu RGB hoặc hệ thống màu RGB , tạo ra tất cả các màu từ
sự kết hợp của các màu Red, Green Blue.
Màu đỏ, xanh lục xanh lam sử dụng 8 bit mỗi màu, giá trị nguyên từ
0 đến 255. Điều này làm cho 256 * 256 * 256 = 16777216 có thể có màu.
RGB Đỏ, Xanh lục, Xanh lam.
Mỗi pixel trong màn hình LED hiển thị màu sắc theo cách này, bằng sự
kết hợp của các đèn LED màu đỏ, xanh lục và xanh lam (điốt phát quang).
Khi điểm ảnh màu đỏ được đặt thành 0, đèn LED sẽ tắt. Khi pixel màu đ
được đặt thành 255, đèn LED được bật hoàn toàn.
Hình 2. 1. Không gian màu RGB
RGB đnh dạng 24bit(bit0..23): RGB = (R*65536)+(G*256)+B ,
(when R is RED, G is GREEN and B is BLUE).
dụ:
Màu trắng RGB: White RGB code = 255*65536+255*256+255 =
#FFFFFF.
Màu RGB xanh lam : Blue RGB code = 0*65536+0*256+255 = #0000FF.
Màu RGB vàng : Yellow RGB code = 255*65536+255*256+0 =
#FFFF00.
- Không gian màu CMYK
CMYK không gian màu được sử dụng phổ biến trong ngành công
nghiệp in ấn. Ý tưởng bản của hkhông gian này dùng 4 màu sắc bản
phục vcho việc pha trộn mực in. Trên thực tế người ta dùng 3 màu C=Cyan:
xanh lơ, M=Magenta: hồng xẫm và Y= Yellow: vàng đbiểu diễn các màu sắc
khác nhau. Nếu lấy u hồng xẫm cộng vàng sẽ ra đỏ, màu xẫm kết hợp vi
xanh lơ sẽ cho ra xanh lam. Sự kết hợp của 3 màu trên sẽ cho ra màu đen, tuy
nhn màu đen ở đây không phải là đen tuyệt đối và có độ tương phản lớn.
Hình 2. 2. Không gian màu CMYK
18
Nguyên lý hoạt động : Nguyên lý của hệ màu CMYK là hấp thụ ánh sáng.
Màu chúng ta nhìn thấy chính từ phần ánh sáng không hấp thụ. Diễn giải cách
khác, chúng hoạt động trên chế vật không tự phát ra ánh sáng. Mà chỉ phản
xạ ánh sáng từ các nguồn sáng chiếu tới.
Vậy nên, thay vì thêm đsáng để những màu sắc khác nhau. Hmàu
CMYK sẽ loại trừ ánh sáng từ màu trắng (ánh sáng gốc) đtạo ra những màu
sắc khác. Mặt khác, 3 màu Cyan, Magenta và Yellow khi kết hợp cũng sẽ tạo ra
màu đen.
Màu CMYK được dùng trong các thiết kế phục v cho mục đích in ấn.
dụ như poster, flyer, brochure, portfolio, name card, catalogue, sách và tạp chí,
bộ nhận diện thương hiệu, bao bì, ...
- Không gian màu HSV
HSV cũng gần tương tự như HSL là không gian màu được dùng nhiều
trong việc ch ỉnh sữa ảnh, phân ch ảnh và mt phần của lĩnh vực thị giác máy
tính. Hệ không gian này dựa vào 3 thông số sau để mô tả màu sắc H = Hue: màu
sắc, S = Saturation: độ đậm đặc, sự bảoa, V = value: giá trị cưng độ sáng.
Không gian u này thường được biểu diễn dưới dạng hình tr hoặc nh
nón.
Hình 2. 3. Không gian màu HSV
dụ: màu đen sự kết hợp của các kênh màu (R, G, B)với giá trị tương
ứng (0, 0, 0) u trắng giá trị (255,255, 255), màu vàng gtrị (255, 255,
0), màu tím đậm giá trị (64, 0, 128) ...Nếu ta ng 16bit đmã hóa một kênh
màu (48bit cho toàn bộ 3 nh màu) thì dãi màu sẽ trãi rộng lên tới 3*2^16 = ...
Một con số rất lớn.
b. Phương pháp nhận diện màu sắc
Với ảnh chụp thu nhận được từ Camera sẽ cho không gian màu của ảnh là
RGB, không gian màu RGB không thích hợp cho việc nhận dạng màu sắc, để
phân loại màu sắc người ta thường dùng không gian màu HSV. vậy cần
chuyển đổi ảnh gc từ không gian RGB sang ảnh không gian HSV.
Hình 2. 4. Các bước thực hiện xử nh
Các bước thực hiện :
- Thu nhận nh
Thu nhận ảnh là quá trình mà ảnh thể thu nhận qua camera hoặc có th
lấy từ bộ nhớ hệ thống.
- Tiền xử nh
Là bước sửa chất lượng ảnh nviệc lọc nhiễu hay tăng cường đsáng,
để nâng cao chất lượng ảnh và chuyển ảnh xám để dễ dàng nhn dạng ảnh.
Chuyển đổi xám: giả sử hình nh đưc lưu trữ dưới dạng RGB. Điều y
nghĩa ba ma trận xám tương ứng cho màu Red, Green, Blue. Công việc
tìm cách tổng hợp ba ma trận này về thành một ma trận duy nhất.
Lọc trung bình: Giả sử một ảnh đầu vào với I(x,y) giá trị điểm ảnh
tại một điểm (x,y) và một ngưỡng 0.
Bước 1: Tính tổng các thành phần trong ma trận lọc.
Bước 2 : Chia lấy trung bình của tổng các thành phần trong ma trận được
tính ở trên vi số lượng các phần tử của cửa sổ lọc ra một giá trị.
Bước 3 : Hiệu chỉnh
- Chuyển đổi nh
Chuyển đổi xám: giả sử hình nh đưc lưu trữ dưới dạng RGB. Điều y
nghĩa ba ma trận xám tương ng cho màu Red, Green, Blue. Công việc
20
tìm cách tổng hợp ba ma trận này vthành mt ma trận duy nht. Một trong số
công thức phổ biến để thực hiện là
Không gian màu RGB không thích hợp cho việc nhận dạng màu sắc, đ
phân biệt màu sắc người ta thường dùng không gian màu HSV. vậy ta cần
chuyển đổi ảnh có không gian màu RGB sang ảnhkhông gian màu HSV
- Nhận dạng phân loi
Ta nhận dạng màu sắc dựa vào c đặc điểm riêng biệt của từng u, khi
được các đặc điểm riêng biệt của từng màu ta tiến hành phân loại từng màu
sắc sản phẩm một nhờ vào việc so sánh các đặc điểm riêng biệt của chúng đối
với các giá trị đã định trước. Ta lần lượt so sánh từng màu một tmàu xanh đến
màu vàng. Nếu các đặc điểm trùng khớp với đặc điểm đ ra màu trước thì ta
kết luận ngay đó là sản phẩm của màu đó và ngược lại.
2.1.2. Trang thiết bị điều khiển phần mm vận hành
a. Bộ điều khiển PLC
Hình 2. 5. PLC board fx3u
PLC viết tắt của Programmable Logic Controller, đây thiết bị điều
khiển lập trình cho phép thực hiện linh hoạt các điều khiển logic thông qua ngôn
ngữ lập trình. Giúp đặt lệnh các chương trình chạy cho băng tải đa
Người sử dụng có thể lập trình thực hiện một loạt trình tự c công việc.
Các công việc này được kích hoạt bởi tác nhân tác động vào PLC hoặc qua hoạt
động trễ như thời gian nhất đnh. Khi công việc được kích hoạt bộ điều khiển
lập trình sẽ liên tục “lặp lại” chương trình do “người sử dụng lập ra” chờ tín hiệu
ở n vào xuất tín hiệu ở ngõ ra tại thời điểm đã lập trình.
Tuy nhiên trong q tnh làm việc hệ thống PLC còn nhiều nhược điểm
để khắc phục những nhược điểm này n sản xuất có thể dùng dây nối (bộ điều
khiển bằng Relay) để chế tạo ra bộ PLC nhằm thỏa mãn các yêu cầu sau:
- Lập trình dễng.
- Kích thước gọn nhẹ, dễ dàng bảo qun, sửa chữa.
- Dung ợng bộ nhớ ca hthống lớn để thể chứa được nhiều chương
trình phức tạp.
- độ tin cậy cao trong môi trường công nghiệp.
- Khả năng giao tiếp được với các thiết bị thông minh khác như: máy tính,
nối mạng, các module m rộng.
Hình 2. 6. đồ chân của FX3U - 24MT
Tng số thuật của PLC board fx3u 24MT.
Ngõ vào/ra : 14 vào / 10 ra.
Ngõ vào analog : 6 ngõ vào analog, độ chính xác 12bit, A0-AD2: 0-10V,
A3-AD5: 0-20mA; Đọc cấu trúc lệnh RD3A.
Ngõ ra analog : 2 ngõ ra analog, độ chính xác 12bit, ngõ ra vôn: 0-10V,
ngõ ra analog với cấu trúc lệnh WR3A.
Nguồn cấp : 24VDC 1A.
Phần mm lập trình : GX Developer - GX-Work 2.
b. Phần mm GX Work2
22
Hình 2. 7. Giao diện GX Work2
- Tổng quan
Đây phiên bản phần mm nâng cấp thay thế cho phần mềm GX
Developer, lập trình cho các dòng PLC FX, Q, L, A, S, CNC
GX Works2 là phiên bản nâng cấp và thay thế cho GX Developer bị hạn
chế một số tính năng. Những cải tiến trong phiên bản phần mềm này gồm có:
Giao diện được thiết kế lại một cách trực quan hơn để thuận tiện cho
người sử dụng
T viện các modul được cập nhập đầy đủ n
Hỗ trợ thêm những ngôn ngữ lập trình như FBD SFC
Thao tácy chỉnh các thông số dễ dàng
Bộ cài đặt được tích hợp thêm các gói phần mềm hỗ trợ
Phần mm có thể lập trình cho các dòng PLC sau:
Dòng FX: FX0S, FX0, FX1, FX1S, FX1N, FX1NC, FX2N, FX2NC,
FX3S, FX3G, FXGC, FX3U, FX3UC
Dòng Q cpu (Q mode, A mode), L cpu, QS cpu, QnA cpu, A cpu, S cpu,
CNC
GX Work 2 phần mm được Mitsubishi nâng cấp thay thế cho GX
Developer với giao diện trực quan đẹp n hơn, thao tác mượt và htrợ
thêm c ngôn ngữ lập trình khác nFBD (Function Block Diagram), SFC
(Sequential Function Chart). Phần mm này khá nặng, nếu máy nh lập trình
cấu hình thấp thì có thể sử dng GX Developer.
Cấu hình màn hình trong ca GX Work2
Hình 2. 8. Vị trí của từng thanh trong GX Work2
Thanh tiêu đề : Thanh tiêu đề hiện tên các dự án đang sử dụng
Hình 2. 9. Thanh tiêu đề
Thanh menu: Thanh menu được sử dụng khá thường xuyên khi làm việc
với GX Works2. Click vào thanh menu để chọn những chức năng khác nhau từ
thanh menu.
Thanh công cụ: Thanh công cụ gồm những biểu tượng rất trực quan và dễ
sử dụng cho những chức năng thông dụng. Nó khiến các thao tác nhanh hơn.
Hình 2. 10. Thanh công cụ
Tap : Khi làm việc vi nhiều cửa sổ đang mở, thể hiện theo dạng trình
duyệt tab . Click vào tab sẽ kích hoạt cửa sổm việc tương ứng
Xem nội dung hiển thị : Xem nội dung hiển th thể hiện nội dung của trình
hiển thị hiện tại
Vùng quản lý project : xem vùng đang chọn vùng thể hiện nội dung của
vùng hiện tại.
24
Khu vực soạn thảo chương trình (cửa sổ làm việc) : Màn hình chỉnh sửa
thể hiện nhiều loại màn hình nmàn hình tạo chương trình và màn hình tạo
comment để chỉnh sửa biểu đồ lader, cthích, và tham số.
Cửa sổ Output : Cửa sổ đầu ra thể hiện sự biên dịch và kiể mtra kết quả
(như lỗi và cảnh báo).
Thanh trạng thái : Thanh trạng thái thể hiện thông tin trạng thái của GX
Works2.
Hình 2. 11. Thanh trng thái
- Chức năng
GX Works2 quản lý các chương trình và thông số đầu vào của dự án cho
mỗi CPU điều khiển khả trình.
Lập trình :
Chương trình thể được tạo ra trong một Dự án đơn giản theo cách
tương tự với GX Developer.
Lập trình cấu trúc trong một dự án cấu trúc cũng khả thi với GX Works2
Hình 2. 12. dụ về lập trình trong GX Work2
Cài đặt tham số :
Tham số cho CPU điều khiển khả trình và tham số cấu hình mạng có th
được đặt với GX Works2.
Tham số cho khối chức năng thông minh cũng thể được cài đặt
Hình 2. 13. i đặt các tham số
Viết/đọc dữ liệu đến/từ một CPU điều khiển khả trình.
Tạo chương trình tuần t thể được viết/đọc từ một CPU điều khiển khả
trình sử dụng Read từ PLC/Write của chức ng PLC. Đồng thi, với chương
trình thay đổi chức năng trực tuyến, chương tnh tuần tự thể bị thay đổi ngay
cả khi CPU điều khiển khả trình đang chạy (RUN).
Hình 2. 14. Kh năng đọc viết dữ liu
Quan sát/soát lỗi :
Tạo chương trình tuần tcó thể được viết cho CPU điều khiển khả trình
giá trị của thiết bị khi hoạt động của nó đang được theo dõi trực tuyến/ngoại
tuyến.
Hình 2. 15. Soát lỗi trong chương trình
Chuẩn đoán
Trạng thái lỗi hiện tại và lịch sử lỗi ca CPU điều khiển khả trìnhcó thể
được chuẩn đoán.
26
Với chức năng chuẩn đoán, công việc khôi phc thể được hoàn thành
trong thời gian ngắn.
Với chức năng theo dõi hthống (cho QCPU (Q mode)/LCPU), thông tin
cụ thể trong module chức năng thông tin thể được lấy về. Điều này giúp cho
rút ngắn thời gian phục hồi dữ liệu khi hệ thống đang lỗi.
Hình 2. 16. Chuẩn đoán trng thái
c. Phần mềm Visual Studio
Hình 2. 17. Giao diện Visual Studio
- Tổng quan về phần mềm
Visual Studio một môi trường phát triển tích hợp được phát triển bởi
Microsoft. Visual Studio n được gọi trình soạn thảo mã được nhiều người
sử dụng nhất thế giới”, đây là một trong những công cụ h trợ lập trình website
nổi tiếng nhất hiện nay mà chưa phần mềm nào có thể thay thế chúng.
- Cấu trúc
Visual Studio không hỗ trợ cho bất kỳ ngôn ngữ lập trình nào về giải pháp
hoặc công cụ thực chất thay vào đó nó cho phép cắm chức năng được mã hóa
như một VSPackage. Visual Studio SDK cũng bao gồm Managed Package
Framework một tập hợp quản lý bao bọc quanh các COM-interfaces cho phép
các gói được viết bằng bất k ngôn ngữ nào. Htrợ cho các ngôn ngữ lập trình
được thêm vào bằng cách sử dụng một VSPackage đặc biệt được gọi một dịch
vngôn ngữ. Một dịch v nn ngữ định nghĩa giao tiếp các chức năng đưc
thêm vào theo cách này bao gồm pháp màu, hoàn thành báo cáo kết quả, kết
hợp đôi, công cụ chú giải tham số thông tin, danh sách thành viên và đánh dấu
lỗi trên nền biên dịch.
Visual Studio không bao gm bất kHthống quản phiên bản htrợ
kiểm soát nguồn nhưng nó xác định hai cách thay thế cho c hthống kiểm
soát mã nguồn để tích hợp với IDE. Visual Studio hỗ trợ chạy nhiều thể của
môi trường (tất cả đều có VSPackages riêng của mình). Các phiên bản sản phẩm
khác nhau của Visual Studio đưc tạo ra bằng cách sử dụng AppIds khác nhau.
Các sản phẩm phiên bản Visual Studio Express được cài đặt vi AppIds riêng
nhưng với các sản phẩm Standard, Professional và Team Suite chia sẻ cùng
AppID.
- Giao diện làm việc
Hình 2. 18. Giao din làm việc chính
Vùng 1: Toolbox - đâyvùng chứa tất cả các control có thể sử dụng cho
project, có thể kéo thả những control này sang vùng 2 và vùng 3.
Vùng 2: Design - vùng hiển thị kết quả (giao diện) từ giao diện,
nhng loại project không có vùng làm việc này như Console App.
Vùng 3: vùng viết nguồn (coding).
28
Vùng 4: nơi xuất ra những thông báo trong quá trình biên dịch, các lỗi cú
pháp phát sinh trong quá trình viết mã.
Vùng 5: Solution Explorer - vùng quản các file trong project đang m
việc.
2.3. Nội dung nghn cứu
Tìm hiểu tng quan vxử nh, tổng quan vphân loại sản phẩm, ứng
dụng của xử ảnh trong đời sống sản suất, đặc biệt ng dụng của xử ảnh
trong phân loại sản phẩm. Qua đó thể xây dựng được yêu cầu v mô hình
phân loại sản phẩm theo màu sắc quả.
Giới tổng quan v đối tượng nghiên cứu, ý đồ xây dựng hệ thống, các
thiết bị có trong hệ thống và các phương pháp nghiên cứu.
Hoàn thiện các thiết kế phần cứng, phần mm và tiến hành chế tạo mô
hình, cùng đó là thực hiện thử nghiệm đánh giá hoạt động của hệ thống.
2.4. Phương pháp nghiên cứu
Phương pháp kế thừa: Kế thừa từ c tài liệu, công trình nghiên cứu trước
đó về những mảng chính của đề tài, cách sử dụng các thiết bị, cảm biến, sử dụng
các thư viện lập trình được thiết lập và kiểm chứng bởi cộng đồng.
Sau khi đã xây dựng xong sở thuyết của đề tài sẽ tiến hành thử
nghiệm sự hoạt động trên các thiết bị hiện có.
Các bước tiến nh nghiên cứu tìm hiểu cơ sở lý thuyết về vấn đề
nghiên cứu, tiến hành thiết kế chương trình điều khiển và mạch điều khiển, sau
đó thử nghiệm trên mô hình để đưa ra kết luận.
Kết hợp giữa việc thiết kế tuần tự và đồng thời: cụ thviệc đầu tiên
nghiên cứu hình cụ thể sau đóy dựng hình chứa đầy đủ những dự định
sẽ trong thiết kế qua đó cái nhìn tổng quan vhthống chung và xác định
thông số cơ bản. Từ đó, áp dụng để thiết kế trong giới hạn của đề tài.
Tìm hiểu tổng quan vxử ảnh, , ứng dụng của xử lý nh trong đời sống
sản suất, đặc biệt ứng dụng của xử nh trong phân loại sản phẩm. Qua đó
thxây dựng được yêu cầu vmô hình phân loại sản phẩm ququýt theo đ
nguyên vẹn.
Giới thiệu tổng quan vđối tượng nghiên cứu, ý đồ y dựng hệ thống,
các thiết bị có trong hệ thống và các phương pháp nghiên cứu.
Hoàn thiện mc tiêu ứng dụng công nghệ xử ảnh vào mô hình cùng đó
là thực hiện thử nghiệm đánh giá hoạt động của hệ thống.
Qua chương 2, em đã giới thiệu được tổng quan vđối tượng nghiên cứu,
ý đồ xây dựng hệ thống, các thiết bị trong h thống và các phương pháp
nghiên cứu ca mình. Trên sở đó trong chương 3, em sẽ hoàn thiện các thiết
kế phần cứng, phần mm và tiến hành chế tạo mô hình, cùng đó là thực hiện thử
nghiệm đánh giá hoạt động của hệ thống.
CHƯƠNG 3 : KẾT QUẢ THẢO LUN
3.1. đồ tng quát
3.1.1. đồ khối
Hình 3. 1. đồ khối
30
Các cảm biến đầu vào bao gồm cảm biến vật cản hồng ngoại, camera.
PLC sẽ đóng vai trò xử lý trung tâm, nhận tín hiệu tcác cảm biến rồi
thông qua thuật toán điều khiển sẽ đưa ra các tín hiệu điều khiển cho cấu
chấp hành.
cấu chấp hành bao gồm động DC ng tải và động Bước xoay
cánh tay và hút vật.
Laptop đóng vai trò bộ xử ảnh máy chạy giao diện.
Màn hình nơi người dùng giao tiếp với hthng thông qua giao diện
điều khiển.
Sau khi dliệu hình ảnh được xử trong máy tính đưa ra kết quả vmàn
hình đồng thời cũng truyền d liệu vào PLC để bộ điều khiển PLC kích hoạt
điều khiển động bước quay cánh tay về gốc. Tiếp đó xi lanh hxuống , giác
t tiến hành hút quả. Động bước quay cánh tay đến vtrí thùng cần thả vật
để giác hút nhả hơi ra vật rơi xuống thùng. Sau đónh tay lập tức quay v v
trí gốc ban đầu.
3.1.2. Giải thuật xử nh
Hình 3. 2. Giải thuật xử ảnh
- Nguyên hoạt động :
Camera sẽ đóng vai tnhận diện và xác định vật mẫu. Đưa vật mẫu vào
trong đường bao đã được cài đặt trong phần mm đtiến hành lấy giá trị vật
mẫu. Tiến hành căn chỉnh minH, minS, minV, maxH, maxS, maxV để bôi đen
toàn bộ khung ảnh và chỉ để nhn diện được vùng bao quanh quả quýt. Sau khi
được các giá trị min max lần lượt kể trên ta nhập vào chương trình để xác
định thông số xử lí. Kết quả sau khi lấy giá trị sẽ được đưa vào quá trình xử ,
tính tn đcho ra kết quả dưới điểm ảnh (px) hay còn được gọi là vùng dữ liệu
màu. Điểm ảnh của quả quýt sau khi được xác định sẽ đem so sánh đồng thời
tìm kiếm trong các dải màu mẫu đã cài sẵn để phân tích( Dải màu 1 và dải màu
2). Sau khi hn thiện so sánh và tìm kiếm, giao diện sẽ đưa ra kết quả của dài
màu cuối cùng tương ứng với các màu mà đề tài cần đạt đưc.
3.2. Xác định sản phẩm theo màu sắc bằng xử nh
Bước 1: Xác định vật mu
Đặt sản phẩm tại điểm x trong khu vực nhận diện, thiết lập ánh sáng
chuẩn vi trong quá trình hoạt động.
Bước 2: Đọc hình dạng và tiến hànhch.
Sau khi đặt vật tại vtrí trong khung của camera. Tại phần giao diện của
phần mềm sẽ phần debug. Sau khi click vào đó màn hình hiển thị sẽ đưa ra 2
màn nhn diện màu của vật.
Hình 3. 3. Bảng chỉnh sửa không gian màu HSV
32
Điều chỉnh các thanh MinH, MinS, MinV và MaxH, MaxS, MaxV đ bôi
đen đi viền. Đến khi nào trong khung ảnh chcòn hình dạng của vật nhiều
nhất và đúng nhất ít bị dính tô đen.
Sau đó lấy các tng số H, S, V của Min và Max thay vào chương trình
Hình 3. 4. Các giá trị lọc màu
Điều chỉnh các thanh MinH, MinS, MinV và MaxH, MaxS, MaxV đ bôi
đen đi viền. Đến khi nào trong khung ảnh chcòn hình dạng của vật nhiều
nhất và đúng nhất ít bị dính tô đen.
G trị màu lọc được của màu vàng lần lượt : minH_Yellow = 0 ;
minS_Yellow = 228; minV_Yellow = 230; maxH_Yellow = 26; maxS_Yellow
= 255; maxV_Yellow = 255.
Hình 3. 5. Lấy mu quả quýt vàng
Gtrị lọc màu của màu xanh lần lượt : minH_Green = 0; minS_Green
= 191; minV_Green = 156; maxH_Green = 46; maxS_Green = 208;
maxV_Green = 255.
bình.
Hình 3. 6. Lấy mu quả quýt xanh
Sau khi lọc được các giá trị u ta tiến hành gộp min max để lấy trung
Hình 3. 7. Gộp giá trị màu lọc được
Nhân ảnh mặt nạ với ảnh đầu vào để được nh tách lấy sản phẩm.
Hình 3. 8. Nhân ảnh mặt nạ với ảnh gốc
Bước 3: Tạo đường bao nhận diện nh.
Sau khi đã nhân mặt nạ nh với ảnh gốc ban đầu, tiếp theo ta tiến hành v
đường bao để nhận diện qua camera.
Viền x giá trị x(500,1300).
Viền y có giá trị y(400,850).
34
Hình 3. 9. Chọn đường bao cho quả
Hình 3. 10. Kết quả ca đường bao trên camera
Hình 3. 11. Tìm kiếm đường nét xanh
Điểm ảnh của quả màu xanh sẽ được tính từ dải màu 1 tính từ 300px đến
500px.
Hình 3. 12. Tìm kiếm đưng nét vàng
Điểm ảnh của quả vàng sẽ được tính từ dải màu 2 300 đến 400px.
Bước 4 : Xử lí ảnh
Sau khi nhn diện được điểm ảnh ca quả quýt màu gì. Hệ thống sẽ
tiến hành phân loại màu sắc.
Hình 3. 13. Xử giá trị nhận đưc
Với từng giá trị màu tương ứng 1,2,3 đỏ, xanh, vàng.
3.3. Kết quả thử nghiệm
Kết nối nguồn điện với hệ thống. Kết nối các thiết bị điều khiển với
laptop. Sau khi nối đầy đủ các thiết bị vi nhau tiến hành test kết nối hệ thống
qua các phần mềm.
Khi tất cả thông báo đã kết nối thành công thì ta bắt đầu tiến hành chạy
mô hình.
Bảng 1. Bảng phân loại màu sắc theo dải đo màu
ST
T
Màu sắc chính
Màu sắc tnh
phần
Khoảng đo của dải
màu (px)
thập
pn
R, G, B
1
Màu xanh
Vôi xanh
420 440
50,205,50
2
Vôi
440 460
0,255,0
3
Rừng xanh
460 480
34,139,34
4
Màu xanh
480 500
0,128,0
5
Xanh vàng
400 420
154,205,50
6
Màu vàng
Màu vàng
300 350
255,255,0
7
Vàng
350 400
255,215,0
36
Bng 2. Bảng kết quả chạy thử nghiệm đánh giá
STT
Số lần
thử
nghiệm
Nội dung thử
nghiệm
Dải màu
1(Màu xanh)
(px)
Dải màu
2(Màu vàng)
(px)
Kết quả
1
3
Chạy thực
nghiệm trong
điều kiện ánh
sáng png
kín bình
thường
445
384
Chạy th
nghiệm mô
hình 3 lần
đều cho ra
kết quả
chính xác
447
397
431
380
2
3
Chạy thực
nghiệm mô
hình trong
điều kiện
phòng kín
không ánh
sáng
328
377
Chạy th
nghiệm 3
lần đều cho
ra kết qu
ng chính
c. Còn
quả xanh
sai
302
354
365
347
3
3
Chạy thực
nghiệm mô
hình trong
điều kiện ánh
sáng ngoài
trời
411
341
Chạy th
nghiệm mô
hình 3 lần
đều cho ra
kết quả
chính xác
420
355
416
347
4
3
Chạy thực
nghiệm
402
Phân loại quả vẫn chính
c khi để quả trong điu
hình vi quả
kiện ánh sáng bình
quýt to hơn
410
thường.
Giác
hút
vẫn
quả quýt đang
thể hút được vật. Tuy
được lấym
nhn chỉ đối với vật
mẫu
406
kích thước nằm trong
đường bao.
Kết luận chung : Để mô hình có thhoạt động ổn đnh, camera nhận diện
xử quả quýt chính xác nhất phải đủ điều kiện ánh sáng nh thường trong
phòng kín để có thể hoạt động chuẩn c nhất. Dải màu xanh và ng rất đa
dạng nhưng trong qtrình thử nghiệm chúng em chỉ tiến hành chạy được một
số dải trên đây.
- Hình ảnh chạy th nghiệm :
Hình 3. 14. Kết quả chạy thử nghiệm quả quýt xanh trong phòng ánh sáng
Hình 3. 15. Kết quả chạy thử nghiệm quả quýt vàng trong phòng ánh sáng
38
Hình 3. 16. Kết quả chạy thử nghiệm quả quýt xanh trong phòng không ánh
sáng
Hình 3. 17. Kết quả chạy thử nghiệm quả quýt ng trong phòng không ánh
sáng
Hình 3. 18. Kết quả chy thử nghiệm quả quýt xanh ngoài tri
Hình 3. 19. Kết quả chy thử nghiệm quả quýt vàng ngi tri
Hình 3. 20. Kết quả chạy th nghiệm với quả quýt xanh to n
3.4. Đánh giá thảo luận
3.4.1. Đánh giá
Nhìn chung hệ thống đáp ứng được những yêu cầu ban đầu của đề tài đặt
ra, sản phẩmmột số ưu nhược điểm như sau:
Các cảm biến hồng ngoại hoạt động tt.
Thuật toán điều khiển chạy đúng theo yêu cầu đặt ra.
Độ nhạy của hệ thống tốt, ngay lập tức thực hiện các lệnh khi có tín hiệu
đầu vào.
Làm việc ổn định, đạt đầy đủ các yêu cầu đề ra.
Camera nhận diện và đưa ra kết quả chính xác.
Ưu điểm :
Thiết kế nhỏ gọn phù hợp vi yêu cầu của đề tài.
Hệ thống điều khiển hn toàn tự động.
Tốc độ xử ổn định.
40
Đơn giản trong thao tác, vận hành, sửa chữa, bảo dưỡng.
Khả năng phân loại khá chính xác.
3.4.2. Thảo luận
Xây dựng kết cấu cơ khí, mạch điu khin, động hoàn thiện và gắn liền
với thực tế.
Tăng tốc độ xử nhằm tăng năng suất của hệ thống.
Ứng dụng công nghệ IoT cho phép điều khiển, giám sát từ xa.
Tăng đối tượng xử lí.
thể đưa vào xử lí được nhiều dải màu hơn nữa.
Qua chương 3, em đã hoàn thiện các thiết kế phần cứng, phần mềm và tiến
hành chế tạo mô hình, đã tiến nh thực hiện thử nghiệm và đánh giá hoạt động
của hệ thống, hoàn thành đề tài theo đúng tiến độ đề ra.
KẾT LUẬN KIẾN NGH
1. Kết luận
Sau một thời gian nghiên cứu, tìm hiểu và được sự hướng dn nhiệt nh
của TS.Ngô Trí Dương đề tài : Ứng dụng ng nghệ xử ảnh trong phân loại
ququýt” của em đã hoàn thành. Qua quá trình nghiên cứu và tìm hiểu em đã
biết thêm được về:
Trang bị thêm kiến thức v phân loại sản phẩm theo hình dạng, ứng dụng
của xử lý ảnh trong bài toán phân loại sản phẩm.
Tìm hiểu được về PLC cách lập trình PLC trong một ứng dụng thực tế.
Biết được cách sử dụng các thiết bị trong một đề tài phân loại sản phẩm.
Những kết quả đạt được :
Đã hoàn thành đồ án đúng thời gian quy định mc đích đặt ra.
hình làm việc ổn định trong các điều kiện ánh sáng khác nhau và sai
số ở ngưỡng cho phép.
Ứng dụng thành công công nghệ xử nh vào hình pn loại quả quýt
Tốc độ vận hành và xử lí ổn định.
Những mặt còn tồn tại :
Thiết bị mua trên thị trường không được chun nên tín hiệu nhiều lúc
không chính xác.
Trong quá trình chạy thực nghiệm mô hình camera đôi khi bị nhận tín
hiệu màu nhầm, lệch.
Tđtài y cho thấy việc áp dụng công nghệ cao vào ng nghiệp tại
nước ta không n quá xa nữa ngay bây giờ đã đang thực hiện, nghiên
cứu áp dụng vào thực tế góp phần phát triển và đưa nền ng nghiệp Việt Nam
tiến gần hơn tới nền nông nghiệp 4.0.
2. Kiến nghị
Qua chương 3, em đã hn thiện các thiết kế phần cứng, phần mm và
tiến hành chế tạo mô hình, đã tiến hành thực hiện thử nghiệm đánh giá hoạt
động của hệ thống, hoàn thành đề tài theo đúng tiến độ đề ra.
42
Trong khoảng thời gian thực hiện đề tài có một số nội dung em chưa th
tối ưu do thời gian và kinh phí, kiến thức hạn hẹp, có thể được bổ sung :
Khả năng hút vật có thể chính xác và điều kiện nâng cao hơn về khoảng
cách và kích thước.
Thiết kế vận dụng với nhiều đối tượng vật mẫu khác nhiều hơn, đa dạng
về màu sắc cũng như khả năng nhận dạng chính xác vật.
Ứng dụng xử ảnh nhận diện quả còn sai lệch cần đưc nghiên cứu
chính xác và thiết lập chuẩn c.
Khả năng nhận diện không chỉ dừng lại ở màu sắc của qu quýt mà có thể
áp dụng với nhiều loạt vật, nhiều loại qutrong đời sống hàng ngày.
Em rất mong quý thầy sẽ tạo điều kiện và hướng cho các bạn sinh viên
khoá sau tiếp tục phát triển hơn nữa cho đề tài này.
TÀI LIỆU THAM KHẢO
[1]
https://timvieckythuat.com/tong-quat-nhung-kien-thuc-co-ban-ve-ky-thuat-
tu-dong-hoa-1426.html/
[2]
Bộ môn Công nghệ chế tạo máy; sở ng nghệ chế tạo máy; NXB
KH-KT; Hà Nội 2008.
[3]
https://visualcpp.net/visual-studio-la-gi-gioi-thieu-phan-mem-visual-
studio/
[4]
https://blogdankythuat.com/tong-quan-phan-mem-gx-works-2-lap-trinh-
plc/
[5]
GS. TSKH. Nguyễn Văn Khang; Sổ Tay Điện Tử ; NXB Go dc
Việt Nam; Năm 2020.
[6]
Nguyễn Ngọc Phương, Nguyễn Trường Thịnh; Hệ thống điều khiển tự
động khí nén; NXB Khoa học và Kỹ thuật.
[7]
https://www.rapidtables.org/vi/web/color/RGB_Color.html
[8]
https://doc.edu.vn/tai-lieu/bai-giang-tong-quan-ve-he-thong-xu-ly-anh-va-
cac-van-de-trong-xu-ly-anh-54734/
44
PHỤ LC
Chương trình
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.Util;
using System.Linq;
using System.Threading;
using Emgu.CV.UI;
using AForge.Video;
using AForge.Video.DirectShow;
using Emgu.CV.CvEnum;
using ActUtlTypeLib;
namespace EmguCV
{
public partial class Form1 : Form
{
private FilterInfoCollection cameras;
private VideoCaptureDevice cam;
public static Bitmap bitmap;
public static Image<Bgr, byte> imgRgb;
public static Image<Gray, byte> imgGray;
public static Image<Gray, byte> imgMask;
public static Image<Gray, byte> imgMask_red;
public static Image<Gray, byte> imgMask_green;
public static Image<Gray, byte> imgMask_yellow;
public static Image<Bgr, byte> imgMask_final;
public static Image<Hsv, byte> imgHsv;
public static Image<Hsv, byte> imgHsv_red;
public static Image<Hsv, byte> imgHsv_green;
public static Image<Hsv, byte> imgHsv_yellow;
int r = 0;
int g = 0;
int y = 0;
// các giá trị lọc màu
public int maxH_red = 50;
public int maxS_red = 90;
public int maxV_red = 255;
public int maxH_yellow = 26;
public int maxS_yellow = 255;
public int maxV_yellow = 255;
public int maxH_green = 46;
46
public int maxS_green = 208;
public int maxV_green = 255;
public int minH_red = 0;
public int minS_red = 15;
public int minV_red = 200;
public int minH_yellow = 0;
public int minS_yellow = 228;
public int minV_yellow = 230;
public int minH_green = 0;
public int minS_green = 191;
public int minV_green = 156;
// biếnnh toán vị trí
public double td_x;
public double td_y;
public double mmpx_x = 5.5;
public double mmpx_y = 6.35;
int sl1, sl2, sl3;
public Form1()
{
InitializeComponent();
FilterInfoCollection(FilterCategory.VideoInputDevice);
foreach (FilterInfo info in cameras)
{
cameras = new
cbb_cam.Items.Add(info.Name);
}
}
public ActUtlType plc = new ActUtlType();
private void btn_start_Click(object sender, EventArgs e)
{
try
{
if (cam != null && cam.IsRunning)
{
cam.Stop();
}
cam = new
VideoCaptureDevice(cameras[cbb_cam.SelectedIndex].MonikerString);
cam.NewFrame += cam_NewFrame;
cam.Start();
timer1.Enabled = true;
}
catch
{
}
}
void cam_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
bitmap = (Bitmap)eventArgs.Frame.Clone();
//ptb_1.Image = bitmap;
}
private void btn_stop_Click(object sender, EventArgs e)
{
48
if (cam != null && cam.IsRunning)
{
cam.Stop();
PictureBox ptb = new PictureBox();
ptb.BackColor = Color.LightGray;
ptb_1.Image = ptb.Image;
timer1.Enabled = false;
}
}
private void btn_debug_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}
private void btn_test_Click(object sender, EventArgs e)
{
}
private void distance(Rectangle rect)
{
int xtox = 140;
int ytoy = 200;
int center_x = rect.X + rect.Width / 2;
int center_y = rect.Y + rect.Height / 2;
int x1, y1;
td_x = xtox - Convert.ToInt32(center_x / mmpx_x);
td_y = ytoy - Convert.ToInt32((1080 - center_y) / mmpx_y);
x1 = Convert.ToInt32(center_x / mmpx_x);
y1 = Convert.ToInt32((1080 - center_y) / mmpx_y);
}
private void process_img()
{
try
{
Mat hsv = new Mat();
Mat hier = new Mat();
Mat mask = new Mat();
Mat img_bt = new Mat();
Mat hsv_red = new Mat();
Mat hier_red = new Mat();
Mat mask_red = new Mat();
Mat img_bt_red = new Mat();
Mat hsv_green = new Mat();
Mat hier_green = new Mat();
Mat mask_green = new Mat();
Mat img_bt_green = new Mat();
Mat hsv_yellow = new Mat();
Mat hier_yellow = new Mat();
Mat mask_yellow = new Mat();
Mat img_bt_yellow = new Mat();
Emgu.CV.Util.VectorOfVectorOfPoint contours = new
Emgu.CV.Util.VectorOfVectorOfPoint();
50
Emgu.CV.Util.VectorOfVectorOfPoint contours_red = new
Emgu.CV.Util.VectorOfVectorOfPoint();
Emgu.CV.Util.VectorOfVectorOfPoint contours_green = new
Emgu.CV.Util.VectorOfVectorOfPoint();
Emgu.CV.Util.VectorOfVectorOfPoint contours_yellow = new
Emgu.CV.Util.VectorOfVectorOfPoint();
imgRgb = new Image<Bgr, byte>(bitmap);
CvInvoke.CvtColor(imgRgb.Mat, hsv,
Emgu.CV.CvEnum.ColorConversion.Bgr2Hsv);
// Hsv
imgHsv = new Image<Hsv, byte>(hsv.Bitmap);
CvInvoke.InRange(imgHsv, new ScalarArray(new
MCvScalar(Form2.minH, Form2.minS, Form2.minV)), new ScalarArray(new
MCvScalar(Form2.maxH, Form2.maxS, Form2.maxV)), mask);
imgHsv_red = new Image<Hsv, byte>(hsv.Bitmap);
CvInvoke.InRange(imgHsv_red, new ScalarArray(new
MCvScalar(minH_red, minS_red, minV_red)), new ScalarArray(new
MCvScalar(maxH_red, maxS_red, maxV_red)), mask_red);
imgHsv_green = new Image<Hsv, byte>(hsv.Bitmap);
CvInvoke.InRange(imgHsv_green, new ScalarArray(new
MCvScalar(minH_green, minS_green, minV_green)), new ScalarArray(new
MCvScalar(maxH_green, maxS_green, maxV_green)), mask_green);
imgHsv_yellow = new Image<Hsv, byte>(hsv.Bitmap);
CvInvoke.InRange(imgHsv_yellow, new ScalarArray(new
MCvScalar(minH_yellow, minS_yellow, minV_yellow)), new ScalarArray(new
MCvScalar(maxH_yellow, maxS_yellow, maxV_yellow)), mask_yellow);
dung
// Mask
imgMask = new Image<Gray, byte>(mask.Bitmap);
imgMask = imgMask.Dilate(5);
imgMask = imgMask.Erode(5);
imgMask_red = new Image<Gray, byte>(mask_red.Bitmap);
imgMask_red = imgMask_red.Dilate(5);
imgMask_red = imgMask_red.Erode(5);
imgMask_green = new Image<Gray, byte>(mask_green.Bitmap);
imgMask_green = imgMask_green.Dilate(5);
imgMask_green = imgMask_green.Erode(5);
imgMask_yellow = new Image<Gray, byte>(mask_yellow.Bitmap);
imgMask_yellow = imgMask_yellow.Dilate(5);
imgMask_yellow = imgMask_yellow.Erode(5);
// Kết hợp mask vs ảnh gốc - chỉ làm vs mask để ng tính nh
CvInvoke.Merge(new VectorOfMat(imgMask.Mat, imgMask.Mat,
imgMask.Mat), mask);
CvInvoke.BitwiseAnd(mask, imgRgb.Mat, img_bt);
imgMask_final = new Image<Bgr, byte>(img_bt.Bitmap);
// Vẽ đường bao khu vc nhận dạng x(500,1300), y(400,850)
Rectangle rec = new Rectangle(300, 100, 700, 500);
CvInvoke.Rectangle(imgRgb, rec, new MCvScalar(255, 0, 255), 4);
CvInvoke.FindContours(imgMask, contours, hier,
Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
// Find contours red
52
CvInvoke.FindContours(imgMask_red, contours_red, hier_red,
Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
// Find contours green
CvInvoke.FindContours(imgMask_green, contours_green,
hier_green, Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
for (int i = 0; i < contours_green.Size; i++)
{
CircleF cir = CvInvoke.MinEnclosingCircle(contours_green[i]);
if (((int)cir.Radius) > 300 && ((int)cir.Radius) < 500)
{
if ((int)cir.Center.X > 300 && (int)cir.Center.X < 1000 &&
(int)cir.Center.Y > 100 && (int)cir.Center.Y < 600)
{
CvInvoke.Circle(imgRgb, Point.Round(cir.Center),
((int)cir.Radius), new MCvScalar(255, 0, 0), 4);
CvInvoke.PutText(imgRgb, "Green =" + ((int)cir.Radius) +
"px", Point.Round(cir.Center), FontFace.HersheyDuplex, 2.0, new
Bgr(Color.Red).MCvScalar);
plc.SetDevice("M1", Convert.ToInt16(1));
//sl2++;
//tb_sp2.Text = sl2.ToString();
}
}
}
// Find contours yellow
CvInvoke.FindContours(imgMask_yellow, contours_yellow,
hier_yellow, Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
for (int i = 0; i < contours_yellow.Size; i++)
{
CircleF cir = CvInvoke.MinEnclosingCircle(contours_yellow[i]);
if (((int)cir.Radius) > 300 && ((int)cir.Radius) < 400)
{
if ((int)cir.Center.X > 300 && (int)cir.Center.X < 1000 &&
(int)cir.Center.Y > 100 && (int)cir.Center.Y < 600)
{
CvInvoke.Circle(imgRgb, Point.Round(cir.Center),
((int)cir.Radius), new MCvScalar(255, 0, 0), 4);
CvInvoke.PutText(imgRgb, "yellow =" + ((int)cir.Radius) +
"px", Point.Round(cir.Center), FontFace.HersheyDuplex, 2.0, new
Bgr(Color.Red).MCvScalar);
plc.SetDevice("M3", Convert.ToInt16(1));
//sl3++;
//tb_sp3.Text = sl3.ToString();
}
}
}
ptb_1.Image = imgRgb.Bitmap;
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
}
}
54
private void timer1_Tick(object sender, EventArgs e)
{
process_img();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btn_test_connect_Click(object sender, EventArgs e)
{
}
private void btn_connect_Click(object sender, EventArgs e)
{
plc.ActLogicalStationNumber = 1;
plc.Open();
}
private void btn_disconnect_Click(object sender, EventArgs e)
{
plc.Close();
}
private void pl(int color)// 1 dỏ 2 xanh 3 vàng
{
if (color == 1)
{
plc.SetDevice("M1", Convert.ToInt16(1));
sl1++;
tb_sp1.Text = sl1.ToString();
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0));
}
if (color == 2)
{
plc.SetDevice("M2", Convert.ToInt16(1));
sl2++;
tb_sp2.Text = sl2.ToString();
plc.SetDevice("M1", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0));
}
if (color == 3)
{
plc.SetDevice("M3", Convert.ToInt16(1));
sl3++;
tb_sp3.Text = sl3.ToString();
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0));
}
}
private void btn_rst_Click(object sender, EventArgs e)
{
plc.SetDevice("M20", Convert.ToInt16(1));
plc.SetDevice("M20", Convert.ToInt16(0));
sl1 = 0;sl2 = 0; sl3 = 0;
56
tb_sp1.Text = sl1.ToString();
tb_sp2.Text = sl2.ToString();
tb_sp3.Text = sl3.ToString();
}
private void btn_start_plc_Click(object sender, EventArgs e)
{
plc.SetDevice("y11", Convert.ToInt16(1));
plc.SetDevice("M1", Convert.ToInt16(0));
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0));
}
private void btn_stop_plc_Click(object sender, EventArgs e)
{
plc.SetDevice("y11", Convert.ToInt16(0));
plc.SetDevice("M1", Convert.ToInt16(0));
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0));
}
private void timer2_Tick(object sender, EventArgs e)
{
try
{
int stt;
plc.GetDevice("y11", out stt);
if (stt == 1)
{
btn_start_plc.BackColor = Color.Green;
btn_stop_plc.BackColor = Color.Red;
}
else
{
btn_start_plc.BackColor = Color.Red;
btn_stop_plc.BackColor = Color.Green;
}
int sl1, sl2, sl3, t1, t2, t3;
//plc.GetDevice("d1",out sl1);
//tb_sp1.Text = sl1.ToString();
}
catch(Exception ex)
{
}
}
private void btn_sp1_Click(object sender, EventArgs e)
{
plc.SetDevice("M1", Convert.ToInt16(1));
sl1++;
tb_sp1.Text = sl1.ToString();
}
private void btn_sp2_Click(object sender, EventArgs e)
{
plc.SetDevice("M2", Convert.ToInt16(1));
sl2++;
tb_sp2.Text = sl2.ToString();
58
}
private void btn_sp3_Click(object sender, EventArgs e)
{
plc.SetDevice("M3", Convert.ToInt16(1));
sl3++;
tb_sp3.Text = sl3.ToString();
}
}
}
| 1/64

Preview text:

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
KHOA - ĐIỆN
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI : THIẾT KẾ THIẾT BỊ MỞ-KHÓA CỬA
BẰNG CẢM BIẾN VÂN TAY
Sinh viên thực hiện
: DUY Khóa : K63 Chuyên ngành
: TỰ ĐỘNG HÓA
Giảng viên hướng dẫn
: TS. NGÔ TRÍ DƯƠNG
NỘI 2024
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng nhóm tôi, các
kết quả nghiên cứu được trình bày trong đồ án là trung thực, khách quan và chưa
từng dùng để bảo vệ cho bất kỳ đồ án nào.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện đồ án đã được
cảm ơn , các thông tin trích dẫn trong đồ án này đều ghi rõ nguồn gốc.
Hà Nội, ngày 08 tháng 02 năm 2024 Tác giả đồ án Duy Lê Duy ii
LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành tới Ban giám đốc trường
Học viện nông nghiệp Việt Nam. Ban chủ nhiệm khoa Cơ Điện cùng toàn thể
các thầy, cô giáo trong khoa, trong trường đã dạy bảo, dìu dắt em trong suốt 5
năm qua dưới mái trường Học viện.
Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo Ngô Trí Dương
trưởng bộ môn Tự động hóa đã tận tình hướng dẫn, giúp đỡ em trong quá trình
hoàn thành đề tài tốt nghiệp này.
Em cũng xin chân thành cảm ơn thầy, cô giáo, bạn bè và những người
thân đã động viên, giúp đỡ và tạo điều kiện tốt nhất cho em hoàn thành tốt đợt làm đồ án này.
Do kiến thức và thời gian còn hạn chế nên đồ án không thể tránh khỏi
những thiếu sót, mong quý thầy cô, và các bạn đóng góp ý kiến để đồ án của em
được hoàn chỉnh tốt hơn.
Cuối cùng em xin kính chúc toàn thể các thầy cô giáo trong khoa Cơ
Điện, các thầy cô trong Học viện nông nghiệp Việt Nam cùng toàn thể bạn bè,
người thân sức khỏe, hạnh phúc và thành đạt.
Em xin chân thành cảm ơn!
Hà Nội, ngày 08 tháng 02 năm 2024 Sinh viên Duy Lê Duy MỤC LỤC
DANH MỤC BẢNG iv MỞ ĐẦU
1. Đặt vấn đề:
Ngày nay, xã hội ngày càng phát triển. Công nghiệp hóa, hiện đại hóa
ngày càng phát triển được nâng cao và đổi mới để phát triển đất nước và cải
thiện cuộc sống của con người. Trong đó công nghệ xử lí hình ảnh, quan sát và
giám sát từ xa đang là một bước ngoặt cho sự phát triển thời đại 4.0. Công nghệ
xử lí hình ảnh đã và đang được sử dụng trong mọi ngành nghề công việc vì sự
tiên tiến và tiện ích nó mang lại. Vì vậy việc ứng dụng khoa học kĩ thuật ngày
càng rộng rãi, phổ biến và mang lại những hiệu quả vô cùng cao trong hầu hết
các lĩnh vực kinh tế, kỹ thuật cũng như trong đời sống xã hội con người.
Hiện nay, có rất nhiều cách để mở-khóa cửa khác nhau, cụ thể như là sử
dụng khóa cửa sắt thep bình thường ( hình thức này yêu cầu phải có chìa khóa
luôn đi theo bên mình và nếu có rơi mất thì sẽ mất rất nhiều thời gian để làm lại khóa mới).
Nhận thấy nhu cầu sử dụng đồ dùng thông minh đang tăng cao trong thời
đại hiện đại hóa 4.0. Cũng như giúp các hộ gia đình hạn chế việc bị đánh rơi
hoặc là bỏ quên chìa khóa dẫn đến việc không mở khóa được cửa. Vì vậy, em
quyết định chọn đề tài “ Thiết kế thiết bị mở-khóa cửa sử dụng cảm biển vân
tay” áp dụng phương pháp quét vân tay.
Bên cạnh đó, em cũng muốn thông qua đề tài để tìm hiểu thêm về ứng
dụng của công nghệ vào đời sống đồng thời vận dụng và hiểu sâu hơn về các
kiến thức đã được học.
Em xin chân thành cảm ơn thầy đã tận tình chỉ bảo và giúp đỡ em hoàn
thành đề tài. Do thời gian còn hạn chế trong quá trình thực hiện không tránh
khỏi những sai sót kính mong quý thầy cô bỏ qua. Em rất mong sự đóng góp của
thầy cô để đề tài em hoàn thiện và có hướng phát triển hơn. Em xin cảm ơn!
2. Mục đích của đồ án
Ứng dụng thành công công nghệ sinh trắc học ( cảm biến vân tay ) vào đề tài.
Chạy thử nghiệm thành công và đánh giá kết quả đạt được. 3. Giới hạn
Từ lý thuyết đến thực tế là một chặng đường dài, và với tốc độ phát triển
hiện nay thì công nghệ và kiến thức thay đổi không ngừng. Với tầm hiểu biết
hạn hẹp của em thì khó lòng giải quyết được nhiều yêu cầu trên thực tế vì nhiều
khi chỉ cần thêm một yêu cầu cũng khiến khối lượng kiến thức liên quan cũng
như độ khó tăng lên nhiều lần. Do đó, đồ án này chỉ tập trung vào xây dựng một
hệ thống chứng minh được tính khả thi của đồ án và giới hạn như sau:
Mô hình sử dụng cảm biến vân tay có thể sử dụng và cải tiến được thêm các công dụng khác.
Tốc độ quét của vân tay chưa được nhạy, do là dính bụi hoặc bám bẩn.
Giới hạn về đối tượng nghiên cứu :
Đề tài chỉ dừng lại ở việc xây dựng mô hình hệ thống.
Các thiết bị sử dụng chỉ mạng tính chất học thuật không tối ưu về kinh phí
cũng như tính ổn định của thiết bị.
Đề tài được nghiên cứu qua các tài liệu, kiến thức trên mạng internet và các sách giáo trình.
Đề tài được thực hiện và thử nghiệm tại nhà riêng. 4. Ý nghĩa
Đề tài “Thiết kế thiết bị mở-khóa cửa sử dụng cảm biến vân tay ” được áp
dụng vào trong đời sống nhằm phục vụ cho việc tự động sử dụng thiết bị. Là nền
tảng cơ sở để xây dựng quy trình tự động hóa trong nông nghiệp góp phần đưa
sản xuất nông nghiệp của Việt Nam tiến gần hơn với nền nông nghiệp 4.0. Quá
trình nhận dạng vân tay sẽ giúp hạn chế việc đánh rơi chìa khóa mà không lo bị
đứng ở ngoài cửa. Mô hình được dùng làm công cụ để nghiên cứu phát triển và thực nghiệm ứng dụng. 2
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Giới thiệu về đề tài
1.1.1. Giới thiệu công nghệ sinh trắc học:
Theo Biometric Research Group,.Inc sinh trắc học (hay Biometrics) là
các điểm thể chất và hành vi có thể đo lường cho phép thiết lập và xác minh
danh tính của một cá nhân.
Sinh trắc học là quá trình các đặc điểm thể chất và đặc điểm khác của một
người được phát hiện và ghi lại bởi một thiết bị hoặc hệ thống điện tử như một
phương tiện xác nhận danh tính. Thuật ngữ “Sinh trắc học” bắt nguồn từ từ
“Sinh trắc học”, dùng để chỉ việc phân tích thống kê quan sát các hiện tượng sinh trắc học.
Hình 1-1. Công nghệ sinh trắc học
Vì mã nhận dạng sinh trắc học là duy nhân của các cá nhân, chúng đáng tin
cậy hơn trong việc xác minh danh tính so với các phương pháp khác như chứng
minh nhân dân và mật khẩu.
Các mã nhận dạng hoặc phương thức sinh trắc học thường được phân loại là
“sinh lý học” hoặc “hành vi”. Các mã nhận dạng sinh trắc học liên quan đến thể
chất của một người và bao gồm: nhận dạng vân tay, bàn tay, nhận dạng tĩnh
mạch, mùi, mùi hương, DNA, nhận dạng khuôn mặt, quét mống mắt.
Công nghệ sinh trắc học là các hệ thống hoặc ứng dụng được thiết kế để sử
dụng dữ liệu sinh trắc học thu được từ các phương thức hoặc nhận dạng sinh trắc
học. Hệ thống sinh trắc học là một quá trình tự động:
1) Thu thập dữ liệu sinh trắc học thông qua thiết bị nhận dạng sinh trắc học,
chẳng hạn như máy quét hình ảnh cho dấu vân tay hoặc các mẫu tĩnh mạch lòng
bàn tay hoặc một máy ảnh để thu thập các bản quét khôn mặt và mống mắt.
2) Trích xuất dữ liệu từ mẫu được gửi thực tế.
3) So sánh dữ liệu được quét từ những dữ liệu được thu thập để tham khảo.
4) Đối sánh giữa mẫu đã gửi với các mẫu.
5) Xác định hoặc xác minh xem danh tính của người giữa dữ liệu sinh trắc học có xác thực hay không.
Do đó, công nghệ sinh trắc học bao gồm cả phần cứng và phần mềm. Thiết
bị nhận dạng sinh trắc học là phần cứng thu thập, đọc và so sánh dữ liệu sinh
trắc học. Dữ liệu sinh trắc học là một mẫu được lấy từ cá nhân và duy nhất. Phần
mềm được nhúng trong công nghệ sinh trắc học bao gồm một công cự sinh trắc
học xử lý dữ liệu sinh trắc học đã thu thập được. Phần mềm này thường hoạt
động song song với phần cứng để vận hành quy trình thu thập dữ liệu sinh trắc
học, trích xuất dữ liệu và thực hiện so sánh, bao gồm cả đối sánh dữ liệu.
1.1.2 Lịch sử công nghệ sinh trắc học:
Ngày càng nhiều người tiêu dùng chuyển sang thế giới kỹ thuật số.
Tuy nhiên, sự phổ biến ngày càng tăng của các nền tảng mua sắm trực truyến và
các dịch vụ tài chính online đã trở thành mục tiêu cho tội phạm mạng.
Với các mối đe dọa bảo mật tiềm tàng, các doanh nghiệp phải thực hiện các
biện pháp an ninh mạng mạnh mẽ để ngăn chặn các tội phạm truy cập trái phép
vào mạng của họ. Do đó, công nghệ sinh trắc học được coi là sự thay thế khả thi
cho các phương pháp xác minh danh tính thông thường. Đặc điểm sinh trắc học
là thứ không thể giả mạo, do đó với việc sử dụng công nghệ sinh trắc học, các
doanh nghiệp có thể chống lại các hacker nhằm tìm ra điểm yếu trong hệ thống. 4
Xác thực sinh trắc học nghe có vẻ như là công nghệ của tương lai nhưng
thực tế việc sử dụng sinh trắc học cho mục đích nhận dạng đã được phát triển kể
từ những năm 1800. Ban đầu nó dựa trên các mẫu giọng nói và dấu vân tay của
con người và được sử dụng để xác định tội phạm. Nhưng khi công nghệ có
những bước nhảy bọt, khoa học ính trắc học cũng phát triển không ngừng và
hiện nay, công nghệ sinh trắc học đã được phổ biến rộng rãi ở khắp mọi nơi và
cụ thể là ngay trên điện thoại của bạn.
Năm 1823: Nhà khoa học Joannes Evangelista Purkinji tìm thấy các mô
hình và hình dạng của ngón tay.
Năm 1880: Henry Faulds và W.J Herchel, trong một công trình công bố tên
là “Nature”. đã đề xuất sử dụng vân tay như là phương thức độc đáo để xác định bản chất con người.
Cuối thế kỉ 19 năm 1880: Tiến sĩ Henry Faulds đưa ra lý luận số lượng
vân tay TRC(Total Ridge Count) có thể dự đoán tương đối chính xác mức độ
phụ thuộc của chúng vào gen di truyền của con người được kế thừa trong đó có
liên quan đến tiềm năng và trí tuệ của con người.
Năm 1892: ông Fancis Galton đã chỉ ra rằng: vân tay của những cặp song
sinh, anh em và di truyền cùng dòng máu thì có sự tương đồng. Chính điều này
đã mở ra ngành nhân học.
Năm 1926: Harol Cummins đề xuất “Dermatoglyphics” (Sinh trắc học dấu
vân tay) như là một thuật ngữ cho chuyên ngành để nghiên cứu dấu vân tay tại
Hiệp hội hình thái học của Mỹ.
Năm 1930: Hiệp hội nghiên cứu hình thái sinh lý học (viết tắt là SSPP:
Society for the Study of Physiological Pattems) bắt đầu công trinh nghiên cứu 5
chúng vân tay và những nét đặc trưng độc đáo của nó.
Năm 1985: Tiến sĩ nổi tiếng Chen YI Mou - Đại học Havard nghiên cứu
Sinh trác vân tay dựa trên Thuyết Đa Thông Minh của Tiến sĩ Howard Garder.
Đây là lần đầu tiên phương pháp này được áp dụng sinh trắc vân tay trong lĩnh
vực giáo dục và chức năng của bộ não liên quan đến dấu vân tây.
1.1.3 Ứng dụng công nghệ sinh trắc học:
- Các ứng dụng của sinh trắc học đang áp dụng hiện nay
Dấu vân tay - fingerprint
Hình 1-2 Sinh trắc học vân tay
Tại hội nghị WQC năm 2014 đã có kết quả báo cáo rằng có đến
85% người sử dụng Iphone 5S dùng công nghệ bảo mật vân tay
TouchID để bảo vệ thiết bị của mình. Lý do mà việc dấu vân tay được
sử dụng nhiều như vậy là do khả năng bảo mật cao. Và điện thoại của
họ hoàn toàn được bảo mật khi bị thất lạc hoặc bị mất trộm.
Không chỉ sử dụng dấu vân tay cho mục đích bảo vệ tài sản, mà
dấu vân tay còn được sử dụng nhiều trong các thiết bị điện tử như:
Khóa điện tử, khóa cửa bằng vân tay, chấm công bằng vân tay. Hiện
nay thì việc sử dụng dấu vân tay là phổ biển trên nhiều trường học trên thế giới.
Máy quét tĩnh mạch lòng bàn tay - Palm Vein Reader
Hình 1-3 Sinh trắc học bàn tay 6
Một hệ thống camera hồng ngoại đặc biệt sẽ được tích hợp dưới màn hình
thiết bị. Khi người dùng đưa bàn tay qua màn hình thiết bị, hệ thống camera này
sẽ kết hợp với ánh sáng từ màn hình để quét các thông số tĩnh mạch của đối
tượng rồi so sánh với dữ liệu gốc đã được đưa ra quết định cho phép mở khóa
thiết bị hay không. Mặc dù phương pháp bảo mật này có vẻ không khác gì bảo
mật vân tay được Apple cùng rất nhiều hãng smarthome áp dụng. Mức độ bảo
mật được cho là cao hơn nhiều so với dấu vân tay nó nằm trong cơ thể và rất khó bị làm giả.
Nhận diện khuôn mặt
Hình 1-4 Sinh trắc học khuôn mặt
Nhận diện khuôn mặt là công nghệ tưởng chừng chỉ xuất hiện trong các bộ
phim viễn tưởng. Nhưng ngày nay nó đã xuất hiện trong các thiết bị công nghệ
phổ biến như mở khóa cửa bằng khuôn mặt, mở điện thoại bằng khuôn mặt.
Công nghệ này đặc biệt được sử dụng nhiều trong quá trình tìm kiếm kẻ truy nã.
Với hệ thống camera quan sát lắp đặt tại khu trung tâm và những nơi yêu cầu
bảo mật cao như ngân hàng, sân bay, chung cư, văn phòng, nhà xưởng, kho
bãi..v..v. Sử dụng phần mềm phân tích khuôn mặt còn giúp phá các vụ án nhanh hơn.
Sinh trắc học hành vi - Behavioral Biometri
Hình 1-5 Sinh trắc học dựa vào hành vi con người
Công nghệ xác thực về hành vi được hình thành từ thói quan sử dụng của
con người trên các thiết bị smartphone. Chúng phân tích các từ khóa mà người
sử dụng hay sử dụng. Hay những ứng dụng mhay mở để phân tích các hành vi.
Và tao ra lưu trữ cho những lần tiếp theo. Công nghệ này được phản ứng tích
cực hơn từ đa số mọi người. Có thể đưa ra một cảnh báo và chặn truy cập vào tài
khoản. Khi người dùng có hành vi sai lệch khi thực hiện đăng nhập. Nhóm dịch
vụ tài chính toàn cầu BBVA sử dụng công nghệ cài đặt trên thiết bị di động.
Nhịp tim - Cardiac Rhyth
Hình 1-6 Dựa vào nhịp tim để thanh toán các hóa đơn
Mọi người có thể đã chẳng còn lạ gì với theiets bị đọc điện tâm đồ (ECG)
xuất hiện trong các bệnh viện. Về thực chất thì công nghệ điện tâm đồ không thể
nói là có quá nhiều đột phá, những gì xuất hiện trên bản đồ sinh trắc học đơn
giản. Chỉ là các thiết bị nhỏ bé giúp kết nối với nhịp đập trái tim của người sử
dụng và hệ thống tín hiệu. Được đeo trên người có thể xác nhận các nhịp tim
riêng biệt khi hoạt động của từng cá nhân.
Nhận diện qua võng mạc - Eye Scan 8
Hình 1-7 Sinh trắc học nhận diện võng mạc
Công nghệ quét võng mạc đã xuất hiện từ những năm 1980. Và là một trong
những ứng dụng sinh trắc học nổi tiếng nhất. Ngày nay người ta chủ yếu sử
dụng cho ứng dụng kiểm soát ra vào trong môi trường bảo mật cao: trong doanh
trại, nhà chính phủ,…. Quét võng mạc là một công nghệ mới những rất có triển vọng.
1.2 Mục đích nghiên cứu
Đề tài được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những
kiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống mở-
đóng cửa bằng phương pháp quét vân tay. Hệ thống gồm có: Arduino Cảm biến vân tay AS608 Màn hình LCS 16x2 4 nút nhấn Module relay Module thời gian thực RTC
1.3 Nội dung nghiên cứu
Tìm hiểu về cảm biến vân tay và phương pháp mở-đóng cửa tự động
Thiết kế module cảm biến vân tay
Đánh giá kết quả thực hiện được.\
1.4 Phương pháp nghiên cứu
Kết hợp giữa lí thuyết và thực nghiệm:
Sau khi nhận đề tài, em đã tập trung tìm hiểu các vấn đề liên quan đến đề tài.
Sau đó chế tạo mạch, sản phẩm để kiểm tra thực tế. Trong quá trình chạy thực tế
kiểm tra lỗi, những hạn chế mắc phải để sửa và phát triển thêm các ý tưởng khác.
Phương pháp quan sát: khảo sát một số mạch điện thực tế đang có trên thị
trường và tham khảo thêm một số dạng mạch từ mạng Internet.
Phương pháp tham khảo tài liệu: bằng các thu thập thông tin từ sách, tạp chí
về điện tử và truy cập từ mạng Internet. 1.5 Ý nghĩa thực tiễn
- Thực tế có rất nhiều công ty, doanh nghiệp đã áp dụng công nghệ mở-khóa
cửa thông minh sử dụng cảm biến vân tay này. Nó mang lại tính hữu ích cao, tiết
kiệm thời gian cho công nhân cũng như quản lý, cải thiện chất lượng cuộc sống
- Tạo tính tư duy, sáng tạo cho sinh viên trong quá trình nghiên cứu.
- Có tính linh động và mở rộng cho sinh viên thiết kế mô hình dựa trên cơ sở thực tiễn.
- Mô hình nhỏ, đơn giản nhưng tiện lợi, hữu ích. 10
CHƯƠNG 2: ĐỐI TƯỢNG PHƯƠNG PHÁP NGHIÊN CỨU
2.1. Đối tượng nghiên cứu
Trong cuộc sống hiện nay, mở cửa bằng dấu vân tay là phương thức mở
khóa hiện đại được sử dụng trong các dòng khóa vân tay, khóa cửa điện tử.
2.1.1. Phân loại các phương pháp mở-khóa cửa thông minh:
2.2.1 Mở-khóa cửa bằng thẻ từ:
Mở-khóa cửa bằng thẻ từ là thiết bị điện tử hoạt động khi cắm điện và sử
dụng thẻ từ cảm ứng gắn chip (RFID) để nhân viên mở-khóa cửa.
Ưu điểm của cách mở-khóa cửa này là:
- Mở khóa tiện lợi nhanh chóng:
Người dùng chỉ cần chạm đầu ngón tay lên phần đầu đọc, chưa đầy một
giây, cửa sẽ được mở ra.
Người sử dụng không cần luôn mang theo chìa khóa bên người giống như
với loại ổ khóa cơ truyền thống.
Không lo lắng việc quên chìa khóa hay đánh rơi, làm mất chìa khóa
Chìa khóa là vân tay, người dùng có thể mở khóa mà không cần bất kỳ
phương tiện hay công cụ nào khác.
- Độ an toàn, bảo mật tối ưu
Mỗi người có một dấu vân tay khác nhau, không thể trùng lặp
Ổ khóa cửa kết hợp công nghệ nhận dạng vân tay hiện đại, cho phép khóa
ngăn chặn mọi tình trạng sao chép, làm giả, lấy trộm vân tay
Những người không có dấu vân tay hợp lệ, chưa đăng ký vân tay trước đó
không thể mở cửa trong bất kỳ trường hợp nào.
2.2.2 Mở cửa bằng vân tay
Với cách lưu dữ liệu tương tự như mở cửa bằng thẻ từ, khưng mở cửa bằng
vân tay được áp dụng công nghệ hiện đại hơn. Cách này khắc phục được hạn
chế việc quân hay làm mất thẻ so với cách trên. Song máy cũng có một vài
nhược điểm như không nhạy khi tay ướt, máy cũ còn hay gặp lỗi không xác định
được vân tay và chi phí lắp đặt cao hơn cho với việc mở cửa bằng thẻ từ. Mở
cửa thông minh bằng vân tay cũng không quá phù hợp với các ngành nghề, công
việc dễ làm mờ vân tay như tiếp xúc với sơn hoặc có nhiều bụi bặm, làm đồ gỗ...
Ưu điểm của cách mở-khóa cửa này là:
- Mở khóa tiện lợi nhanh chóng:
Người dùng chỉ cần chạm đầu ngón tay lên phần đầu đọc, chưa đầy một
giây, cửa sẽ được mở ra.
Người sử dụng không cần luôn mang theo chìa khóa bên người giống như
với loại ổ khóa cơ truyền thống.
Không lo lắng việc quên chìa khóa hay đánh rơi, làm mất chìa khóa
Chìa khóa là vân tay, người dùng có thể mở khóa mà không cần bất kỳ
phương tiện hay công cụ nào khác.
- Độ an toàn, bảo mật tối ưu
Mỗi người có một dấu vân tay khác nhau, không thể trùng lặp
Ổ khóa cửa kết hợp công nghệ nhận dạng vân tay hiện đại, cho phép khóa
ngăn chặn mọi tình trạng sao chép, làm giả, lấy trộm vân tay
Những người không có dấu vân tay hợp lệ, chưa đăng ký vân tay trước đó
không thể mở cửa trong bất kỳ trường hợp nào.
Nhược điểm của cách mở cửa này là:
- Lỗi xác nhận vân tay không phải lúc nào cũng thưc hiện được….
- Chi phí lắp đặt sử dụng cao
2.2.3 Mở cửa bằng nhận diện khuôn mặt
Đây là cách mở cửa được nhiều công ty đầu tư, sử dụng hiện nay nhằm tăng
độ an ninh an toàn. Cơ chế hoạt động của hình thức này là sử dụng công nghệ
nhận diện khuôn mặt Face ID để ghi nhận nhân viên.
Ưu điểm của mở cửa nhận diện khuôn mặt - Tính xác thực cao
- Hiện đại và nhanh chóng 12
- Góp phần đảm bảo an ninh
Nhược điểm khi sử dụng:
- Cần đầu tư máy tốt thì hoạt động mới ổn định
- Tốc độ chấm công chậm hơn so với thẻ
- Chi phí lắp đặt sử dụng cao
Kết luận: Mỗi cách mở cửa thông minh đều có ưu và nhược điểm riêng
nhưng đều hỗ trợ người dùng sử dụng. Dựa trên những ưu nhược điểm đó và tùy
theo các người sử dụng đưa ra lựa chọn hiệu quả và tối ưu nhất. Nhưng phương
pháp mở cửa bằng vân tay đang được sử dụng rộng rãi nhất thời điểm hiện tại
nhanh gọn, minh bạch, xác thực cao.
2.2 Tìm hiểu về cảm biến vân tay
Công nghệ cảm biến vân tay ngày càng thông dụng và phát triển. Không chỉ
được sử dụng để tích hợp tính năng bảo mật trên các dòng smartphone hiện nay.
Công nghệ cảm ứng vân còn còn được ứng dụng tích hợp vào các thiết bị hiện
đại khác như: Laptop, Tivi, máy chấm công, Khóa cửa…Vậy cảm biến vân tay là gì? Định nghĩa:
Cảm biến vân tay hay còn có tên gọi khác là cảm biến nhận diện vân tay là
một dạng lưu trữu vân tay của người dùng bằng công nghệ sinh trắc học với
những loại sóng khác nhau, sau đó lưu lại những bề mặt lồi lõm và cả lớp da của
tay để lưu lại nhằm đảm bảo tính bảo mật khi người dùng sử dụng.
Nguyên hoạt động:
Về cơ bản, cảm biến vân tay là một hệ thống có khả năng lưu bản in vân tay
của người dùng một cách nhanh chóng nhờ một hệ thống được đặt dưới khung
quét. Người dùng đặt tay lên khung quét và các cảm biến trên khung quét sẽ lưu
lại cách hình ảnh đó và các phân mềm, vi xử lý sẽ phân tích hình ảnh này theo
các vị trí lồi/lõm trên đầu ngón tay của bạn. Khi đặt ngón tay lên trên một thiết
bị đọc vân tay, ngay lập tức thiết bị này sẽ quét hình ảnh ngón tay đó và đưa vào
hệ thống. Hệ thống sẽ xử lý dấu vân tay, chuyển sang dạng dữ liệu số rồi đối
chiếu các đặc điểm vân tay đó với dữ liệu đã được lưu trữ trong hệ thống.
Ưu nhược điểm của cảm biến vân tay: Ưu điểm:
- So với các thiết bị thông thường việc mở khóa bằng cảm biến vân tay sẽ
nhanh hơn với độ nhạy cao: chỉ cần chạm hoặc vuốt nhẹ
- Không cần ghi nhớ mật khẩu, dễ dàng thao tác, tiếp cận dễ dàng với người sử dụng.
- Có tính bảo mật, xác thực cao: do vân tay của mỗi người là khác nhau Nhược điểm:
- Không thể mở cửa nếu vân tay của bạn bị xước, biến dạng mà không có phương án dự phòng.
Cảm biến vân tay là một hệ thống xác thực, không có chức năng bảo vệ
dữ liệu. Chính vì vậy người khác có thể sử dụng ngón tay của bạn mở khóa cửa
khi bạn ngủ hoặc mất ý thức.
2.4 Phân loại cảm biến vân tay
2.4.1 Cảm biến quang học
Cảm biến này sẽ sử dụng một camera chuyên dụng để chụp lại hình ảnh
của dấu vân tay trên bề mặt kính, bề mặt kính của cảm biến loại này được phủ
một lớp mặt kính. Bức ảnh sau khi được hệ thống camera chụp lại sẽ được nén
lại và chuyển sang tín hiệu số để chuyển đến khối xử lý hình ảnh phía sau.
Công nghệ này có nhược điểm là nhận dạng vân tay lâu. Thiếu độ chính
xác cao, khả năng xử lý dấu vân tay mất nhiều thời gian hơn so với các loại khác. 14
2.4.2 Cảm biến điện dung
Cảm biến loại này dựa trên nguyên lý cảm ứng điện từ, bề mặt cảm biến sẽ
được bố trí một ma trận tụ điện, ma trận này sẽ có nhiệm vụ tái tạo lại hinhfa nhr
vân tay khi được lấy mẫu. Khi ngón tay của người dùng đặt trên bề mặt cảm
biến, ngay lập tức nó sẽ tạo nên sự thay đổi điện dung trong từng con tụ trên ma
trận tụ điện, tùy vào độ nông sâu của vân tay ở từng điểm mà trị số tụ điện sẽ
khác nhau. Dựa vào trị số điện dung ở từng node hệ thống sẽ dựng lại ảnh vân
tay trên ngón vừa lấy mẫu để gửi về khối xử lý và so sánh.
Cảm biến loại này có cấu tạo mỏng và có độ bảo mật cao hơn cảm biến
quang học vì thế nó được áp dụng ở các thiết bị các nhân như máy điện thoại di
động hoặc một số dòng thiết bị cao cấp khác.
2.4.3 Cảm biến siêu âm
Là sự đột phá trong công nghệ bảo mật vân tay, loại bỏ đi những bất tiện
của cảm biến vân tay điện dung chẳng hạn như không thể sử dụng khi vân tay bị
ướt hay chiếm kích thước một vùng đáng kể trên thiết bị, nhất là trong lúc các
smartphone với xu thế tràn viền đang khá thịnh hành.
Bằng cách sử dụng âm thanh tần số sóng để nhận diện các chi tiết trên vân
tay người dùng, khi quét vân tay, một số xung áp lực sẽ được thu lại, một số dội
ngược vào cảm biến gồm đường vân, lỗ chân lông, các chi tiết khác để nhận
diện sự riêng biệt. Sóng này không chỉ quét bề mặt lồi lõm mà còn cả lớp da
dưới ngón tay, tránh những trường hợp làm giả ngón tay tinh vi hiện nay. Cảm
biến này bao gốm máy phát và máy thu.
Cảm biến siêu âm là công nghệ còn khá mới đối với giới công nghệ và chi phí khá cao.
2.5 Cảm biến vân tay
Giới thiệu cảm biến vân tay
Hình 2-8 Cảm biến vân tay AS608 Thông số kĩ thuật
Điện áp sử dụng: 3.0 đến 3.6VDC (thường cấp 3.3VDC, lưu ý quan
trọng nếu cấp lớn hơn 3.3VDC cảm biến sẽ cháy ngay lập tức).
Dòng tiêu thụ: 30 đến 60mA, trung bình 40mA
Chế độ so sánh kiểm tra: có 2 chế độ 1:1 và 1: N.
Giao tiếp truyền thông: USB /UART
Tốc độ Baudrate UART: 9600 x N (N từ 1 đến 12), mặc định N=6 baudrate = 57600,8,1.
Giao tiếp USB: 2.0 full speed
Kích thước hình ảnh cảm biến (pixel): 256 x 288 pixels
Thời gian xử lí ảnh (s): <0.4s
Độ trễ bật nguồn (s): <0.1s (module cần khoảng 0.1 giây để khởi tạo sau khi bật nguồn)
Thời gian làm việc (s): <0.3s
FRR (tỉ lệ từ chối): <1%
FAR(tỉ lệ nhận dạng): <0.001%
Dung lượng lưu trữ vân tay 10 (ID 1 đến 10)
Trong cuộc sống hiện nay, nhu cầu về màu sắc sản phẩm ngày càng được
chú trọng, để đáp ứng nhu cầu cần thiết đó nên thị trường ra nhiều sản phẩm có 16
màu sắc đa dạng. Ở đây sản phẩm sử dụng màu sắc của quả quýt, có hai nhóm
màu sắc cơ bản là : Màu sắc sản phẩm phổ biến , màu sắc sản phẩm ít phổ biến.
Cách chia màu sắc này dựa vào sự phổ biến của màu sắc sản phẩm ở trong cuộc
sống, nhóm màu sắc chính ( xanh, vàng, đỏ) và các màu sắc còn lại là màu sắc ít
thông dụng hơn nên thuộc nhóm còn lại. Ở đề tài này nhóm sử dụng màu sắc
quả thực tế là quả quýt với 2 màu xanh và vàng.
a. Giới thiệu về không gian màu sắc
Không gian màu là những phương pháp định lượng màu sắc được thiết lập
công thức một cách khoa học. Hệ thống không gian màu cho phép mỗi màu
được xác định theo số học, bằng cách đó ta có thể chọn và lặp lại những màu
nào đó thật chính xác. Bạn sẽ tiếp xúc với những không gian màu chính sau đây:
HLS (sắc thái, quang độ và độ bão hòa), HSB (sắc thái, độ bão hòa và độ đậm
nhạt), RGB (đỏ, lục, lam) và CYMK (xanh hóa học, vàng, tím sen, đen). CMYK
là không gian màu được sử dụng trong công nghiệp in ấn và bị giới hạn bởi mức
độ thể hiện của mực in và chất màu. Không gian RGB - hệ thống màu thường
gặp nhất trong nghệ thuật nhiếp ảnh số - sử dụng ánh sáng, do vậy cho ta phổ
màu rộng hơn các chất màu CYMK. Điều quan trọng là bạn phải lưu ý sự khác
biệt giữa những hệ thống màu mà bạn đang làm việc với những biến đổi màu có
thể sẽ xảy ra giữa màn hình hiển thị và kết xuất in ấn. - Không gian màu RGB
Không gian màu RGB hoặc hệ thống màu RGB , tạo ra tất cả các màu từ
sự kết hợp của các màu Red, Green và Blue.
Màu đỏ, xanh lục và xanh lam sử dụng 8 bit mỗi màu, có giá trị nguyên từ
0 đến 255. Điều này làm cho 256 * 256 * 256 = 16777216 có thể có màu.
RGB ≡ Đỏ, Xanh lục, Xanh lam.
Mỗi pixel trong màn hình LED hiển thị màu sắc theo cách này, bằng sự
kết hợp của các đèn LED màu đỏ, xanh lục và xanh lam (điốt phát quang).
Khi điểm ảnh màu đỏ được đặt thành 0, đèn LED sẽ tắt. Khi pixel màu đỏ
được đặt thành 255, đèn LED được bật hoàn toàn.
Hình 2. 1. Không gian màu RGB
Mã RGB có định dạng 24bit(bit0..23): RGB = (R*65536)+(G*256)+B ,
(when R is RED, G is GREEN and B is BLUE). Ví dụ:
Màu trắng RGB: White RGB code = 255*65536+255*256+255 = #FFFFFF.
Màu RGB xanh lam : Blue RGB code = 0*65536+0*256+255 = #0000FF.
Màu RGB vàng : Yellow RGB code = 255*65536+255*256+0 = #FFFF00. - Không gian màu CMYK
CMYK là không gian màu được sử dụng phổ biến trong ngành công
nghiệp in ấn. Ý tưởng cơ bản của hệ không gian này là dùng 4 màu sắc cơ bản
phục vụ cho việc pha trộn mực in. Trên thực tế người ta dùng 3 màu là C=Cyan:
xanh lơ, M=Magenta: hồng xẫm và Y= Yellow: vàng để biểu diễn các màu sắc
khác nhau. Nếu lấy màu hồng xẫm cộng vàng sẽ ra đỏ, màu xẫm kết hợp với
xanh lơ sẽ cho ra xanh lam. Sự kết hợp của 3 màu trên sẽ cho ra màu đen, tuy
nhiên màu đen ở đây không phải là đen tuyệt đối và có độ tương phản lớn.
Hình 2. 2. Không gian màu CMYK 18
Nguyên lý hoạt động : Nguyên lý của hệ màu CMYK là hấp thụ ánh sáng.
Màu chúng ta nhìn thấy chính là từ phần ánh sáng không hấp thụ. Diễn giải cách
khác, chúng hoạt động trên cơ chế vật không tự phát ra ánh sáng. Mà chỉ phản
xạ ánh sáng từ các nguồn sáng chiếu tới.
Vậy nên, thay vì thêm độ sáng để có những màu sắc khác nhau. Hệ màu
CMYK sẽ loại trừ ánh sáng từ màu trắng (ánh sáng gốc) để tạo ra những màu
sắc khác. Mặt khác, 3 màu Cyan, Magenta và Yellow khi kết hợp cũng sẽ tạo ra màu đen.
Màu CMYK được dùng trong các thiết kế phục vụ cho mục đích in ấn. Ví
dụ như poster, flyer, brochure, portfolio, name card, catalogue, sách và tạp chí,
bộ nhận diện thương hiệu, bao bì, ... - Không gian màu HSV
HSV và cũng gần tương tự như HSL là không gian màu được dùng nhiều
trong việc ch ỉnh sữa ảnh, phân tích ảnh và một phần của lĩnh vực thị giác máy
tính. Hệ không gian này dựa vào 3 thông số sau để mô tả màu sắc H = Hue: màu
sắc, S = Saturation: độ đậm đặc, sự bảo hòa, V = value: giá trị cường độ sáng.
Không gian màu này thường được biểu diễn dưới dạng hình trụ hoặc hình nón.
Hình 2. 3. Không gian màu HSV
Ví dụ: màu đen là sự kết hợp của các kênh màu (R, G, B)với giá trị tương
ứng (0, 0, 0) màu trắng có giá trị (255,255, 255), màu vàng có giá trị (255, 255,
0), màu tím đậm có giá trị (64, 0, 128) ...Nếu ta dùng 16bit để mã hóa một kênh
màu (48bit cho toàn bộ 3 kênh màu) thì dãi màu sẽ trãi rộng lên tới 3*2^16 = ... Một con số rất lớn.
b. Phương pháp nhận diện màu sắc
Với ảnh chụp thu nhận được từ Camera sẽ cho không gian màu của ảnh là
RGB, không gian màu RGB không thích hợp cho việc nhận dạng màu sắc, để
phân loại màu sắc người ta thường dùng không gian màu HSV. Vì vậy cần
chuyển đổi ảnh gốc từ không gian RGB sang ảnh không gian HSV.
Hình 2. 4. Các bước thực hiện xử ảnh Các bước thực hiện : - Thu nhận ảnh
Thu nhận ảnh là quá trình mà ảnh có thể thu nhận qua camera hoặc có thể
lấy từ bộ nhớ hệ thống. - Tiền xử lý ảnh
Là bước sửa chất lượng ảnh như việc lọc nhiễu hay tăng cường độ sáng,
để nâng cao chất lượng ảnh và chuyển ảnh xám để dễ dàng nhận dạng ảnh.
Chuyển đổi xám: giả sử hình ảnh được lưu trữ dưới dạng RGB. Điều này
có nghĩa là ba ma trận xám tương ứng cho màu Red, Green, Blue. Công việc là
tìm cách tổng hợp ba ma trận này về thành một ma trận duy nhất.
Lọc trung bình: Giả sử có một ảnh đầu vào với I(x,y) là giá trị điểm ảnh
tại một điểm (x,y) và một ngưỡng 0.
Bước 1: Tính tổng các thành phần trong ma trận lọc.
Bước 2 : Chia lấy trung bình của tổng các thành phần trong ma trận được
tính ở trên với số lượng các phần tử của cửa sổ lọc ra một giá trị. Bước 3 : Hiệu chỉnh - Chuyển đổi ảnh
Chuyển đổi xám: giả sử hình ảnh được lưu trữ dưới dạng RGB. Điều này
có nghĩa là ba ma trận xám tương ứng cho màu Red, Green, Blue. Công việc là 20
tìm cách tổng hợp ba ma trận này về thành một ma trận duy nhất. Một trong số
công thức phổ biến để thực hiện là
Không gian màu RGB không thích hợp cho việc nhận dạng màu sắc, để
phân biệt màu sắc người ta thường dùng không gian màu HSV. Vì vậy ta cần
chuyển đổi ảnh có không gian màu RGB sang ảnh có không gian màu HSV
- Nhận dạng và phân loại
Ta nhận dạng màu sắc dựa vào các đặc điểm riêng biệt của từng màu, khi
có được các đặc điểm riêng biệt của từng màu ta tiến hành phân loại từng màu
sắc sản phẩm một nhờ vào việc so sánh các đặc điểm riêng biệt của chúng đối
với các giá trị đã định trước. Ta lần lượt so sánh từng màu một từ màu xanh đến
màu vàng. Nếu các đặc điểm trùng khớp với đặc điểm đề ra ở màu trước thì ta
kết luận ngay đó là sản phẩm của màu đó và ngược lại.
2.1.2. Trang thiết bị điều khiển phần mềm vận hành
a. Bộ điều khiển PLC
Hình 2. 5. PLC board fx3u
PLC viết tắt của Programmable Logic Controller, đây là thiết bị điều
khiển lập trình cho phép thực hiện linh hoạt các điều khiển logic thông qua ngôn
ngữ lập trình. Giúp đặt lệnh các chương trình chạy cho băng tải đa
Người sử dụng có thể lập trình thực hiện một loạt trình tự các công việc.
Các công việc này được kích hoạt bởi tác nhân tác động vào PLC hoặc qua hoạt
động có trễ như thời gian nhất định. Khi công việc được kích hoạt bộ điều khiển
lập trình sẽ liên tục “lặp lại” chương trình do “người sử dụng lập ra” chờ tín hiệu
ở ngõ vào và xuất tín hiệu ở ngõ ra tại thời điểm đã lập trình.
Tuy nhiên trong quá trình làm việc hệ thống PLC còn nhiều nhược điểm
để khắc phục những nhược điểm này nhà sản xuất có thể dùng dây nối (bộ điều
khiển bằng Relay) để chế tạo ra bộ PLC nhằm thỏa mãn các yêu cầu sau: - Lập trình dễ dàng. -
Kích thước gọn nhẹ, dễ dàng bảo quản, sửa chữa.
- Dung lượng bộ nhớ của hệ thống lớn để có thể chứa được nhiều chương trình phức tạp. -
Có độ tin cậy cao trong môi trường công nghiệp.
- Khả năng giao tiếp được với các thiết bị thông minh khác như: máy tính,
nối mạng, các module mở rộng.
Hình 2. 6. đồ chân của FX3U - 24MT
Thông số kĩ thuật của PLC board fx3u – 24MT.
Ngõ vào/ra : 14 vào / 10 ra.
Ngõ vào analog : 6 ngõ vào analog, độ chính xác 12bit, A0-AD2: 0-10V,
A3-AD5: 0-20mA; Đọc cấu trúc lệnh RD3A.
Ngõ ra analog : 2 ngõ ra analog, độ chính xác 12bit, ngõ ra vôn: 0-10V,
ngõ ra analog với cấu trúc lệnh WR3A. Nguồn cấp : 24VDC – 1A.
Phần mềm lập trình : GX Developer - GX-Work 2.
b. Phần mềm GX Work2 22
Hình 2. 7. Giao diện GX Work2 - Tổng quan
Đây là phiên bản phần mềm nâng cấp và thay thế cho phần mềm GX
Developer, lập trình cho các dòng PLC FX, Q, L, A, S, CNC
GX Works2 là phiên bản nâng cấp và thay thế cho GX Developer bị hạn
chế một số tính năng. Những cải tiến trong phiên bản phần mềm này gồm có:
Giao diện được thiết kế lại một cách trực quan hơn để thuận tiện cho người sử dụng
Thư viện các modul được cập nhập đầy đủ hơn
Hỗ trợ thêm những ngôn ngữ lập trình như FBD và SFC
Thao tác tùy chỉnh các thông số dễ dàng
Bộ cài đặt được tích hợp thêm các gói phần mềm hỗ trợ
Phần mềm có thể lập trình cho các dòng PLC sau:
Dòng FX: FX0S, FX0, FX1, FX1S, FX1N, FX1NC, FX2N, FX2NC, FX3S, FX3G, FXGC, FX3U, FX3UC
Dòng Q cpu (Q mode, A mode), L cpu, QS cpu, QnA cpu, A cpu, S cpu, CNC
GX Work 2 là phần mềm được Mitsubishi nâng cấp và thay thế cho GX
Developer với giao diện trực quan đẹp hơn hơn, thao tác mượt mà và có hỗ trợ
thêm các ngôn ngữ lập trình khác như là FBD (Function Block Diagram), SFC
(Sequential Function Chart). Phần mềm này khá nặng, nếu máy tính lập trình
cấu hình thấp thì có thể sử dụng GX Developer.
Cấu hình màn hình trong của GX Work2
Hình 2. 8. Vị trí của từng thanh trong GX Work2
Thanh tiêu đề : Thanh tiêu đề hiện tên các dự án đang sử dụng
Hình 2. 9. Thanh tiêu đề
Thanh menu: Thanh menu được sử dụng khá thường xuyên khi làm việc
với GX Works2. Click vào thanh menu để chọn những chức năng khác nhau từ thanh menu.
Thanh công cụ: Thanh công cụ gồm những biểu tượng rất trực quan và dễ
sử dụng cho những chức năng thông dụng. Nó khiến các thao tác nhanh hơn.
Hình 2. 10. Thanh công cụ
Tap : Khi làm việc với nhiều cửa sổ đang mở, nó thể hiện theo dạng trình
duyệt tab . Click vào tab sẽ kích hoạt cửa sổ làm việc tương ứng
Xem nội dung hiển thị : Xem nội dung hiển thị thể hiện nội dung của trình hiển thị hiện tại
Vùng quản lý project : xem vùng đang chọn vùng thể hiện nội dung của vùng hiện tại. 24
Khu vực soạn thảo chương trình (cửa sổ làm việc) : Màn hình chỉnh sửa
thể hiện nhiều loại màn hình như màn hình tạo chương trình và màn hình tạo
comment để chỉnh sửa biểu đồ lader, chú thích, và tham số.
Cửa sổ Output : Cửa sổ đầu ra thể hiện sự biên dịch và kiể mtra kết quả (như lỗi và cảnh báo).
Thanh trạng thái : Thanh trạng thái thể hiện thông tin trạng thái của GX Works2.
Hình 2. 11. Thanh trạng thái - Chức năng
GX Works2 quản lý các chương trình và thông số đầu vào của dự án cho
mỗi CPU điều khiển khả trình. Lập trình :
Chương trình có thể được tạo ra trong một Dự án đơn giản theo cách
tương tự với GX Developer.
Lập trình cấu trúc trong một dự án cấu trúc cũng khả thi với GX Works2
Hình 2. 12. dụ về lập trình trong GX Work2 Cài đặt tham số :
Tham số cho CPU điều khiển khả trình và tham số cấu hình mạng có thể
được đặt với GX Works2.
Tham số cho khối chức năng thông minh cũng có thể được cài đặt
Hình 2. 13. Cài đặt các tham số
Viết/đọc dữ liệu đến/từ một CPU điều khiển khả trình.
Tạo chương trình tuần tự có thể được viết/đọc từ một CPU điều khiển khả
trình sử dụng Read từ PLC/Write của chức năng PLC. Đồng thời, với chương
trình thay đổi chức năng trực tuyến, chương trình tuần tự có thể bị thay đổi ngay
cả khi CPU điều khiển khả trình đang chạy (RUN).
Hình 2. 14. Khả năng đọc viết dữ liệu Quan sát/soát lỗi :
Tạo chương trình tuần tự có thể được viết cho CPU điều khiển khả trình
và giá trị của thiết bị khi hoạt động của nó đang được theo dõi trực tuyến/ngoại tuyến.
Hình 2. 15. Soát lỗi trong chương trình Chuẩn đoán
Trạng thái lỗi hiện tại và lịch sử lỗi của CPU điều khiển khả trìnhcó thể được chuẩn đoán. 26
Với chức năng chuẩn đoán, công việc khôi phục có thể được hoàn thành trong thời gian ngắn.
Với chức năng theo dõi hệ thống (cho QCPU (Q mode)/LCPU), thông tin
cụ thể trong module chức năng thông tin có thể được lấy về. Điều này giúp cho
rút ngắn thời gian phục hồi dữ liệu khi hệ thống đang lỗi.
Hình 2. 16. Chuẩn đoán trạng thái
c. Phần mềm Visual Studio
Hình 2. 17. Giao diện Visual Studio
- Tổng quan về phần mềm
Visual Studio là một môi trường phát triển tích hợp được phát triển bởi
Microsoft. Visual Studio còn được gọi là “trình soạn thảo mã được nhiều người
sử dụng nhất thế giới”, đây là một trong những công cụ hỗ trợ lập trình website
nổi tiếng nhất hiện nay mà chưa phần mềm nào có thể thay thế chúng. - Cấu trúc
Visual Studio không hỗ trợ cho bất kỳ ngôn ngữ lập trình nào về giải pháp
hoặc công cụ thực chất thay vào đó nó cho phép cắm chức năng được mã hóa
như là một VSPackage. Visual Studio SDK cũng bao gồm Managed Package
Framework là một tập hợp quản lý bao bọc quanh các COM-interfaces cho phép
các gói được viết bằng bất kỳ ngôn ngữ nào. Hỗ trợ cho các ngôn ngữ lập trình
được thêm vào bằng cách sử dụng một VSPackage đặc biệt được gọi là một dịch
vụ ngôn ngữ. Một dịch vụ ngôn ngữ định nghĩa giao tiếp có các chức năng được
thêm vào theo cách này bao gồm cú pháp màu, hoàn thành báo cáo kết quả, kết
hợp đôi, công cụ chú giải tham số thông tin, danh sách thành viên và đánh dấu
lỗi trên nền biên dịch.
Visual Studio không bao gồm bất kỳ Hệ thống quản lý phiên bản hỗ trợ
kiểm soát mã nguồn nhưng nó xác định hai cách thay thế cho các hệ thống kiểm
soát mã nguồn để tích hợp với IDE. Visual Studio hỗ trợ chạy nhiều cá thể của
môi trường (tất cả đều có VSPackages riêng của mình). Các phiên bản sản phẩm
khác nhau của Visual Studio được tạo ra bằng cách sử dụng AppIds khác nhau.
Các sản phẩm phiên bản Visual Studio Express được cài đặt với AppIds riêng
nhưng với các sản phẩm Standard, Professional và Team Suite chia sẻ cùng AppID. - Giao diện làm việc
Hình 2. 18. Giao diện làm việc chính
Vùng 1: Toolbox - đây là vùng chứa tất cả các control có thể sử dụng cho
project, có thể kéo thả những control này sang vùng 2 và vùng 3.
Vùng 2: Design - vùng hiển thị kết quả (giao diện) từ mã giao diện, có
những loại project không có vùng làm việc này như Console App.
Vùng 3: vùng viết mã nguồn (coding). 28
Vùng 4: nơi xuất ra những thông báo trong quá trình biên dịch, các lỗi cú
pháp phát sinh trong quá trình viết mã.
Vùng 5: Solution Explorer - vùng quản lý các file trong project đang làm việc.
2.3. Nội dung nghiên cứu
Tìm hiểu tổng quan về xử lý ảnh, tổng quan về phân loại sản phẩm, ứng
dụng của xử lý ảnh trong đời sống sản suất, đặc biệt là ứng dụng của xử lý ảnh
trong phân loại sản phẩm. Qua đó có thể xây dựng được yêu cầu về mô hình
phân loại sản phẩm theo màu sắc quả.
Giới tổng quan về đối tượng nghiên cứu, ý đồ xây dựng hệ thống, các
thiết bị có trong hệ thống và các phương pháp nghiên cứu.
Hoàn thiện các thiết kế phần cứng, phần mềm và tiến hành chế tạo mô
hình, cùng đó là thực hiện thử nghiệm đánh giá hoạt động của hệ thống.
2.4. Phương pháp nghiên cứu
Phương pháp kế thừa: Kế thừa từ các tài liệu, công trình nghiên cứu trước
đó về những mảng chính của đề tài, cách sử dụng các thiết bị, cảm biến, sử dụng
các thư viện lập trình được thiết lập và kiểm chứng bởi cộng đồng.
Sau khi đã xây dựng xong cơ sở lý thuyết của đề tài sẽ tiến hành thử
nghiệm sự hoạt động trên các thiết bị hiện có.
Các bước tiến hành nghiên cứu là tìm hiểu cơ sở lý thuyết về vấn đề
nghiên cứu, tiến hành thiết kế chương trình điều khiển và mạch điều khiển, sau
đó thử nghiệm trên mô hình để đưa ra kết luận.
Kết hợp giữa việc thiết kế tuần tự và đồng thời: cụ thể là việc đầu tiên là
nghiên cứu mô hình cụ thể sau đó xây dựng mô hình chứa đầy đủ những dự định
sẽ có trong thiết kế qua đó có cái nhìn tổng quan về hệ thống chung và xác định
thông số cơ bản. Từ đó, áp dụng để thiết kế trong giới hạn của đề tài.
Tìm hiểu tổng quan về xử lý ảnh, , ứng dụng của xử lý ảnh trong đời sống
sản suất, đặc biệt là ứng dụng của xử lý ảnh trong phân loại sản phẩm. Qua đó
có thể xây dựng được yêu cầu về mô hình phân loại sản phẩm quả quýt theo độ nguyên vẹn.
Giới thiệu tổng quan về đối tượng nghiên cứu, ý đồ xây dựng hệ thống,
các thiết bị có trong hệ thống và các phương pháp nghiên cứu.
Hoàn thiện mục tiêu ứng dụng công nghệ xử lí ảnh vào mô hình cùng đó
là thực hiện thử nghiệm đánh giá hoạt động của hệ thống.
Qua chương 2, em đã giới thiệu được tổng quan về đối tượng nghiên cứu,
ý đồ xây dựng hệ thống, các thiết bị có trong hệ thống và các phương pháp
nghiên cứu của mình. Trên cơ sở đó trong chương 3, em sẽ hoàn thiện các thiết
kế phần cứng, phần mềm và tiến hành chế tạo mô hình, cùng đó là thực hiện thử
nghiệm đánh giá hoạt động của hệ thống.
CHƯƠNG 3 : KẾT QUẢ THẢO LUẬN
3.1. Sơ đồ tổng quát
3.1.1. Sơ đồ khối
Hình 3. 1. đồ khối 30
Các cảm biến đầu vào bao gồm cảm biến vật cản hồng ngoại, camera.
PLC sẽ đóng vai trò xử lý trung tâm, nó nhận tín hiệu từ các cảm biến rồi
thông qua thuật toán điều khiển sẽ đưa ra các tín hiệu điều khiển cho cơ cấu chấp hành.
Cơ cấu chấp hành bao gồm động cơ DC băng tải và động cơ Bước xoay cánh tay và hút vật.
Laptop đóng vai trò bộ xử lý ảnh và máy chạy giao diện.
Màn hình là nơi người dùng giao tiếp với hệ thống thông qua giao diện điều khiển.
Sau khi dữ liệu hình ảnh được xử lí trong máy tính đưa ra kết quả về màn
hình đồng thời cũng truyền dữ liệu vào PLC để bộ điều khiển PLC kích hoạt
điều khiển động cơ bước quay cánh tay về gốc. Tiếp đó xi lanh hạ xuống , giác
hút tiến hành hút quả. Động cơ bước quay cánh tay đến vị trí thùng cần thả vật
để giác hút nhả hơi ra và vật rơi xuống thùng. Sau đó cánh tay lập tức quay về vị trí gốc ban đầu.
3.1.2. Giải thuật xử ảnh
Hình 3. 2. Giải thuật xử ảnh
- Nguyên lí hoạt động :
Camera sẽ đóng vai trò nhận diện và xác định vật mẫu. Đưa vật mẫu vào
trong đường bao đã được cài đặt trong phần mềm để tiến hành lấy giá trị vật
mẫu. Tiến hành căn chỉnh minH, minS, minV, maxH, maxS, maxV để bôi đen
toàn bộ khung ảnh và chỉ để nhận diện được vùng bao quanh quả quýt. Sau khi
có được các giá trị min max lần lượt kể trên ta nhập vào chương trình để xác
định thông số xử lí. Kết quả sau khi lấy giá trị sẽ được đưa vào quá trình xử lí,
tính toán để cho ra kết quả dưới điểm ảnh (px) hay còn được gọi là vùng dữ liệu
màu. Điểm ảnh của quả quýt sau khi được xác định sẽ đem so sánh đồng thời
tìm kiếm trong các dải màu mẫu đã cài sẵn để phân tích( Dải màu 1 và dải màu
2). Sau khi hoàn thiện so sánh và tìm kiếm, giao diện sẽ đưa ra kết quả của dài
màu cuối cùng tương ứng với các màu mà đề tài cần đạt được.
3.2. Xác định sản phẩm theo màu sắc bằng xử ảnh
Bước 1: Xác định vật mẫu
Đặt sản phẩm tại điểm xử lý trong khu vực nhận diện, thiết lập ánh sáng
chuẩn với trong quá trình hoạt động.
Bước 2: Đọc hình dạng và tiến hành tách.
Sau khi đặt vật tại vị trí trong khung của camera. Tại phần giao diện của
phần mềm sẽ có phần debug. Sau khi click vào đó màn hình hiển thị sẽ đưa ra 2
màn nhận diện màu của vật.
Hình 3. 3. Bảng chỉnh sửa không gian màu HSV 32
Điều chỉnh các thanh MinH, MinS, MinV và MaxH, MaxS, MaxV để bôi
đen đi viền. Đến khi nào trong khung ảnh chỉ còn là hình dạng của vật nhiều
nhất và đúng nhất ít bị dính tô đen.
Sau đó lấy các thông số H, S, V của Min và Max thay vào chương trình
Hình 3. 4. Các giá trị lọc màu
Điều chỉnh các thanh MinH, MinS, MinV và MaxH, MaxS, MaxV để bôi
đen đi viền. Đến khi nào trong khung ảnh chỉ còn là hình dạng của vật nhiều
nhất và đúng nhất ít bị dính tô đen.
Giá trị màu lọc được của màu vàng lần lượt là : minH_Yellow = 0 ;
minS_Yellow = 228; minV_Yellow = 230; maxH_Yellow = 26; maxS_Yellow = 255; maxV_Yellow = 255.
Hình 3. 5. Lấy mẫu quả quýt vàng
Giá trị lọc màu của màu xanh lần lượt là : minH_Green = 0; minS_Green
= 191; minV_Green = 156; maxH_Green = 46; maxS_Green = 208; maxV_Green = 255.
Hình 3. 6. Lấy mẫu quả quýt xanh
Sau khi lọc được các giá trị màu ta tiến hành gộp min max để lấy trung bình.
Hình 3. 7. Gộp giá trị màu lọc được
Nhân ảnh mặt nạ với ảnh đầu vào để được ảnh tách lấy sản phẩm.
Hình 3. 8. Nhân ảnh mặt nạ với ảnh gốc
Bước 3: Tạo đường bao nhận diện ảnh.
Sau khi đã nhân mặt nạ ảnh với ảnh gốc ban đầu, tiếp theo ta tiến hành vẽ
đường bao để nhận diện qua camera.
Viền x có giá trị x(500,1300).
Viền y có giá trị y(400,850). 34
Hình 3. 9. Chọn đường bao cho quả
Hình 3. 10. Kết quả của đường bao trên camera
Hình 3. 11. Tìm kiếm đường nét xanh
Điểm ảnh của quả màu xanh sẽ được tính từ dải màu 1 tính từ 300px đến 500px.
Hình 3. 12. Tìm kiếm đường nét vàng
Điểm ảnh của quả vàng sẽ được tính từ dải màu 2 300 đến 400px. Bước 4 : Xử lí ảnh
Sau khi nhận diện được điểm ảnh của quả quýt là màu gì. Hệ thống sẽ
tiến hành phân loại màu sắc.
Hình 3. 13. Xử giá trị nhận được
Với từng giá trị màu tương ứng 1,2,3 là đỏ, xanh, vàng.
3.3. Kết quả thử nghiệm
Kết nối nguồn điện với hệ thống. Kết nối các thiết bị điều khiển với
laptop. Sau khi nối đầy đủ các thiết bị với nhau tiến hành test kết nối hệ thống qua các phần mềm.
Khi tất cả thông báo đã kết nối thành công thì ta bắt đầu tiến hành chạy mô hình.
Bảng 1. Bảng phân loại màu sắc theo dải đo màu Mã thập ST Màu sắc thành Khoảng đo của dải Màu sắc chính phân T phần màu (px) R, G, B 1 Vôi xanh 420 – 440 50,205,50 2 Vôi 440 – 460 0,255,0 3 Màu xanh Rừng xanh 460 – 480 34,139,34 4 Màu xanh lá 480 – 500 0,128,0 5 Xanh vàng 400 – 420 154,205,50 6 Màu vàng 300 – 350 255,255,0 Màu vàng 7 Vàng 350 – 400 255,215,0 36
Bảng 2. Bảng kết quả chạy thử nghiệm đánh giá Kết quả và đánh giá Số lần Nội dung thử Dải màu Dải màu STT thử nghiệm 1(Màu xanh) 2(Màu vàng) Kết quả nghiệm (px) (px) Chạy thực Chạy thử 445 384 nghiệm trong nghiệm mô điều kiện ánh hình 3 lần 1 3 447 397 sáng phòng đều cho ra kín bình kết quả 431 380 thường chính xác Chạy thực Chạy thử nghiệm mô 328 377 nghiệm 3 hình trong lần đều cho điều kiện 302 354 ra kết quả 2 3 phòng kín vàng chính không có ánh xác. Còn sáng 365 347 quả xanh sai Chạy thực Chạy thử 411 341 nghiệm mô nghiệm mô hình trong hình 3 lần 3 3 420 355 điều kiện ánh đều cho ra sáng ngoài kết quả 416 347 trời chính xác Chạy thực
Phân loại quả vẫn chính 4 3 nghiệm 402 mô
xác khi để quả trong điều hình với quả kiện ánh sáng bình 410 quýt to hơn
thường. Giác hút vẫn có quả quýt đang
thể hút được vật. Tuy được lấy làm
nhiên chỉ đối với vật có mẫu 406 kích thước nằm trong đường bao.
Kết luận chung : Để mô hình có thể hoạt động ổn định, camera nhận diện
và xử lí quả quýt chính xác nhất phải đủ điều kiện ánh sáng bình thường trong
phòng kín để có thể hoạt động chuẩn xác nhất. Dải màu xanh và vàng rất đa
dạng nhưng trong quá trình thử nghiệm chúng em chỉ tiến hành chạy được một số dải trên đây.
- Hình ảnh chạy thử nghiệm :
Hình 3. 14. Kết quả chạy thử nghiệm quả quýt xanh trong phòng ánh sáng
Hình 3. 15. Kết quả chạy thử nghiệm quả quýt vàng trong phòng ánh sáng 38
Hình 3. 16. Kết quả chạy thử nghiệm quả quýt xanh trong phòng không ánh sáng
Hình 3. 17. Kết quả chạy thử nghiệm quả quýt vàng trong phòng không ánh sáng
Hình 3. 18. Kết quả chạy thử nghiệm quả quýt xanh ngoài trời
Hình 3. 19. Kết quả chạy thử nghiệm quả quýt vàng ngoài trời
Hình 3. 20. Kết quả chạy thử nghiệm với quả quýt xanh to hơn
3.4. Đánh giá thảo luận
3.4.1. Đánh giá
Nhìn chung hệ thống đáp ứng được những yêu cầu ban đầu của đề tài đặt
ra, sản phẩm có một số ưu nhược điểm như sau:
Các cảm biến hồng ngoại hoạt động tốt.
Thuật toán điều khiển chạy đúng theo yêu cầu đặt ra.
Độ nhạy của hệ thống tốt, ngay lập tức thực hiện các lệnh khi có tín hiệu đầu vào.
Làm việc ổn định, đạt đầy đủ các yêu cầu đề ra.
Camera nhận diện và đưa ra kết quả chính xác. Ưu điểm :
Thiết kế nhỏ gọn phù hợp với yêu cầu của đề tài.
Hệ thống điều khiển hoàn toàn tự động.
Tốc độ xử lý ổn định. 40
Đơn giản trong thao tác, vận hành, sửa chữa, bảo dưỡng.
Khả năng phân loại khá chính xác.
3.4.2. Thảo luận
Xây dựng kết cấu cơ khí, mạch điều khiển, động cơ hoàn thiện và gắn liền với thực tế.
Tăng tốc độ xử lý nhằm tăng năng suất của hệ thống.
Ứng dụng công nghệ IoT cho phép điều khiển, giám sát từ xa.
Tăng đối tượng xử lí.
Có thể đưa vào xử lí được nhiều dải màu hơn nữa.
Qua chương 3, em đã hoàn thiện các thiết kế phần cứng, phần mềm và tiến
hành chế tạo mô hình, đã tiến hành thực hiện thử nghiệm và đánh giá hoạt động
của hệ thống, hoàn thành đề tài theo đúng tiến độ đề ra.
KẾT LUẬN KIẾN NGHỊ 1. Kết luận
Sau một thời gian nghiên cứu, tìm hiểu và được sự hướng dẫn nhiệt tình
của TS.Ngô Trí Dương đề tài : “Ứng dụng công nghệ xử lí ảnh trong phân loại
quả quýt” của em đã hoàn thành. Qua quá trình nghiên cứu và tìm hiểu em đã biết thêm được về:
Trang bị thêm kiến thức về phân loại sản phẩm theo hình dạng, ứng dụng
của xử lý ảnh trong bài toán phân loại sản phẩm.
Tìm hiểu được về PLC và cách lập trình PLC trong một ứng dụng thực tế.
Biết được cách sử dụng các thiết bị trong một đề tài phân loại sản phẩm.
Những kết quả đạt được :
Đã hoàn thành đồ án đúng thời gian quy định và mục đích đặt ra.
Mô hình làm việc ổn định trong các điều kiện ánh sáng khác nhau và sai số ở ngưỡng cho phép.
Ứng dụng thành công công nghệ xử lí ảnh vào mô hình phân loại quả quýt
Tốc độ vận hành và xử lí ổn định.
Những mặt còn tồn tại :
Thiết bị mua trên thị trường không được chuẩn nên tín hiệu nhiều lúc không chính xác.
Trong quá trình chạy thực nghiệm mô hình camera đôi khi bị nhận tín hiệu màu nhầm, lệch.
Từ đề tài này cho thấy việc áp dụng công nghệ cao vào nông nghiệp tại
nước ta không còn là quá xa nữa mà ngay bây giờ đã và đang thực hiện, nghiên
cứu áp dụng vào thực tế góp phần phát triển và đưa nền nông nghiệp Việt Nam
tiến gần hơn tới nền nông nghiệp 4.0.
2. Kiến nghị
Qua chương 3, em đã hoàn thiện các thiết kế phần cứng, phần mềm và
tiến hành chế tạo mô hình, đã tiến hành thực hiện thử nghiệm và đánh giá hoạt
động của hệ thống, hoàn thành đề tài theo đúng tiến độ đề ra. 42
Trong khoảng thời gian thực hiện đề tài có một số nội dung em chưa thể
tối ưu do thời gian và kinh phí, kiến thức hạn hẹp, có thể được bổ sung :
Khả năng hút vật có thể chính xác và điều kiện nâng cao hơn về khoảng cách và kích thước.
Thiết kế vận dụng với nhiều đối tượng vật mẫu khác nhiều hơn, đa dạng
về màu sắc cũng như khả năng nhận dạng chính xác vật.
Ứng dụng xử lí ảnh nhận diện quả còn có sai lệch cần được nghiên cứu
chính xác và thiết lập chuẩn xác.
Khả năng nhận diện không chỉ dừng lại ở màu sắc của quả quýt mà có thể
áp dụng với nhiều loạt vật, nhiều loại quả trong đời sống hàng ngày.
Em rất mong quý thầy cô sẽ tạo điều kiện và hướng cho các bạn sinh viên
khoá sau tiếp tục phát triển hơn nữa cho đề tài này.
TÀI LIỆU THAM KHẢO
[1] https://timvieckythuat.com/tong-quat-nhung-kien-thuc-co-ban-ve-ky-thuat- tu-dong-hoa-1426.html/
[2] Bộ môn Công nghệ chế tạo máy; Cơ sở Công nghệ chế tạo máy; NXB KH-KT; Hà Nội 2008.
[3] https://visualcpp.net/visual-studio-la-gi-gioi-thieu-phan-mem-visual- studio/
[4] https://blogdankythuat.com/tong-quan-phan-mem-gx-works-2-lap-trinh- plc/
[5] GS. TSKH. Nguyễn Văn Khang; Sổ Tay Cơ Điện Tử ; NXB Giáo dục Việt Nam; Năm 2020.
[6] Nguyễn Ngọc Phương, Nguyễn Trường Thịnh; Hệ thống điều khiển tự
động khí nén; NXB Khoa học và Kỹ thuật.
[7] https://www.rapidtables.org/vi/web/color/RGB_Color.html
[8] https://doc.edu.vn/tai-lieu/bai-giang-tong-quan-ve-he-thong-xu-ly-anh-va-
cac-van-de-trong-xu-ly-anh-54734/ 44 PHỤ LỤC Chương trình using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.IO.Ports; using Emgu.CV; using Emgu.CV.Structure; using Emgu.CV.Util; using System.Linq; using System.Threading; using Emgu.CV.UI; using AForge.Video;
using AForge.Video.DirectShow; using Emgu.CV.CvEnum; using ActUtlTypeLib; namespace EmguCV {
public partial class Form1 : Form {
private FilterInfoCollection cameras;
private VideoCaptureDevice cam; public static Bitmap bitmap; public static Image imgRgb; public static Image imgGray; public static Image imgMask;
public static Image imgMask_red;
public static Image imgMask_green;
public static Image imgMask_yellow;
public static Image imgMask_final; public static Image imgHsv;
public static Image imgHsv_red;
public static Image imgHsv_green;
public static Image imgHsv_yellow; int r = 0; int g = 0; int y = 0; // các giá trị lọc màu public int maxH_red = 50; public int maxS_red = 90; public int maxV_red = 255; public int maxH_yellow = 26; public int maxS_yellow = 255; public int maxV_yellow = 255; public int maxH_green = 46; 46 public int maxS_green = 208; public int maxV_green = 255; public int minH_red = 0; public int minS_red = 15; public int minV_red = 200; public int minH_yellow = 0; public int minS_yellow = 228; public int minV_yellow = 230; public int minH_green = 0; public int minS_green = 191; public int minV_green = 156;
// biến tính toán vị trí public double td_x; public double td_y; public double mmpx_x = 5.5; public double mmpx_y = 6.35; int sl1, sl2, sl3; public Form1() { InitializeComponent(); cameras = new
FilterInfoCollection(FilterCategory.VideoInputDevice);
foreach (FilterInfo info in cameras) { cbb_cam.Items.Add(info.Name); } }
public ActUtlType plc = new ActUtlType();
private void btn_start_Click(object sender, EventArgs e) { try {
if (cam != null && cam.IsRunning) { cam.Stop(); } cam = new
VideoCaptureDevice(cameras[cbb_cam.SelectedIndex].MonikerString); cam.NewFrame += cam_NewFrame; cam.Start(); timer1.Enabled = true; } catch { } }
void cam_NewFrame(object sender, NewFrameEventArgs eventArgs) {
bitmap = (Bitmap)eventArgs.Frame.Clone(); //ptb_1.Image = bitmap; }
private void btn_stop_Click(object sender, EventArgs e) { 48
if (cam != null && cam.IsRunning) { cam.Stop();
PictureBox ptb = new PictureBox();
ptb.BackColor = Color.LightGray; ptb_1.Image = ptb.Image; timer1.Enabled = false; } }
private void btn_debug_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); }
private void btn_test_Click(object sender, EventArgs e) { }
private void distance(Rectangle rect) { int xtox = 140; int ytoy = 200;
int center_x = rect.X + rect.Width / 2;
int center_y = rect.Y + rect.Height / 2; int x1, y1;
td_x = xtox - Convert.ToInt32(center_x / mmpx_x);
td_y = ytoy - Convert.ToInt32((1080 - center_y) / mmpx_y);
x1 = Convert.ToInt32(center_x / mmpx_x);
y1 = Convert.ToInt32((1080 - center_y) / mmpx_y); } private void process_img() { try { Mat hsv = new Mat(); Mat hier = new Mat(); Mat mask = new Mat(); Mat img_bt = new Mat(); Mat hsv_red = new Mat(); Mat hier_red = new Mat(); Mat mask_red = new Mat(); Mat img_bt_red = new Mat(); Mat hsv_green = new Mat(); Mat hier_green = new Mat(); Mat mask_green = new Mat(); Mat img_bt_green = new Mat(); Mat hsv_yellow = new Mat(); Mat hier_yellow = new Mat(); Mat mask_yellow = new Mat();
Mat img_bt_yellow = new Mat();
Emgu.CV.Util.VectorOfVectorOfPoint contours = new
Emgu.CV.Util.VectorOfVectorOfPoint(); 50
Emgu.CV.Util.VectorOfVectorOfPoint contours_red = new
Emgu.CV.Util.VectorOfVectorOfPoint();
Emgu.CV.Util.VectorOfVectorOfPoint contours_green = new
Emgu.CV.Util.VectorOfVectorOfPoint();
Emgu.CV.Util.VectorOfVectorOfPoint contours_yellow = new
Emgu.CV.Util.VectorOfVectorOfPoint(); imgRgb = new Image(bitmap); CvInvoke.CvtColor(imgRgb.Mat, hsv,
Emgu.CV.CvEnum.ColorConversion.Bgr2Hsv); // Hsv
imgHsv = new Image(hsv.Bitmap);
CvInvoke.InRange(imgHsv, new ScalarArray(new
MCvScalar(Form2.minH, Form2.minS, Form2.minV)), new ScalarArray(new
MCvScalar(Form2.maxH, Form2.maxS, Form2.maxV)), mask); imgHsv_red = new Imagebyte>(hsv.Bitmap);
CvInvoke.InRange(imgHsv_red, new ScalarArray(new MCvScalar(minH_red, minS_red, minV_red)), new ScalarArray(new
MCvScalar(maxH_red, maxS_red, maxV_red)), mask_red); imgHsv_green = new Imagebyte>(hsv.Bitmap);
CvInvoke.InRange(imgHsv_green, new ScalarArray(new
MCvScalar(minH_green, minS_green, minV_green)), new ScalarArray(new
MCvScalar(maxH_green, maxS_green, maxV_green)), mask_green); imgHsv_yellow = new Imagebyte>(hsv.Bitmap);
CvInvoke.InRange(imgHsv_yellow, new ScalarArray(new
MCvScalar(minH_yellow, minS_yellow, minV_yellow)), new ScalarArray(new
MCvScalar(maxH_yellow, maxS_yellow, maxV_yellow)), mask_yellow); // Mask
imgMask = new Image(mask.Bitmap); imgMask = imgMask.Dilate(5); imgMask = imgMask.Erode(5);
imgMask_red = new Image(mask_red.Bitmap);
imgMask_red = imgMask_red.Dilate(5);
imgMask_red = imgMask_red.Erode(5);
imgMask_green = new Image(mask_green.Bitmap);
imgMask_green = imgMask_green.Dilate(5);
imgMask_green = imgMask_green.Erode(5);
imgMask_yellow = new Image(mask_yellow.Bitmap);
imgMask_yellow = imgMask_yellow.Dilate(5);
imgMask_yellow = imgMask_yellow.Erode(5);
// Kết hợp mask vs ảnh gốc - chỉ làm vs mask để tăng tính hình dung
CvInvoke.Merge(new VectorOfMat(imgMask.Mat, imgMask.Mat, imgMask.Mat), mask);
CvInvoke.BitwiseAnd(mask, imgRgb.Mat, img_bt);
imgMask_final = new Image(img_bt.Bitmap);
// Vẽ đường bao khu vực nhận dạng x(500,1300), y(400,850)
Rectangle rec = new Rectangle(300, 100, 700, 500);
CvInvoke.Rectangle(imgRgb, rec, new MCvScalar(255, 0, 255), 4);
CvInvoke.FindContours(imgMask, contours, hier,
Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple); // Find contours red 52
CvInvoke.FindContours(imgMask_red, contours_red, hier_red,
Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple); // Find contours green
CvInvoke.FindContours(imgMask_green, contours_green, hier_green,
Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
for (int i = 0; i < contours_green.Size; i++) {
CircleF cir = CvInvoke.MinEnclosingCircle(contours_green[i]);
if (((int)cir.Radius) > 300 && ((int)cir.Radius) < 500) {
if ((int)cir.Center.X > 300 && (int)cir.Center.X < 1000 &&
(int)cir.Center.Y > 100 && (int)cir.Center.Y < 600) {
CvInvoke.Circle(imgRgb, Point.Round(cir.Center),
((int)cir.Radius), new MCvScalar(255, 0, 0), 4);
CvInvoke.PutText(imgRgb, "Green =" + ((int)cir.Radius) + "px", Point.Round(cir.Center), FontFace.HersheyDuplex, 2.0, new Bgr(Color.Red).MCvScalar);
plc.SetDevice("M1", Convert.ToInt16(1)); //sl2++;
//tb_sp2.Text = sl2.ToString(); } } } // Find contours yellow
CvInvoke.FindContours(imgMask_yellow, contours_yellow, hier_yellow,
Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
for (int i = 0; i < contours_yellow.Size; i++) {
CircleF cir = CvInvoke.MinEnclosingCircle(contours_yellow[i]);
if (((int)cir.Radius) > 300 && ((int)cir.Radius) < 400) {
if ((int)cir.Center.X > 300 && (int)cir.Center.X < 1000 &&
(int)cir.Center.Y > 100 && (int)cir.Center.Y < 600) {
CvInvoke.Circle(imgRgb, Point.Round(cir.Center),
((int)cir.Radius), new MCvScalar(255, 0, 0), 4);
CvInvoke.PutText(imgRgb, "yellow =" + ((int)cir.Radius) + "px", Point.Round(cir.Center), FontFace.HersheyDuplex, 2.0, new Bgr(Color.Red).MCvScalar);
plc.SetDevice("M3", Convert.ToInt16(1)); //sl3++;
//tb_sp3.Text = sl3.ToString(); } } } ptb_1.Image = imgRgb.Bitmap; } catch (Exception ex) {
//MessageBox.Show(ex.Message); } } 54
private void timer1_Tick(object sender, EventArgs e) { process_img(); }
private void Form1_Load(object sender, EventArgs e) { }
private void btn_test_connect_Click(object sender, EventArgs e) { }
private void btn_connect_Click(object sender, EventArgs e) {
plc.ActLogicalStationNumber = 1; plc.Open(); }
private void btn_disconnect_Click(object sender, EventArgs e) { plc.Close(); }
private void pl(int color)// 1 dỏ 2 xanh 3 vàng { if (color == 1) {
plc.SetDevice("M1", Convert.ToInt16(1)); sl1++; tb_sp1.Text = sl1.ToString();
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0)); } if (color == 2) {
plc.SetDevice("M2", Convert.ToInt16(1)); sl2++; tb_sp2.Text = sl2.ToString();
plc.SetDevice("M1", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0)); } if (color == 3) {
plc.SetDevice("M3", Convert.ToInt16(1)); sl3++; tb_sp3.Text = sl3.ToString();
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0)); } }
private void btn_rst_Click(object sender, EventArgs e) {
plc.SetDevice("M20", Convert.ToInt16(1));
plc.SetDevice("M20", Convert.ToInt16(0)); sl1 = 0;sl2 = 0; sl3 = 0; 56 tb_sp1.Text = sl1.ToString(); tb_sp2.Text = sl2.ToString(); tb_sp3.Text = sl3.ToString(); }
private void btn_start_plc_Click(object sender, EventArgs e) {
plc.SetDevice("y11", Convert.ToInt16(1));
plc.SetDevice("M1", Convert.ToInt16(0));
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0)); }
private void btn_stop_plc_Click(object sender, EventArgs e) {
plc.SetDevice("y11", Convert.ToInt16(0));
plc.SetDevice("M1", Convert.ToInt16(0));
plc.SetDevice("M2", Convert.ToInt16(0));
plc.SetDevice("M3", Convert.ToInt16(0)); }
private void timer2_Tick(object sender, EventArgs e) { try { int stt;
plc.GetDevice("y11", out stt); if (stt == 1) {
btn_start_plc.BackColor = Color.Green;
btn_stop_plc.BackColor = Color.Red; } else {
btn_start_plc.BackColor = Color.Red;
btn_stop_plc.BackColor = Color.Green; }
int sl1, sl2, sl3, t1, t2, t3;
//plc.GetDevice("d1",out sl1);
//tb_sp1.Text = sl1.ToString(); } catch(Exception ex) { } }
private void btn_sp1_Click(object sender, EventArgs e) {
plc.SetDevice("M1", Convert.ToInt16(1)); sl1++; tb_sp1.Text = sl1.ToString(); }
private void btn_sp2_Click(object sender, EventArgs e) {
plc.SetDevice("M2", Convert.ToInt16(1)); sl2++; tb_sp2.Text = sl2.ToString(); 58 }
private void btn_sp3_Click(object sender, EventArgs e) {
plc.SetDevice("M3", Convert.ToInt16(1)); sl3++; tb_sp3.Text = sl3.ToString(); } } }