You are on page 1of 43

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐHQG HÀ NỘI

Sản Phẩm
QUẢN LÝ PHÂN LOẠI SẢN PHẨM
THEO MÃ QR
Thành viên: Nguyễn Văn Linh( Nhóm Trưởng )
Lê Đức Linh
Nguyễn Đức Long

Ngành: CƠ ĐIỆN TỬ

Mục lục

1.1. Đặt vấn đề


1.2. Giới thiệu chung về hệ thống và phân loại sản phẩm
1.2.1. Phân loại sản phẩm theo kích thước sử dụng cảm biến quang
1.2.2. Phân loại sản phẩm theo màu sắc sử dụng cảm biến màu sắc
1.2.3. Phân loại sản phảm bằng sử lý ảnh
1.2.4. Ý nghĩa của hệ thống phân loại sản phẩm
1.3. Yêu cầu thiết kế
1.4. Mô hình đề xuất
1.5. Thiết kế hệ thống cơ khí
1.5.1 Băng tải
1.6. Động cơ truyền động băng tải
1.7. Các thành phần cơ bản của hệ thống điều khiển
1.7.1. Cảm biến E18-D80NK
1.7.2. Camera
1.7.3. Arduino R3
1.7.4. Module Buck DC-DC
1.7.5. Động cơ servo tay gạt
1.7.6. Module relay 5VDC
1.8. Phần mềm
1.8.1. Arduino IDE
1.8.2. Visual Studio 2017
1.8.3. Microsoft SQL Server 2017

1
1.9. Lập trình Arduino
1.9.1. Sơ đồ khối
1.9.2. Chức năng các khối
1.9.3. Lập trình và upload chương trình cho Arduino
1.9.4. Sơ đồ kết nối phần cứng
1.10. Hệ thống quản lý sản phẩm
1.10.1. Tổng quát
1.10.2. Biểu đồ cấu trúc dữ liệu theo mô hình quan hệ
1.10.3. Biểu đồ phân cấp chức năng
1.10.4. Từ điển dữ liệu
1.10.5. Tạo cơ sở dữ liệu
1.11. Sơ lược về QR Code
1.11.1. Xây dựng hệ thống giao tiếp với thiết bị ngoại vi (CAM
ARDUINO)
1.11.2. Chuyển đổi ảnh trích xuất sang dạng chuỗi và kết hợp SQL
để xử lý
1.12. Thiết kế giao diện người dùng
1.12.1. Form đăng nhập
1.12.2. Form chính
1.12.3. UserControl đổi mật khẩu
1.12.4. UserControl sao lưu khôi phục dữ liệu
1.12.5. UserControl phân loại sản phẩm
1.12.6. UserControl trợ giúp
1.13. Xây dựng mô hình
1.14. Kết quả

1.1 Đặt vấn đề

Cùng với sự phát triển của nền công nghiệp 4.0, việc sử dụng mã QR code
để truy xuất thông tin sản phẩm ngày càng phổ biến và rộng rãi. Với ưu điểm
nhanh gọn, tiện lợi mã QR ngày càng chiếm được nhiều ưu thế và được sử dụng
trên mọi lĩnh vực. Thời buổi công nghệ hiện đại, thay vì đến tận nơi, mua tận tay

2
mới mang được đồ về nhà, thì chỉ cần có internet người tiêu dùng có thể mua mọi
món đồ dù ở xa đến mấy, hay trên khắp thế giới. Công việc bận rồi, bạn cần tiết
kiệm thời gian, bạn ngại đi xa, đây chính là cách tốt nhất mà những khách hàng
thông minh sử dụng, bởi vậy các dịch vụ giao hàng bùng nổ mạnh mẽ.
Với số lượng hàng ngàn sản phẩm mỗi ngày thì công việc phân loại sản
phẩm đều đặn này thật nhàm chán và mệt mỏi. Do đó người ta cần đưa các hệ
thống điều khiển tự động từng phần hoặc toàn bộ quá trình sản xuất, nhằm nâng
cao năng suất, chất lượng và ổn định.
Trong thời buổi kinh tế thị trường và sự hội nhập ngày càng sâu rộng vào
nền kinh tế thế giới, vấn đề cạnh tranh trở thành đề tài nóng mang tính sống còn,
cạnh tranh về mẫu mã, về chất lượng sản phẩm…Với dịch vụ giao hàng còn non
trẻ ở Việt Nam, thời điểm hiện tại chính là thời gian cạnh tranh mấu chốt để tiến
đến thâu tóm thị trường, cạnh tranh về chất lượng dịch vụ, giao hàng nhanh, đẹp,
cẩn thận, giá cả hợp lý,…để có thể trở thành sự lựa chọn tối ưu của khách hàng.
Có thể thấy rằng để có được những yếu tố cạnh tranh này thì ta phải áp dụng
được những quy trình công nghệ tiên tiến vào quá trình sản xuất tạo tiền đề cho
việc nâng cao chất lượng và giảm giá thành sản phẩm…
1.2 Giới thiệu chung về hệ thống phân loại sản phẩm

Hệ thống phân loại sản phẩm là hệ thống điều khiển tự động hoặc bán tự
động nhằm chia sản phẩm ra các nhóm có cùng thuộc tính với nhau để thực hiện
phân loại, đóng gói hay loại bỏ sản phẩm hỏng.
Có nhiều cách phân loại hệ thống phân loại sản phẩm:

 Hệ thống phân loại sản phẩm theo màusắc: dựa vào màu sắc của sản phẩm
mà phân loại. Phương pháp này thường sử dụng cảm biến màu sắc hoặc
camera để nhận diện màu. Được ứng dụng nhiều trong các dây chuyền chế
biến gạo xuất khẩu để phân loại gạo sau khi xay xát dựa vào màu sắc của
gạo.

 Hệ thống phân loại sản phẩm theo trọng lượng: dựa vào trọng lượng của
sản phẩm mà phân loại. Phương pháp này thường sử dụng cân điện tử ngay
trên băng tải để phân loại. Thường gặp nhiều trong chế biến thủy hải sản
(tôm, cá, mực…)

 Hệ thống phân loại sản phẩm theo hình dáng kích thước: dựa vào kích
thước (lớn hay nhỏ, cao hay thấp…) của sản phẩm mà phân loại. Phương
3
pháp này thường được ứng dung trong các dây chuyền chế biến, xay xát
lương thực, thực phẩm như lúa, ngô, lúa mì, sắn, khoai tây…

 Hệ thống phân loại sản phẩm theo hình dáng: dựa vào hình dáng (tròn,
vuông, tam giác…) của sản phẩm để phân loại. Phương pháp này sử dụng
camera chuyên dụng và một modul xử lý ảnh để nhận diện hình dáng của
sản phẩm. Nó thường được ứng dụng trong các dây chuyền sản xuất hiện
đại, công nghệ cao như lắp ráp tự động (ô tô, điện tử...) nhằm tăng năng
suất, giảm chi phí nhân công.

 Hệ thống phân loại sản phẩm theo khuyết tật: dựa vào khuyết tật (vết nứt,
bọt khí…) của sản phẩm để phân loại. Phương pháp này thường sử dụng
sóng siêu âm, dòng Foucault (chỉ dùng với vật liệu mỏng), X-Ray…
Phương pháp trên được ứng dụng trong nhiều ngành sản xuất vật liệu đúc
như đồng, nhôm, sứ…

 Hệ thống phân loại sản phẩm theo vật liệu: dựa vào vật liệu của sản phẩm
(phi kim hay kim loại) để phân loại. Phương pháp này thường ứng dụng
hiện tượng cảm ứng điện từ để phân loại sản phẩm có lẫn kim loại. Nó
được ứng dụng trong các dây chuyền sản xuất thực phẩm như bánh kẹo,
thủy sản, ngũ cốc…

 Hệ thống phân loại sản phẩm theo mã vạch: dựa vào mỗi mã vạch trên
từng sản phẩm để phân loại. Mã vạch chứa đựng thông tin của sản phẩm.
Phương pháp này sử dụng camera để quét hình ảnh. Thường được sử dụng
nhiều trong các dây chuyền phân loại thư, bưu kiện, hàng hóa giao gửi…

Để nói về các hệ thống cũng như phương pháp phân loại sản phẩm thì vô
cùng đa dạng. Trên đây chỉ là một số phương pháp phổ biến và được áp dụng
nhiều nhất. Phần tiếp theo sẽ sơ lược về một số phương pháp phân loại sản phẩm.

4
1.2.1 Phân loại sản phẩm theo kích thước sử dụng cảm biến quang

Hình 1.1 Cảm biến quang.

Nguyên lý hoạt động: Hệ thống sử dụng các cảm biến quang xếp chồng nhau
theo chiều dọc để phân biệt sản phẩm cao thấp theo các mức tương ứng với số
cảm biến.
Ví dụ: Sản phẩm chạy trên băng chuyền ngang qua cảm biến thứ nhất nhưng
chưa kích cảm biển thứ hai thì được phân loại vật thấp, khi sản phẩm qua hai cảm
biến đồng thời thì được phân loại vật cao. Càng nhiều cảm biến quang được đặt
thì hệ thống càng phân biệt được nhiều mức cao thấp.
Ưu điểm: hệ thống này có khả năng làm việc ở tốc độ cao, dễ dàng vận
hành và bảo dưỡng sửa chữa, giá thành tương đối thấp
.
Nhược điểm:do sử dụng mức không liên tục nên hệ thống này không thể
dùng để đo đạc chiều cao chính xác của sản phẩm.
1.2.2 Phân loại sản phẩm theo màu sắc sử dụng cảm biến màu sắc
Nguyên lý hoạt động: Sản phẩm trên bằng chuyền khi đi qua cảm biến sẽ
được nhận biết dựa trên nguyên lý khuếch tán. Ánh sáng trắng được chiếu lên bề
mặt của sản phẩm. cảm biến thu nhận ánh sắng khuyếch tán của sản phẩm và dựa
vào đó đển phân loại.
Trong thực tế có rất nhiều loại cảm biến màu sắc, tùy thuộc vào độ phức
tạp của sản phẩm cần phân loại mà người ta sẽ có lựa chọn khác nhau có hệ
thống của mình. Hình 1.2 mô tả hình ảnh cảm biến màu sắc đơn giản, cảm biến
màu sắc công nghiệp và cuối cùng là cảm biến thôngminh.

5
Đối với hệ thống này thì việc nhận biết màu sắc phụ thuộc nhiều vào ánh
sáng môi trường. Để hạn chế sai số cần thiết phải cách ly ánh sáng mô trường
bên ngoài với sản phẩm phân loại.

Hình 1.2 Cảm biến màu sắc.

1.2.3 Phân loại sản phẩm bằng xử lý ảnh

Hệ thống sử dụng camera để thu nhận hình ảnh. Hình ảnh sau đó được xử
lý theo yêu cầu của nhà sản xuất như nhận diện sản phẩm, kiểm tra kích thước,
kiểm tra màu, kiểm tra hình dáng v.v... Hệ thống phân loại sản phẩm sử dụng
camera rất linh hoạt, có thể kiểm tra và phân loại được nhiều thông tin khác
nhau, đáp ứng
được nhiều lĩnh vực công nhiệp. Tuy nhiên hệ thống này tương đối phức tạp và
giá thành cao.
Hệ thống phân loại sản phẩm dựa trên ứng dụng của việc xử lý ảnh. Hệ
thống bao gồm ba phần chính:
Thứ nhất: là bộ phận thu thập thông tin ảnh xử lý và ra quyết định bao
gồmmột hệ thống camera đòi hỏi đáp ứng đủ độ chiếu sáng để cho ra kết quả
nhanh và chính xác nhất.
Khi một sản phẩm đi qua camera sẽ nhận thông tin của sản phẩm (chụp lại
ảnh) sau đó gửi về phần mềm nhận dạng và phân loại (đối chiếu với các dự liệu
ảnh về sản phẩm đã được nạp sẵn). Phần mềm sẽ xử lý và xác nhận, nhận dạng
sản phẩm thuộc dạng nào, chất lượng ra sao.

6
Thứ hai: là bộ phận xử lý tín hiệu hồi đáp, điều khiển và giao tiếp giữa người
và máy bao gồm các nút bấm màn hình và các phím điềukhiển.
Thứ ba là hệ thống cơ khí bao gồm một băng tải và các hệ thống phụ trợ
trong việc phân loại sản phẩm. Khi các sản phẩm đã được nhận dạng thì hệ thống
cơ khí sẽ nhận lệnh và đưa ra đáp ứng phù hợp. Hệ thống phụ trợ này sử dụng
các servo để thực hiện việc gạt sản phẩm phân loại vào các khoảng đã địnhsẵn.
Một số ưu điểm của ứng dụng xử lý ảnh trong việc phân loại sản phẩm so với
một số ứng dụng khác có thể ra như sau:

 Linh hoạt trong việc thay đổi mẫu mã sản phẩm phân loại.

 Có khả năng phân loại được nhiều loại sản phẩm khác nhau.

 Phân loại được những sản phẩm phức tạp mà các phương pháp thông
thường không thể phân loại được.

Bên cạnh đó ứng dụng cũng có một số nhược điểm:

 Hệ thống có giá thành cao, phù hợp với dây chuyền sản xuất các sản
phẩm phức tạp mà các công nghệ thông thường không áp dụngđược.

 Đòi hỏi đội ngũ kỹ sư bảo dưỡng có kiến thức cơ bản về xử lýảnh.

1.2.4 Ý nghĩa của hệ thống phân loại sản phẩm

Hệ thống phân loại sản phẩm ra đời hình thành và phát triển làm tăng nhiều
mặt tốt phục vụ cho cho cuộc sống cũng như sự phát triển kinh tế của con người
hứa hẹn một sự phát triển vững mạnh và ổn định lâu dài. Đồng thời cũng là nền
tảng cho sự phát triển các tập đoàn kinh tế trên thế giới. Một lần nữa khẳng định
nó có vai trò rất quan trọng cho hoạt động phát triển, cung cấp phân phối sản
phẩm tới con người một cách tốt nhất, giúp đời sống con người được nâng cao
hơn.

Vấn đề số lượng và chất lượng sản phẩm thay đổi đáng kể có thể nhận thấy rõ
sự phân hóa và đa dạng về mẫu mã chủng loại của sản phẩm và cũng thấy rõ chất
lượng ngày càng được nâng cao và đáp ứng nhu cầu con người một cách hoàn

7
hảo nhất. Từ đây ta thấy được các thiết bị hiện đại đã giảm thiểu lớn thời gian lao
động sức tiếp cho quá trình sản xuất cũng như trong các quá trình khác để tạo ra
sản phẩm. Nhờ vậy mà đời sống vật chất tinh thần của con người ngày càng nâng
cao và cải thiện một cách rõ rệt.

Hệ thống có khả năng phân loại sản phẩm theo từng thuộc tính và sắp xếp các
sản phẩm phân loại đúng vị trí yêu cầu, đó là một khâu quan trọng trong quy
trình công nghệ tự động hóa sản xuất hoàn toàn. Giúp nâng cao năng suất và độ
chính xác khi thực hiện công việc ở trình độ cao. Tạo ra những tiền đề quan trọng
nâng cao tính cạnh tranh về giá cả, chất lượng dịch vụ, sản phẩm.

Hình 1.3 Nhu cầu về giao chuyển hàng hóa.

THIẾT KẾ HỆ THỐNG CƠ KHÍ

1.3 Yêu cầu thiết kế

Các yêu cầu thiết kế hệ thống cơ khí cần thỏa mãn các điều kiện :
- Có khả năng phân loại các sản phẩm về từng khu vực chính xác.
- Hệ thống cần đảm bảo độ cứng vững và ít rung động.
- Có hệ thống chiếu sáng giảm tối đa nhiễu.
- Thiết kế thuận tiện cho tháo lắp, bố trí điều khiển và các bộ phận khác.
(ảnh sản phẩm minh họa)
Từ các yêu cầu cần đáp ứng ở trên nhóm tiến hành thảo luận, nghiên cứu và đề
xuất mô hình cơ khí như phần dưới.

8
1.4 Mô hình đề xuất

Hệ thống cơ khí phân loại sản phẩm hiện nay có rất nhiều nhưng thường sử
dụng hai cơ cấu chính là cho sản phẩm chạy trên băng tải hoặc đĩa quay để tiến
hành kiểm tra. Căn cứ vào sản phẩm mà nhóm tiến hành xây dựng mô hình phân
loại sản phẩm về 3 khu vực khác nhau.

Hình 2.1 Mô hình đề xuất.


Mô hình đề xuất gồm :
- Khung nhôm định hình
- Băng tải cao su
- Động cơ điện
- Động cơ servo
- Ổ lăn
- Cánh gạt
- Cụm camera
- Cảm biến

1.5 Thiết kế hệ thống cơ khí

9
1.5.1 Băng tải
Băng tải là thành phần không thể thiếu cùa hệ thống phân loại sản phẩm. Nó
có nhiệm vụ vận chuyển phôi tới vị trí thao tác. Nguồn động lực chính của băng
tải chính là động cơ điện, động cơ một chiều, động cơ ba pha lồng sóc hay
servo…tùy vào yêu cầu của hệ thống. Để tạo ra momen đủ lớn cho băng tải cần
nối trục động cơ với hộp giảm tốc rồi mới ra tải. Băng tải làm từ vật liệu nhiều
lớp, thường là hai, có thể là cao su. Lớp dưới là thành phần chịu kéo và tạo hình
cho băng tải, lớp trên là lớp phủ.

Hình 2.2 Băng tải công nghiệp.

Ưu điểm của băng tải :


- Cấu tạo đơn giản, bền, có khả năng vận chuyển rời và đơn chiếc theo các
hướng nằm ngang nằm nghiêng hoặc kết hợp giữa nằm ngang và nghiêng.
- Vốn đầu tư không lớn, có thể tự động đượ, vận hành đơn giản, bảo dưỡng
dễ dàng, làm việc tin cậy, năng suất cao và tiêu hao năng lượng so với
máy vận chuyển khác không lớn lắm.

Các loại băng tải trên thị trường hiện nay có băng tải vải cao su, băng tải lá,
băng tải thanh đẩy, băng tải con lăn… Khi thiết kế hệ thống băng tải vận chuyển
sản phẩm đến vị trí phân loại có thể lựa chọn một số loại :
a. Các loại băng tải xích
10
Khá tốt trong các ứng dụng tải dạng chai, sản phẩm cần độ cứng vững chắc,
thường được sử dụng để vận chuyển tải nặng như tấm nâng hàng, hộp lưới điện,
và các đồ chứa công nghiệp. những băng tải có thể được một hoặc hai sợi dây
chuyền trong cấu hình.

Hình 2.3 Băng tải xích.


Nhiều ngành công nghiệp sử dụng công nghệ băng tải xích trong dây chuyền
sản xuất, ngành công nghiệp oto thường sử dụng các hệ thống này để truyền tải
phụ tùng xe hơi thông qua các nhà máy sơn.
a) Băng tải con lăn
Gồm các loại :
- Băng tải con lăn nhựa
- Băng tải con lăn nhựa PVC
- Băng tải con lăn thép mạ kẽm
- Băng tải con lăn truyền động bằng motor
Băng tải này là giải pháp phù hợp để vận chuyển sản phẩm với trọng lượng
từ nhẹ, trung bình đén rất nặng, trong các môi trường thông thường đến các môi
trường có hóa chất ăn mòn, bụi bặm.

11
Hình 2.4 Băng tải con lăn.
b) Băng tải cao su
Hệ thống băng chuyền này là một hệ thống vận chuyển nguyên liệu mang
lại hiệu quả kinh tế rất cao so với các hệ thống cùng chức năng, có thể lắp đặt ở
mọi địa hình, mọi khoảng cách

12
Hình 2.5 Băng tải cao su.

Nhóm quyết định lựa chọn loại băng tải đai vải cao su với lý do :
- Tải trọng băng tải không quá lớn
- Kết cấu cơ khí không quá phức tạp
- Dễ dàng thiết kế chế tạo
- Dễ dàng hiệu chỉnh băng tải
Tuy nhiên loại này cũng có một vài nhược điểm : độ chính xác khi vận
chuyển không cao, tốc độ thấp, đôi lúc hoạt động không ổn định do nhiều yếu tố,
nhiệt độ môi trường, độ ma sát dây đai giảm qua thời gian …

1.6 Động cơ truyền động băng tải

Động cơ là máy điện dùng để chuyển đổi năng lượng điện sang năng lượng
cơ, động cơ điện được sử dụng rất phổ biến ứng dụng trong nhiều loại máy móc,
thiết bị. Các loại động cơ điện thường được dùng để truyền động cơ băng tải là:

13
- Động cơ không đồng bộ: động cơ được sử dụng phổ biến trong công
nghiệp, có ưu điểm là giá thành rẻ, chống quá tải tuy nhiên để điều khiển
tốc độ của động cơ này lại gặp rất nhiều khó khăn, tốn kém về chi phí.
- Động cơ servo: được thiết kế cho những hệ thống hồi tiếp vòng kín. Tín
hiệu ra của động cơ được nối với một mạch điều khiển. Khi động cơ quay,
vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này. Nếu có bất kì lý
do nào ngăn cản chuyển động quay của động cơ, cơ cấu hồi tiếp sẽ nhận
thấy tín hiệu ra chưa đạt được điểm chính xác.
- Động cơ đồng bộ: động cơ mà có tốc độ quay của rotor bằng tốc độ quay
của từ trường. Tốc độ của động cơ đồng bộ không phụ thuộc vào tải,
không phụ thuộc vào điện áp lưới điện, chỉ phụ thuộc vào tốc độ của từ
trường quay và có thể đạt được hiệu suất rất cao. Tuy nhiên nó lại có giá
thành cao và việc vận hành mở máy gặp nhiều khó khăn.
- Động cơ điện một chiều: động cơ điện hoạt động với dòng điện một chiều.

Hình 2.8 Động cơ một chiều.


Động cơ điện công suất nhỏ được sử dụng phổ biến trong dân dụng với giá
thành rẻ và việc điều chỉnh tốc độ dễ dàng. Động cơ một chiều công suất lớn
được sử dụng trong truyền động băng tải công nghiệp hay trong vận hành hệ
thống truyền động do cung cấp momen khởi động lớn đáp ứng yêu cầu thực tế.
Theo yêu cầu của dự án ta nên chọn động cơ điện 1 chiều vì những lý do sau:
- Có cấu tạo đơn giản, vận hành dễ dàng
- Có thể dễ dàng điều chỉnh tốc độ với độ chính xác cao
- Giá thành rẻ, mẫu mã đa dạng trên thị trường

14
HỆ THỐNG ĐIỆN – ĐIỀU KHIỂN

1.7 Các thành phần cơ bản của hệ thống điều khiển

1.7.1 Cảm biến E18-D80NK


Lâu nay, chúng ta đã quen với việc sử dụng cảm biến siêu âm để phát hiện
vật cản, tuy nhiên nhược điểm của chúng là dễ bị nhiễu. Để khắc phục nhược
điểm trên, đồ án đã sử dụng phương pháp sử dụng hồng ngoại để phát hiện vật
cản mà cụ thể là sử dụng cảm biến E18-D80NK.

Cảm biến hồng ngoại E18-D80NK sử dụng ánh sáng hồng ngoại để xác định
vật cản cho độ phản hồi nhanh và rất ít nhiễu di sử dụng mắt nhận và mắt phát tia
hồng ngoại theo tần số riêng biệt. Cảm biến có thể điều chỉnh khoảng cách hoạt
động thông qua biến trở ở đuôi cảm biến.

Hình 3.1 Cảm biến E18-D80NK.

Thông số kỹ thuật:

 Điện áp hoạt động: 5VDC.


 Khoảng cách hoạt động tối đa: ~80cm.
 Dòng kích ngõ ra: 300mA.
 Góc điểm: ~15˚.
 Thời gian hồi đáp: ~2ms.
 Nhiệt độ môi trường làm việc: -25˚C ~ 50˚C.

15
 Ngõ ra dạng NPN cực thu hở giúp tùy biến được điện áp ngõ ra, trở treo
lên áp bao nhiêu sẽ tạo thành điện áp ngõ ra bấy nhiêu.
 Chất liệu vỏ cảm biến: Nhựa.
 Hiển thị ngõ ra bằng Led.
 Kích thước: 1.8cm (D) x 7.0cm (L).

Sơ đồ đấu dây cảm biến E18-D80NK.

 Màu nâu: VCC, nguồn dương 5VDC.


 Màu xanh dương: GND, nguồn âm 0VDC.
 Màu đen: tín hiệu ngõ ra cực thu NPN, cần trở treo lên để tạo mức cao

1.7.2 Camera
Camera là một bộ phận vô cùng quan trọng để cấu tạo thành nên hệ thống
phân loại nhờ xử lý ảnh. Việc lựa chọn camera liên quan mật thiết tới chất lượng
hình ảnh thu được, từ đó quyết định tới độ chính xác của quá trình nhận dạng mã
QR.

Hình 3.2 Camera LogitechWebcam B525.

Để chọn một camera đáp ứng được yêu cầu đề tài, sau khi tìm hiểu kỹ các
thông số kỹ thuật và đặc tính của từng loại, nhóm đã quyết định chọn camera
Webcam B525 của hãng Logitech.

Thông số kỹ thuật:

 Độ phân giải tối đa: Full HD 1080p (1920 x 1080 pixel).

16
 Loại tiêu cự: Bắt nét tự động(autofocus).
 Công nghệ Rightlight™ đem đến hình ảnh rõ ràng trong nhiều môi
trường có điều kiện chiếu sáng khác nhau, ngay cả khi ánh sáng yếu.
 Micro: 1 micro thu mọi hướng.
 Phạm vi quan sát: 69˚.

1.7.3 Arduino R3

Hình 3.3 Arduino R3 ATmega 328P.

Arduino R3 ATmega 328P là một bo mạch thiết kế với bộ vi xử lý trung


tâm là vi điều khiển AVR ATmega 328P. Cấu tạo chính của Arduino R3
ATmega 328P bao gồm các phần sau:

 Cổng USB: đây là loại cổng giao tiếp để ta thực hiện việc upload chương
trình từ PC/ Laptop lên vi điều khiển. Đồng thời nó cũng là giao tiếp serial
để truyền dữ liệu giữa vi điều khiển và máy tính.
 Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB, nhưng
không phải lúc nào cũng có thể cắm với máy tính được. Lúc đó ta cấp một
nguồn từ 9VDC đến 12VDC cho Arduino thông qua jack nguồn.
 Có 14 chân vào ra được đánh số thứ tự từ 0 đến 13, ngoài ra có một chân
nối đất (GND) và một chân điện áp tham chiếu (AREF).

17
 Vi điều khiển AVR: đây là bộ xử lý của toàn bộ bo mạch. Với mỗi mẫu
Arduino khác nhau thì sử dụng các con chip khác nhau. Ở mạch Arduino
này sử dụng ATmega 328P.

Thông số kỹ thuật:

 Nguồn vào đề nghị: 7-12V.


 Dòng tối đa chân 5V: 500mA.
 Dòng tối đa mỗi chân I/O: 30mA.
 Số chân Digital I/O: 14 chân (6 chân đầu ra là PWM).
 Số chân Analog: 6 chân (độ phân giải 10bit).
 Bộ nhớ flash: 32KB với 0.5 KB dùng bởi bootloader.
 SRAM: 2KB.
 EEPROM: 1KB.

1.7.4 Module Buck DC-DC


Module Buck DC-DC dùng XL4016 là module giảm áp có khả năng điều
chỉnh dòng ra đến 8A. Tức là khi cấp một nguồn 24V vào module, sau khi giảm
áp ta có thể nhận được một nguồn có cường độ lớn nhất là 8A và điện áp ra nhỏ
hơn 24V.

Hình 3.4 Module Buck DC-DC dùng XL4016.

Thông số kỹ thuật:

 Điện áp đầu vào: 4 - 40VDC.

18
 Điện áp đầu ra: 1.25 – 36VDC.
 Dòng ra lớn nhất: 8A nên dùng tối đa 5A
 Công suất tối đa: 200W.
 Hiệu suất chuyển đổi: 94%.
 Tần số chuyển đổi: 180KHz, điều chế PWM để điều chỉnh điện áp.
 Chip sử dụng XL4016 có bảo vệ quá dòng, quá nhiệt và ngắn mạch.

1.7.5 Động cơ servo tay gạt


Động cơ servo là một loại động cơ cụ thẻ được kết hợp với một bộ mã hóa
quay (encoder) hoặc một chiết áp để tạo thành một cơ cấu servo. Hợp bộ này có
thể đến lượt nó tạo thành một phần của cơ cấu servo khác. Một chiết áp dùng để
cung cấp một tín hiệu anolog đơn giản để chỉ ra vị trí, trong khi một bộ encoder
cung cấp vị trí và tốc độ phản hồi, bằng cách sử dụng một bộ điều khiển PID cho
phép nâng cao độ chính xác khi điều khiển vị trí và do đó đạt được vị trí ổn định
nhanh hơn. Xét theo nguồn năng lượng có 2 loại động cơ servo là: động cơ servo
AC và động cơ servo DC.
Khi lựa chọn động cơ người thiết kế phải xem xét nhiều yếu tố và các đặc
trưng về dải tốc độ, sự biến đổi momen tốc độ, tính thuận nghịch, chu kì làm
việc, momen khởi động và công suất yêu cầu.
Dựa trên yêu cầu của đề tài ta chọn động cơ AC Servo.
Driver Hybrid SERVO 2HSS86H là hệ thống điều khiển servo 2 pha tích hợp
công nghệ điều khiển servo thành driver kĩ thuật số. Nó sử dụng phương pháp
điều khiển 3 vòng điển hình bao gồm vòng lặp thường, vòng lặp tốc độ và vòng
lặp vị trí. Sản phẩm này có lợi thế cả về bước hoạt động và hệ thống servo, và nó
là sản phẩm điều khiển chuyển động chi phí thấp hiệu quả cao.

19
Hình 3.5Động cơ servo 86J18118EC-1000 + driver 2HSS86H

Thông số kỹ thuậtDriver Hybrid SERVO 2HSS86H:

 Điện áp vào: 20-70DC, 30-100VDC, Dòng ra: 8A


 Dòng vào logic: 10mA, Tần số xung vào: 200KHz
 Kích thước: 150mm x 97.5mm x 53mm, Khối lượng:580g
 Đầy đủ khép kín-điều khiển vòng lặp
 Động cơ tiêu chuẩn 1000 dòng mã hóa
 Close để 100% của các đầu ra mô-men xoắn
 Đáp ứng tốc độ cao và tốc độ cao
 Có một loại phương pháp đầu vào dưới vị trí các chế độ điều khiển: Xung
+ hướng: xung + theo hướng ngược lại: Đối xung
 Quang học bị cô lập servo đầu vào thiết lập lại giao diện ERC
 Quang học bị cô lập lỗi báo động giao diện đầu ra ALM
 Hiện tại vòng băng thông: (-3dB) 2 kHz (giá trị điển hình)
 Tốc độ vòng lặp băng thông: 500 Hz (giá trị điển hình)
 Vị trí vòng băng thông: 200 Hz (giá trị điển hình)
 Bộ mã hóa động cơ đầu vào sau thẳng đứng: đầu vào khác biệt (26LS32)
 RS232 giao tiếp nối tiếp có sẵn đề tải về hoặc thay đổi các thông số

20
 Quá dòng, 12t, quá áp, dưới áp, quá nhiệt, chạy quá tốc độ, over-khác biệt
bảo vệ

Thông số kỹ thuật động cơ 86J18118EC-1000:.

 Bước góc: 1 , 80
 Mô-men xoắn: 8,5 N.m
 Rated hiện tại: 4,2A
 Giai đoạn kháng: 0,72 
 Giai đoạn điện cảm: 5,5mH
 Định vị thời điểm: 4000 gcm

 Rotor quán tính: 4000 g  cm


2

 Lớp cách điện: B


 Number của chì: 4
 Trọng lượng: 4,4kg
 Chiều dài: 145m
 Tốc độ định mức: 1000
 Tốc độ max: 2000

1.7.6 Module relay 5VDC


Relay (rơ-le) là một công tắc, khác với công tắc ở một điểm cơ bản là
relay được kích hoạt bằng điện thay vì phải sử dụng tay người. Chính vì đó, relay
là công tắc điện tử. Một module realy được cấu tạo từ 2 linh kiện cính là rơ-le và
transitor. Trên thị trường có 2 loại module relay: module relay đóng ở mức thấp
và module relay đóng ở mức cao. Sở dĩ có sự khác biệt này do transitor, transitor
gồm 2 loại NPN - kích ở mức cao và PNP - kích ở mức thấp.

Một rơ-le bình thường có 6 chân, trong đó 3 chân để kích, 3 chân còn lại
nối với thiết bị đóng ngắt công suất cao.

21
Hình 3.6 Module relay 5VDC.

 Ba chân dùng để kích:


 VCC: cấp tín hiệu điện thế kích tối ưu cho chân này.
 GND: nối với cực âm.
 IN: chân tín hiệu, có nhiệm vụ kích rơ-le.
 Ba chân còn lại nối với thiết bị đóng ngắt công suất cao:
 COM: chân nối với chân bất kỳ của thiết bị, nên nối vào chân lửa
nếu là nguồn xoay chiều hoặc cực dương nếu là nguồn một chiều.
 NO: tiếp điểm thường mở, thay đổi trạng thái khi có tín hiệu kích.
 NC: tiếp điểm thường đóng, thay đổi trạng thái khi có tín hiệu
kích.

Thông số kỹ thuật:

 Điện áp hoạt động: 5VDC.


 Dòng tiêu thụ: 200mA.
 Tín hiệu kích: Low(0V).
 Tiếp điểm đóng ngắt max: 250VAC-10A hoặc 30VDC-10A.

1.8

22
1.8.1 Arduino IDE
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại
nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần
mềm. Môi trường lập trình đơn giản và dễ sử dụng, ngôn ngữ lập trình dễ sử
dụng dựa trên nền tảng C/C++ quen thuộc. Bênh cạnh đó còn có những thư viện
phong phú như: EEPROM, Firmata, GSM, servo, TFT, Wifi, …Và các mảng thư
viện có sẵn này càng đa dạng nhờ ssuwj đóng góp của cộng đồng Arduino trên
toàn thế giới.

Hình 3.7 Phần mềm Arduino IDE.

Arduino IDE là phần mềm dùng để lập trình cho Arduino. Môi trường lập
trình Arduino IDE có thể chạy trên ba nền tẳng phổ biến hiện nay là Windows,
Linux và MAC OS. Do có tính chất nguồn mở nên môi trường lập trình này hoàn
toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.

Ngôn ngữ lập trình này có thể được mở rộng thông qua các thư viện C++. Và
do ngôn ngữ này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn
toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn.

23
1.8.2 Visual Studio 2017
Visual Studio là một môi trường phát triển tích hợp từ Microsoft. Nó được
sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như
các trang web và các dịch vụ web. Visual Studio sử dụng nền tảng phát triển
phần mềm của Microsoft như Windows API, Windows Forms, Windows Store,
Windows Presentation Foundation.

Hình 3.8 Phần mềm Visual Studio 2017.

Windows Forms thường được viết tắt là Winforms nó là thuật ngữ chỉ việc
phát triển các ứng dụng giao diện người dùng bằng cách sử dụng các thành phần
xây dựng sẵn còn gọi là các điều khiển. Nói một cách dễ hiểu Winforms cho
phép tạo GUI cho các ứng dụng chạy trên desktop.

Winforms cho phép người phát triển tạo ra các giao diện người sử dụng các
thành phần khác nhau trên nền .NET Framework và không gian
System.Windows.Forms . Các thành phần này được gọi là các điều khiển. Những
điều khiển này cho phép chúng ta thu nhập thông tin từ người dùng cũng như
hiển thị các thông tin để người sử dụng có thể xem.

24
1.8.3 Microsoft SQL Server 2017
SQL Server hay còn gọi là Microsoft SQL Server, viết tắt là MS SQL
Server. Đây là một phần mềm được phát triển bởi Microsoft dùng để lưu chữ trả
dữ liệu trên chuẩn RDBM, và nó cũng là ột hệ quả trị cơ sở dữ liệu quan hệ đối
tượng (ORDBMS).

Hình 3.9 Phần mềm Microsoft SQL Server 2017.

SQL Server cung cấp đầy đủ công cụ để quản lý, từ giao diện GUI cho đến
việc sử dụng ngôn ngữ truy vấn SQL. Ngoài điểm mạnh của nó là Microsoft có
nhiều nền tảng kết hợp hoàn hảo với SQL Server như ASP.NET, C# xây dựng
Winform, bởi vì nó hoạt độc hoàn toàn độc lập.

Chung quy lại khi ta sử dụng bất kì một hệ quản trị CSDL nào cũng để lưu
trữ dữ liệu và SQL cũng không là ngoại lệ. Truy nhiên điều mà ta mong đợi ở nó
là các tính năng giúp việc sử dụng hiệu quả hơn:

 Cho phép tạo nhiều cơ sở dữ liệu.


 Duy trì lưu trữ bền vững.
 Bảo mật cao.
 Phân tích dữ liệu bằng SSAS.
 Tạo ra được báo cáo bằng SSRS.

25
 Thực hiến quá trình ETL bằng SSIS.

LẬP TRÌNH ĐIỀU KHIỂN, THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

1.9 Lập trình Arduino

1.9.1 Sơ đồ khối

MÁY TÍNH

CẢM BIẾN ARDUINO MODULE


RELAY, SERVO

Hình 4.1 Sơ đồ khối lập trình Arduino

1.9.2 Chức năng các khối


Cảm biến: có chức năng phát hiện vật khi vật đi qua và gửi giá trị đo cho
Arduino.
Arduino R3 Atmega 328P: có chức năng đọc giá trị từ cảm biến E18-
D80NK, gửi tín hiệu lên máy tính qua cổng COM, sau đó nhận tín hiệu điều
khiển từ máy tính và thực hiện việc điều khiển module relay và các động cơ
servo.
Module relay, servo: khi có tín hiệu điều khiển module relay thực hiện việc
đóng mở động cơ, còn động cơ servo hoạt động gạt các sản phẩm trên băng tải
xuống thùng chứa.
Máy tính: nhận tín hiệu từ Arduino gửi lên và gửi tín hiệu điều khiển xuống
Arduino thông qua cổng COM sau khi nhận dạng và phân loại được mã QR, hiển
thị giao diện người dùng.
1.9.3 Lập trình và upload chương trình cho Arduino

 Mở phần mềm Arduino, trong khung soạn thảo tiến hành soạn thảo
chương trình.

26
 Chọn Ctrl + U để upload chương trình vào Arduino.

Hình 4.2 Upload chương trình cho Arduino.


1.9.4 Sơ đồ kết nối phần cứng
Arduino A2 A3 10 11 12 13 GN
pin D
Servo 1 white GN VCC
D
Servo 2 white GN VCC
D
Sensor 1 black GN VCC
D
Sensor 2 black GN VCC
D
Sensor 3 black GN VCC
D
Module IN GN VCC
relay D

1.10 Hệ thống quản lý sản phẩm

1.10.1 Tổng quát


Hệ thống cần có cơ sở dữ liệu để đối chiếu với các mã QR đọc được bằng
camera rồi so sánh với các mẫu có sẵn, sau khi đối chiếu xong sẽ tiến hành phân
loại theo từng nhóm. Nếu sử dụng theoo các thủ công thì các mã đã được phân

27
loại sẽ được sao lưu vào sổ sách bằng việc ghi chép và kiểm kê. Do đó hệ thống
quản lý cần phải sửa đổi lại cơ chế hoạt động và nâng cao hiệu quả.
Giải pháp được đưa ra ở đây là:
 Cần tổ chức lại cơ cấu quản lý, sử dụng máy tính thay cho các công việc
thủ công.
 Việc báo cáo, thống kê được xử lý nhờ máy tính.

Dữ liệu đầu vào là nguồn thông tin được đưa vào máy tính để xử lý, bao
gồm các thông tin sau:
 Tên tài khoản, mật khẩu đăng nhập hệ thống.
 Thông tin về sản phẩm.

Dữ liệu đầu ra là các thông tin sau khi xử lý, bao gồm các thông tin sau:
 Bảng thống kê báo cáo.
 Bảng danh sách hàng hóa.

1.10.2 Biểu đồ cấu trúc dữ liệu theo mô hình quan hệ

 Danh sách các thuộc tính: UserName, Password, FullName, MaQR,


MaKhach, TenKhach, DiaChi, DienThoai, DienGiai.
 Danh sách thuộc tính lặp: MaQR, MaKhach, TenKhach, DiaChi,
DienThoai, DienGiai.
 Danh sách các phụ thuộc hàm:
 UserName → Password, FullName.
 MaQR → MaKhach, TenKhach, DiaChi, DienThoai, DienGiai.

1.10.3 Biểu đồ phân cấp chức năng

Quản lí hệ thống

QL NGƯỜI SỬ DỤNG QL HÀNG HÓA THỐNG KÊ BÁO CÁO

28
Hình 4.3 Biểu đồ phân cấp chức năng.
Ý nghĩa của từng chức năng trong hệ thống:
 Quản lý người sử dụng: cung cấp thông tin về người đăng nhập hệ thống.
 Quản lý hàng hóa: cung cấp thông tin về hàng hóa cho nhà quản lý khi có
yêu cầu.
 Thống kê, báo cáo: thống kê danh sách hàng hóa sau khi đã được nhận
dạng và phân loại.

1.10.4 Từ điển dữ liệu

Bảng 4.1 Từ điển dữ liệu cơ sở dữ liệu SQL.

Thuộc tính
Tên bảng Tên cột Kiểu dữ liệu Miêu tả
UserName nchar (50) Tài khoản
UserSystem Password nchar(50) Mật khẩu
FullName nvarchar(50) Tên đầy đủ
MaQR nvarchar(50) Mã QR
HangHoa MaKhach nchar(50) Mã khách
HaNoi TenKhach nvarchar(50) Tên khách
NgheAn DiaChi nvarchar(250) Địa chỉ
TpHcm DienThoai nvarchar(50) Điện thoại
DienGiai nvarchar(250) Diễn giải

1.10.5 Tạo cơ sở dữ liệu


− Mở Microsoft SQL Server 2017, chọn Server name → Authentication →
Connect.

29
Hình 4.4 Kết nối tới cơ sở dữ liệu SQL.
− Trong cửa sổ Object Explorer → chuột phải vào Database → nhập
Database name → chọn đường dẫn ở mục Path → chọn Ok.

Hình 4.5 Tạo database và chọn đường dẫn.

− Tạo các bảng: Trong cửa sổ Object Explorer, chọn tên cơ sở dữ liệu, nháy
phải chọn Tables, chọn Add New Table.
 Bảng HaNoi/NgheAn/TpHcm :

Hình 4.6 Tạo bảng trong database.

30
 Bảng UserSystem.

Hình 4.7 Tạo bảng UserSystem trong database.


 Bảng HangHoa

Hình 4.8 Tạo bảng Ba Đình trong database.

1.11 Sơ lược về QR Code

QR code (mã QR) được tạo ra bởi Denso Wave (công ty con của Toyota)
vào năm 1994, có hình dạng bao gồm các điểm đen và các ô vuông nằm trong ô
vuông ngẫu nhiên trên nền trắng.
Tiêu chuẩn Nhật Bản cho các mã QR là JIS X 0510, được công bố vào tháng
1 năm 1999, và tiêu chuẩn ISO tương ứng là ISO/IEC 18004, được chấp thuận
vào tháng 6 năm 2000.

31
Hình 4.9 Mã QR Code.
QR Code viết tắt của cụm từ tiếng Anh Quick Response Code (tạm dich ‘Mã
phản hồi nhanh’) hay còn gọi là mã vạch ma trận (matrix-barcode) là dạng mã
vạch hai chiều có thể được đọc bởi một máy đọc mã vạch hay smartphone (điện
thoại thông minh) có chức năng chụp ảnh với ứng dụng chuyên biệt để quét mã
vạch.
Một mã QR có thể chứa đựng một thông tin địa chỉ web, thời gian diễn ra 1
sự kiện, thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội dung ký
tự văn bản hay thậm chí là thông tin định vị vị trí địa lý. Tùy thuộc vào thiết bị
đọc mã vạch QR mà bạn dùng khi quét, nó sẽ dẫn đến một trang web, thực hiện
một cuộc gọi, xem tin nhắn…
Cấu trúc chung của một mã QR:

Hình 4.10 Cấu trúc chung của mã QR.


Điểm khác nhau giữa QR và mã vạch truyền thống là lượng dữ liệu chúng
nắm giữ hay chia sẻ. Các mã vạch truyền thống có các vạch thẳng dài một chiều
và chỉ có thể lưu giữ 20 số chữ số. Mã QR nắm giữ nhiều thông tin hơn và tính
chất dễ sử dụng sẽ giúp ích rất nhiều cho người dùng trong mọi lĩnh vực. Ngoài
ra, QR code có lợi thế hơn do có thể đọc được cả hai chiều cả ngang và dọc và từ
bất kỳ hướng nào mà không bị ảnh hưởng bởi chất liệu hay nền mà nó đang sử
dụng. Chính vì thế mà QR code đang là xu hướng hiện nay và dần thay thế cho
Bar code truyền thống.

32
Hình 4.11 Điểm khác nhau giữa mã QR và mã vạch truyền thống.
Để đảm bảo rằng thông tin chứa trong Mã QR có thể được đọc ngay cả khi
nó bị hỏng, các khóa dữ liệu bao gồm các bản sao (dư thừa). Vì vậy, lên đến 30%
cấu trúc Mã có thể bị phá hủy mà không ảnh hưởng đến khả năng đọc của Mã
QR.

Hình 4.12 Các cấp độ hư hỏng của mã QR có thể đọc được.


Có thể nhập tối đa 7089 chữ số hoặc 4296 ký tự, bao gồm dấu câu và ký tự
đặc biệt trong một Mã. Ngoài các số và ký tự, từ và cụm từ (ví dụ: địa chỉ
Internet) cũng có thể được mã hóa. Khi có thêm dữ liệu được thêm vào Mã QR,
kích thước Mã tăng lên và cấu trúc Mã trở nên phức tạp hơn.
Đối với từng loại dữ liệu thì có thể mã hóa được cụ thể số lượng như sau:
 Số đơn thuần: Tối đa 7.089 kí tự
 Số và chữ cái: Tối đa 4.296 kí tự.

33
 Số nhị phân (8 bit): Tối đa 2.953 byte.
 Kanji/Kana: Tối đa 1.817 ký tự.

Để thuận tiện cho quá trình quản lý và phân loại mã QR, nhóm sẽ đặt nội
dung mã QR theo cấu trúc sau để tiện cho quản lý và phân loại:

1 1 0 0 0 1 9 1 0 1 0

Mã ZIP của bưu Hai số Mã đơn hàng


cục cuối của
năm

Hình 4.13 Cấu trúc mã QR.


1.11.1 Xây dựng hệ thống giao tiếp với thiết bị ngoại vi (CAM
ARDUINO)
Để phục vụ cho quá trình thu nhận và xử lý mã QR, đề tải viết chương trình
trích xuất ảnh từ video của camera sau mỗi khoảng thời gian đặt trước sử dụng
thư viện mở rộng AForge.NET. AForge.NET là nền tảng C# thiết kế cho các nhà
phát triển hoặc nghiên cứu trong lĩnh vực thị giác máy và trí tuệ nhân tạo- xử lý
ảnh, mạng thaaffn kinh nhân tạo, các thuật toán di truyền, logic mở, học máy,
robot. Sau đây là lưu đồ giải thuật của chương trình.

34
Kết nối

Chọn

Gửi tín hiệu mở relay


Mở cam, timer cam
Trích xuất ảnh

SerialPort
S
IsOpen
Chưa kết nối

Đã kết nối
cam

S
Ngắt kết nối

Ngắt ĐC
Dừng Cam Kết thúc
Đóng SerialPort

Hình 4.17Lưu đồ thuật toán kết nối camera qua cổng serialport .

35
Trong quá trình thực nghiệm, đề tài thấy rằng để việc đọc mã QR ổn định và
cụ thể là mã QR thì chỉ cần đặt thời gian trích xuất ảnh từ video là 100 ms là có
thể cho kết quả chính xác với tỷ lệ lỗi thấp.
Cùng với đó khi chương trình trích xuất ảnh bắt đầu sẽ kích hoạt chương
trình giao tiếp với Arduino. Khi giao tiếp với Arduino ta sử dụng một cổng
SerialPort để xác định. Xem Arduino được kết nối hay chưa, việc kiểm tra này
được thực hiện trông mỗi.

1.11.2 Chuyển đổi ảnh trích xuất sang dạng chuỗi và kết hợp SQL để
xử lý
Trên cơ sở các kiến thức đã trình bày về mã QR ở trên. Nhằm giảm thời
gian nghiên cứu, thiết kế xây dựng chương trình để nhận dạng và đọc mã QR,
nhóm đã lựa chọn sử dụng thư viện mở rộng BarcodeLib.BarcodeReader.dll của
BarcodeLib.

BarcodeLib.BarcodeReader.dll là thư viện nhận diện và đọc mã QR hiện


đại hỗ trợ nhiều ký hiệu mã vạch 1D và 2D, tỷ lệ công nhận cao, tốc độ đọc
nhanh, hỗ trợ đọc hình ảnh mã vạch TIFF niều trang trog các ứng dụng .NET và
thư viện được viết 100% bằng C# 2005.
Thông tin sau khi khách đặt hàng sẽ được lưu lại và được mã hóa theo cấu
trúc ở trên kèm theo thông tin mỗi mã ứng với một mã QR. Ảnh được trích xuất
sẽ được đưa tới thư viện mở rộng BarcodeLib.BarcodeReader.dll để chuyển đội
sang nội dung dưới dạng chuỗi và lưu thông tin đó trong mản một chiều. Sau đó
kết nối với cơ sở dữ liệu SQL để đối chiếu mã thu được có khớp với danh mục
mã đã đưa vào không. Nếu mã thu được ở dạng chuỗi thu được khớp với cơ sở
dữ liệu, thì tiến hành qua thuật toán phân loại theo từng loại. Các ký tự đầu của
mã sẽ được đem so sánh với các mã của các bưu cục tổng của từng nơi. Nếu mã
đó khớp với mã bưu cục thì thông tin của mã đó sẽ được chuyển vào bảng riêng.
Những thông tin của mã cũng được lấy đưa vào bảng mới từ đó thuận lợi hơn cho
việc giao hàng sau này.
Dưới đây là sơ đồ thuật toán của chương trình:

36
Kết nối

Nhận ảnh trích xuất


Chuyển thông tin sang chuỗi

Kết nối CSDL


S
Báo lỗi

Đ
S So sánh thông tin với CSDL

11100 11500
1100
-Ghi thông tin -Ghi thông tin
-Tăng số lượng -Ghi thông tin -Tăng số lượng
-Lấy dữ liệu mã -Tăng số lượng -Lấy dữ liệu mã
them vào CSDL -Lấy dữ liệu mã thêm vào CSDL
-Kích hoạt động cơ thêm vào CSDL -Kích hoạt động cơ
servo servo

Ngắt kết nối


Kết thúc

37
Hình 4.17Lưu đồ thuật toán xử lý mã QR từ ảnh trích xuất .

1.12 Thiết kế giao diện người dùng

1.12.1 Form đăng nhập


− Tên form : frmLogin.

Hình 4.14 Giao diện form đăng nhập.

− Các thành phần chính của form đăng nhập.


Bảng 4.2 Các thành phần form đăng nhập.

Điều khiển Name Text


Button btnDangNhap Đăng nhập
btnThoat Hủy bỏ
Textbox txtUserName
txtPassWord
lblX1 Đăng nhập hệ thống
Label lblX2 Tên đăng nhập
lblX3 Mật khẩu

1.12.2 Form chính


− Tên form : frmCenter.
− Các thành phần chính của form chính
Bảng 4.3 Các thành phần của form chính.

38
Điều khiển Name Text
ribbonTabItem1 Hệ thống
ribbonTabItem2 Danh mục
ribbonTabItem ribbonTabItem3 Chức năng
ribbonTabItem4 Báo cáo
ribbonTabItem5 Trợ giúp
btnDoiMatKhau Đổi mật khẩu
btnSaoLuuKhoiPhuc Sao lưu khôi phục
btnThoatDangNhap Thoát đăng nhập
Button btnHangHoa Hàng hóa
btnKetNoi Phân loại
btnHaNoi Hà Nội

1.12.3 UserControl đổi mật khẩu


− Tên form : UDCDoiMatKhau

Hình 4.15 Giao diện UC đổi mật khẩu.

− Các thành phần chính của UDCDoiMatKhau


Bảng 4.4 Các thành phần của UC đổi mật khẩu.

Điều khiển Name Text


Button btnDongY Đồng ý
btnThoat Thoát
39
Group Panel groupPanel1 Đổi mật khẩu đăng nhập
lblX2
lblX1 Tên đăng nhập
Label lblX3 Mật khẩu cũ
lblX4 Mật khẩu mới
lblTenDangNhap Xác nhạn mật khẩu mới
txtNhapLaiMatKhauMoi
Textbox txtMatKhauMoi
txtMatKhauCu
1.12.4 UserControl sao lưu khôi phục dữ liệu
− Tên UserControl: UCSaoLuuKhoiPhuc

Hình 4.16 Giao diện UC sao lưu khôi phục dữ liệu.

− Các thành phần chính của UCSaoLuuKhoiPhuc


Bảng 4.5 Các thành phần của UC sao lưu khôi phục dữ liệu.

Điều khiển Name Text


Button btnTimKiem Tìm kiếm
btnThucHien Thực hiện
Radio Button rdoSaoLuu Sao lưu dữ liệu
rdoKhoiPhuc Khôi phục dữ liệu
Label lblThuMuc Thư mục
Textbox txtDuongDan

40
1.12.5 UserControl phân loại sản phẩm
− Tên usercontrol: UCKetNoi

Hình 4.17 Giao diện của UC kết nối.

− Các thành phần chính của UserControl

Điều khiển Name Text


Group Panel groupPanel1 Kết nối ngooại vi
groupPanel2 Sản phẩm Phân loại
btnKetNoi Kết nối
Button btnNgatKetNoi Ngắt kết nối
btnLamMoi Làm mới data
lblCOM Cổng COM
lbl BaudRate BaudRate
Label lblCamera Camera kết nối
lblTrangThai Trạng thái
lblThoiGianHienThi Thời gian
lblHaNoi Hà Nội
lblNgheAn Nghệ An
lblTpHcm TP HCM
lblHaNoisl 0
lblNgheAnsl 0
lblTpHcmsl 0
Label lblTongPL 0
lblDauVao 0
lblX10 :sản phẩm

41
lblX12 :sản phẩm
LblX8 :sản phẩm
lblX13 :sản phẩm
lbl3 Phân loại/ Đầu vào
lblGachCheo /
cbbCOM
ComboBox cbbBaudRate
cbbCamera
ProgressBar proTrangThai
PictureBox videoSourcePlayer1
Bảng 4.6 Các thành phần của UC kết nối.
1.12.6 UserControl trợ giúp
− Tên usercontrol: UCTroGiup

Hình 4.18 Giao diện của UC trợ giúp.

− Các thành phần chính của UserControl

Điều khiển Name Text


Button btnTimKiem Tìm kiếm
btnGui Gửi Mail
lblTenDangNhap Tên đăng nhập
lblMatKhau Mật khẩu
Label lblToi Tới
lblChuDe Chủ đề

lblFileDinhKem File đính kèm


grp3 Người gửi E-mail

42
GroupPanel grp2 Người nhận E-mail
grp1 Chi tiết E-mail
GroupView grvNoiDung Nội dung
txtTenDangNhap
TextBox txtMatKhau
txtToi
txtChuDe
RichTextBox rtxtNoiDung
Group Panel groupPanel1 Trợ giúp
Bảng 4.7 Các thành phần của UC trợ giúp.

XÂY DỰNG MÔ HÌNH HỆ THỐNG VÀ THỰC NGHIỆM

1.13 Xây dựng mô hình

Nguyên lý hoạt động :


− B1 : Đưa sản phẩm chứa mã vạch lên bang tải
− B2 :Các sản phẩm sẽ di chuyển trên băng tải nhờ động cơ DC ở đầu
băngtải, khi đi qua vị trí của cảm biến, sản phẩm sẽ được đưa tới vị trí
camera.
− B3 :Trích xuất và xử lý ảnh, đưa ra các dự đoán về ảnh và
phânloạitínhiệu,gửitínhiệu cho Arduinođểxácđịnhtay gạtnàosẽhoạt động
để gạt sản phẩm ra khỏi băngtải.
1.14 Kết quả

43

You might also like