Đồ án tốt nghiệp chuyên ngành cơ điện tử ứng dụng xử lý ảnh vào quản lý và phân loại sản phẩm theo mã QR code. Trong đồ án, nhóm thực hiện đã tiến hành phân tích, tính toán, lựa chọn các chi tiết, thành phần cho hệ thống cơ khí và hệ thống điều khiển. Sau khi tính toán, nhóm tiến hành xây dựng mô hình thực nghiệm kết nối các chi tiết cơ khí với nhau và với động cơ servo. Sau khi tiến hành chạy thực nghiệm bằng mô hình, về cơ bản hệ thống đã nhận diện và phân loại được, đạt 10 sản phẩmphút.
TỔNG QUAN VỀ QUẢN LÝ, PHÂN LOẠI SẢN PHẨM ỨNG DỤNG XỬ LÝ ẢNH
Đặt vấn đề
Sự phát triển của công nghiệp 4.0 đã thúc đẩy việc sử dụng mã QR code để truy xuất thông tin sản phẩm, mang lại sự tiện lợi và nhanh chóng Mã QR đang trở thành công cụ phổ biến trong nhiều lĩnh vực, giúp người tiêu dùng dễ dàng mua sắm trực tuyến mà không cần phải đến tận nơi Trong thời đại công nghệ hiện đại, việc mua sắm từ xa trở nên đơn giản hơn bao giờ hết, tiết kiệm thời gian cho những người bận rộn và ngại di chuyển Điều này đã dẫn đến sự bùng nổ mạnh mẽ của các dịch vụ giao hàng, phục vụ nhu cầu của khách hàng thông minh.
Việc phân loại hàng ngàn sản phẩm mỗi ngày có thể trở nên nhàm chán và mệt mỏi Do đó, việc áp dụng các hệ thống điều khiển tự động cho từng phần hoặc toàn bộ quy trình sản xuất là cần thiết để nâng cao năng suất, chất lượng và sự ổn định trong sản xuất.
Trong bối cảnh kinh tế thị trường và hội nhập toàn cầu, cạnh tranh trở thành yếu tố sống còn, đặc biệt trong lĩnh vực dịch vụ giao hàng tại Việt Nam Hiện nay, việc cạnh tranh về chất lượng dịch vụ, tốc độ giao hàng, tính thẩm mỹ và giá cả hợp lý là rất quan trọng để thu hút khách hàng Để nâng cao các yếu tố cạnh tranh này, cần áp dụng công nghệ tiên tiến vào quy trình sản xuất nhằm cải thiện chất lượng và giảm chi phí Các giải thuật xử lý ảnh hiện nay hướng tới việc nhận diện sản phẩm giống như con người, với ứng dụng quét mã QR và xử lý thông tin sản phẩm Khi camera và cảm biến nhận diện sản phẩm, thông tin sẽ được truyền đến máy tính và bộ điều khiển, giúp quản lý và phân loại sản phẩm một cách nhanh chóng và chính xác.
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à một công cụ tự động hoặc bán tự động, giúp phân chia các sản phẩm thành các nhóm dựa trên những thuộc tính tương đồng Mục tiêu của hệ thống này là để thực hiện các quy trình phân loại, đóng gói hoặc loại bỏ các sản phẩm bị 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àu sắc sử dụng cảm biến màu sắc hoặc camera để nhận diện và phân loại sản phẩm dựa trên màu sắc của chúng Phương pháp này được áp dụng phổ biến trong dây chuyền chế biến gạo xuất khẩu, giúp phân loại gạo sau khi xay xát Ngoài ra, hệ thống này còn được sử dụng trong sản xuất vật liệu xây dựng, như gạch ốp lát và vật liệu trang trí, nhằm đảm bảo phân loại chính xác màu sắc của sản phẩm.
Hệ thống phân loại sản phẩm theo trọng lượng sử dụng cân điện tử đặt trên băng tải để phân loại sản phẩm dựa vào trọng lượng của chúng Phương pháp này thường được áp dụng trong ngành chế biến thủy hải sản như tôm, cá và mực.
Hệ thống phân loại sản phẩm theo hình dáng kích thước được thực hiện dựa trên kích thước của sản phẩm, như lớn hay nhỏ, cao hay thấp Phương pháp này thường được áp dụng trong các dây chuyền chế biến và xay xát lương thực, thực phẩm, bao gồm các loại như lúa, ngô, lúa mì, sắn và khoai tây.
Hệ thống phân loại sản phẩm theo hình dáng là phương pháp phân loại dựa vào các hình dạng như tròn, vuông, hay chữ nhật Phương pháp này thường được áp dụng trong các dây chuyền sản xuất hiện đại và công nghệ cao, chẳng hạn như lắp ráp tự động trong ngành ô tô và điện tử Việc sử dụng hệ thống này giúp tăng năng suất và giảm chi phí nhân công hiệu quả.
Hệ thống phân loại sản phẩm theo khuyết tật dựa trên các yếu tố như vết nứt và bọt khí Phương pháp này thường áp dụng công nghệ như sóng siêu âm, dòng Foucault (chỉ dành cho vật liệu mỏng) và X-Ray Các kỹ thuật này được sử dụng rộng rãi trong nhiều ngành sản xuất vật liệu đúc, bao gồm đồng, nhôm và sứ.
Hệ thống phân loại sản phẩm dựa trên vật liệu bao gồm việc phân loại sản phẩm thành phi kim và kim loại Phương pháp này thường sử dụng hiện tượng cảm ứng điện từ để phân biệt các sản phẩm có lẫn kim loại Nó được áp dụng rộng rãi trong các dây chuyền sản xuất thực phẩm như bánh kẹo, thủy sản và ngũ cốc.
Hệ thống phân loại sản phẩm theo mã vạch là phương pháp sử dụng mã vạch để phân loại sản phẩm, trong đó mã vạch chứa thông tin chi tiết về từng sản phẩm Phương pháp này thường áp dụng camera để quét hình ảnh và được sử dụng phổ biến trong các dây chuyền phân loại thư, bưu kiện và hàng hóa giao gửi Có rất nhiều hệ thống và phương pháp phân loại sản phẩm khác nhau, và dưới đây sẽ là một số phương pháp phổ biến nhất.
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ệ thống hoạt động dựa trên nguyên lý sử dụng các cảm biến quang được xếp chồng theo chiều dọc, giúp phân biệt chiều cao của sản phẩm thông qua các mức tương ứng với số lượng cảm biến.
Khi sản phẩm di chuyển trên băng chuyền, nếu chỉ qua cảm biến quang thứ nhất mà chưa kích hoạt cảm biến thứ hai, sản phẩm sẽ được phân loại là vật thấp Ngược lại, nếu sản phẩm qua cả hai cảm biến đồng thời, nó sẽ được phân loại là vật cao.
Số lượng cảm biến quang càng nhiều, hệ thống sẽ phân biệt được nhiều mức độ cao thấp hơn Hệ thống này có ưu điểm là hoạt động với tốc độ cao, dễ dàng trong việc vận hành và bảo trì, đồng thời có chi phí 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 của sản phẩm trên dây chuyền là nhận diện thông qua cảm biến dựa trên nguyên lý khuyếch tán Khi ánh sáng trắng được chiếu lên bề mặt, quá trình nhận diện diễn ra hiệu quả.
Trong thực tế, có nhiều loại cảm biến màu sắc khác nhau, tùy thuộc vào độ phức tạp của sản phẩm cần phân loại Hệ thống cảm biến màu sắc bao gồm cảm biến đơn giản, cảm biến công nghiệp và cảm biến thông minh Việc nhận biết màu sắc trong hệ thống này phụ thuộc nhiều vào ánh sáng môi trường, do đó, cần cách ly ánh sáng bên ngoài để giảm thiểu sai số trong quá trình phân loại sản phẩm.
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 camera thu nhận hình ảnh và xử lý theo yêu cầu của nhà sản xuất, bao gồm nhận diện sản phẩm, kiểm tra kích thước, màu sắc và hình dáng Với khả năng linh hoạt, hệ thống này có thể phân loại và kiểm tra nhiều thông tin khác nhau, phục vụ cho nhiều lĩnh vực công nghiệp Tuy nhiên, hệ thống này có độ phức tạp cao và chi phí đầu tư tương đối lớn.
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:
Bộ phận thu thập thông tin ảnh bao gồm hệ thống camera cần đảm bảo độ chiếu sáng phù hợp để xử lý và ra quyết định nhanh chóng, chính xác nhất.
TÍNH TOÁN THIẾT KẾ HỆ THỐNG CƠ KHÍ
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 sau
Kiểm tra phân loại được các sản phẩm có kích thước, hình dạng khác nhau.
Hệ thống cần đảm bảo độ cứng vững và rung động ít.
Có hệ thống chiếu sáng giảm tối đa yếu tố nhiễu.
Thiết kê thuận tiện cho tháo lắp, bố trí bộ điều khiển và các bộ phận khác.
Có khả năng phân loại sản phẩm về từng khu vực chính xác.
Hình 2.1 Sản phẩm tiến hành phân loại.
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.
Mô hình đề xuất
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ề 5 khu vực khác nhau.
Hình 2.2 Mô hình đề xuất.
Mô hình đề xuất có cấu tạo bao gồm:
Phần khung bằng nhôm định hình
Với mô hình đã đề xuất, nhóm tiến hành thiết kế, chọn lựa và tính toán các bộ phận chính của kết cấu ở phần tiếp theo dưới đây.
Lựa chọn, tính toán thiết kế các bộ phận của hệ thống cơ khí
Băng tải là phần thiết yếu trong hệ thống phân loại sản phẩm, có chức năng vận chuyển phôi đến vị trí thao tác Động lực chính của băng tải thường đến từ động cơ điện, động cơ một chiều, động cơ ba pha lồng sóc hoặc servo, tùy thuộc vào yêu cầu của hệ thống Để tạo ra mô men xoắn đủ lớn, cần kết nối trục động cơ với hộp giảm tốc trước khi ra tải Băng tải thường được làm từ vật liệu nhiều lớp, thường gồm hai lớp, trong đó lớp dưới chịu kéo và tạo hình, còn lớp trên là lớp phủ.
Hình 2.3 Băng tải trong công nghiệp. Ưu điểm của băng tải:
Cấu trúc của sản phẩm rất đơn giản và bền bỉ, cho phép vận chuyển dễ dàng cả theo hướng nằm ngang và nghiêng, hoặc kết hợp giữa hai hướng này.
Với vốn đầu tư không lớn, hệ thống này có khả năng tự động hóa, vận hành đơn giản và bảo dưỡng dễ dàng Nó hoạt động đáng tin cậy, mang lại năng suất cao và tiêu hao năng lượng không đáng kể so với các loại máy móc vận chuyển khác.
Hiện nay, trên thị trường có nhiều loại băng tải như băng tải vải cao su, băng tải lá, băng tải thanh đẩy và 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, bạn có thể lựa chọn một trong những loại băng tải này để tối ưu hóa quy trình vận chuyển.
Các loại băng tải xích, băng tải con lăn: Ưu điểm:
Độ ổn định cao khi vận chuyển
Đòi hỏi kết cấu cơ khí phức tạp
Đòi hỏi độ chính xác cao
Băng tải dạng cào là thiết bị lý tưởng để thu dọn phoi vụn, với năng suất đạt tới 1,5 tấn/h và tốc độ chuyển động 0,2 m/s Loại băng tải này có chiều dài không hạn chế trong phạm vi kéo 10 kN, mang lại sự linh hoạt và hiệu quả cho quá trình vận chuyển.
- Băng tải xoắn vít: có 2 kiểu cấu tạo:
Băng tải 1 buồng xoắn: được dùng để thu dọn phoi vụn Năng suất băng tải đạt 4 tấn/h với chiều dài 80 cm.
Băng tải 2 buồng xoắn gồm hai buồng xoắn song song, một buồng xoắn theo chiều phải và một buồng xoắn theo chiều trái Chuyển động xoay của các buồng xoắn được điều khiển bởi một tốc độ phân phối chuyển động, giúp tối ưu hóa quá trình vận chuyển.
Băng tải đai vải cao su được lựa chọn cho hệ thống vận chuyển sản phẩm vì tính năng vượt trội và độ bền cao Loại băng tải này đảm bảo hiệu quả trong việc di chuyển hàng hóa, đồng thời giảm thiểu rủi ro hư hỏng sản phẩm Sự linh hoạt và khả năng chịu tải tốt của băng tải đai vải cao su cũng là lý do quan trọng cho sự lựa chọn này.
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
Có thể dễ dàng hiệu chỉnh băng tải
Mặc dù băng tải này có nhiều ưu điểm, nhưng cũng tồn tại một số nhược điểm như độ chính xác trong quá trình vận chuyển không cao, tốc độ hoạt động chậm và đôi khi không ổn định do ảnh hưởng của nhiều yếu tố như nhiệt độ môi trường và sự giảm ma sát của dây đai theo thời gian.
2.3.2 Các thông số thiết kế
Các thông số thiết kế:
Nguồn lực gạt phôi: động cơ servo có tay gạt
Nguồn lực quay băng tải: động cơ điện 1 chiều
Thông số hình học phôi: Hình hộp a=b=h= 20 cm
Khối lượng phôi: Mmin=0,05 kg, Mmax=3 kg
Năng suất làm việc: N= 10 sp/ph
Đường kính tang băng tải: D (cm)
Thông số vành đai băng tải:
Chiều dài băng tải L= 300 cm
Chọn thời gian băng tải đặt tốc độ làm việc:
Diện tích tiết diện mặt cắt ngang: S ()
Hình 2.4 Sơ đồ hệ thống phân loại sản phẩm.
Hình 2.5 Đồ thị biểu diễn quá trình tăng tốc – giảm tốc của băng tải.
2.3.3 Tính toán sơ bộ dữ liệu đầu vào
Tính toán chọn dây đai: Đặc điểm của dây đai băng tải: vải cao su.
Hệ thống phân loại sản phẩm trong đồ án thiết kế này có kích thước nhỏ (L= 300 cm) và công suất không lớn, do đó, băng tải được chọn là loại băng làm từ vải dệt sợi bông, một lớp, với bề rộng 60 cm.
Chiều dầy lớp bọc cao su bề mặt làm việc của băng tải: lv 3(mm)
Chiều dầy lớp bọc cao su của bề mặt không làm việc của băng tải: klv 1(mm)
Chiều dầy của lớp màng cốt: m 1,5(mm)
Chiều dầy của băng tải: lv klv m.i 3 1 1,5.1 5,5(mm)
(Trong đó i là số lớp màng cốt)
Hình 2.6 Mặt cắt dây đai.
Bảng 2.1 Bảng khối lượng tiếng các loại vật liệu.
Trục tang (hay con lăn) được chọn làm bằng vật liệu thép cacbon C 45
Vậy ta chọn đường kính trục tang là: D0 mm.
Khối lượng riêng là: 1200 kg m / 3
2.3.4 Tính toán thiết kế chọn động cơ dẫn động băng tải
Khi chọn công suất động cơ cho thiết bị vận tải liên tục, thường dựa vào công suất cản tĩnh Chế độ quá độ không được tính do tần suất đóng cắt thấp, không ảnh hưởng đến chế độ tải của động cơ Phụ tải của thiết bị vận tải thường ổn định trong quá trình hoạt động, do đó không cần kiểm tra theo điều kiện quá tải Tuy nhiên, trong điều kiện làm việc nặng nề, cần phải kiểm tra theo điều kiện mở máy.
Phương pháp tính công suất động cơ cho băng tải bao gồm ba thành phần chính.
Công suất P1 để dịch chuyển vật liệu
Công suất P2 để khắc phục tổn thất do ma sát trong các ổ đỡ, ma sát giữa băng tải và các con lăn khi băng tải chạy không tải.
Công suất P3 để nâng băng tải (nếu băng tải nghiêng)
Giả định băng tải có khả năng chứa tối đa 3 sản phẩm cùng lúc, với chiều dài băng tải là 3000 mm Để đạt được năng suất làm việc N sản phẩm mỗi phút, băng tải cần di chuyển một quãng đường nhất định trong thời gian 1 phút.
(2.2) Vận tốc của băng tải là:
2.4 Độ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à:
Động cơ không đồng bộ là loại động cơ phổ biến trong ngành công nghiệp nhờ vào giá thành rẻ và khả năng chống quá tải Tuy nhiên, việc điều khiển tốc độ của loại động cơ này gặp nhiều khó khăn và tốn kém chi phí.
Động cơ servo được thiết kế đặc biệt cho các hệ thống hồi tiếp vòng kín, trong đó tín hiệu ra của động cơ kết nối với mạch điều khiển Khi động cơ hoạt động, tốc độ và vị trí sẽ được gửi trở lại mạch điều khiển Nếu có bất kỳ yếu tố nào cản trở chuyển động của động cơ, hệ thống hồi tiếp sẽ nhận diện rằng tín hiệu ra chưa đạt yêu cầu chính xác.
Tính toán chọn ổ lăn
Thời gian sử dụng ổ lăn: L h 5200h
Đường kính trục lắp với ổ lăn: d = 50 (mm)
Số vòng quay của trục:
Ổ lăn không chịu lực dọc trục mà chỉ chịu lực hướng tâm:
Vì ổ không chịu tác dụng của tải trọng dọc trục nên chọn ổ bi đỡ 1 dãy cỡ siêu nhẹ, vừa 1000099 có: C 2,10kN; C o 1,07kN (bảng P2.7.Phụ lục-[1])
Tỉ số F / C a o 0 theo bảng 11.4 –[1], e 0, 2 � , vì vòng trong quay nên V=1,
Theo 11.3-[1] với Y=0, ta có: Q X.V.F k k r t d 858,7.1.1,3.1 1116,3N Trong đó : k t 1;k d 1,3 (theo bảng 11.3-[1])
Theo bảng 6.4-[1], K HE 0,125 , do đó theo công thức 11.15-[1], ta có :
LhE 0,125.5200 650h và theo công thức 11.14-[1], ta có :
(2.15) Vậy ổ lăn chúng ta chọn là ổ bi đỡ 1 dãy với các thông số sau :
Kí hiệu ổ d (mm) D (mm) B (mm) R (mm) C (kN) C (kN) o
Động cơ servo tay gạt
Động cơ servo là một loại động cơ cụ thể kết hợp với bộ mã hóa quay (encoder) hoặc chiết áp để tạo thành cơ cấu servo Hệ thống này có thể trở thành một phần của các cơ cấu servo khác Chiết áp cung cấp tín hiệu analog đơn giản để chỉ ra vị trí, trong khi bộ encoder cung cấp thông tin về vị trí và tốc độ phản hồi Sử dụng bộ điều khiển PID giúp nâng cao độ chính xác trong việc điều khiển vị trí, từ đó đạt được vị trí ổn định nhanh chóng Dựa vào nguồn năng lượng, động cơ servo được chia thành hai loại: động cơ servo AC và động cơ servo DC.
Khi lựa chọn động cơ, người thiết kế cần xem xét nhiều yếu tố quan trọng như 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.
Hình 2.9 Các lực tác động lên vật
Trọng lực tác dụng lên vật:
Lực ma sát giữa vật và băng tải:
(2.17) Lực tác động bởi băng tải chuyển động:
(2.18) Áp dụng định luật II Newton ta có:
F.cos45 - F ms =m.a (2.19) Để gạt được sản phẩm thì lực của servo phải lớn hơn lực tác động lên vật, khi ấy momen của servo được tính:
Dựa vào thông số tính toán được ở trên ta chọn động cơ 86J18118EC-1000
Kết luận chương 2 Ở đây, đề tài sẽ tổng hợp lại các chi tiết, cụm chi tiết sử dụng cho mô hình ở thực nghiệm như bảng 2.4
Bảng 2.4 Danh sách các chi tiết sử dụng cho mô hình.
STT Tên chi tiết, cụm chi tiết Số lượng Vật liệu Kí hiệu
1 Nhôm định hình 100x2600 2 Nhôm ME01.01
2 Nhôm định hình 100x400 4 Nhôm ME01.02
3 Nhôm định hình chân băng tải 4 Nhôm ME01.03
4 Nhôm định hình 300x2600 2 Nhôm ME01.04
5 Ke góc nhôm 16 Nhôm ME01.05
6 Nhôm định hình 100x600 2 Nhôm ME01.06
11 Gá động cơ 1 Nhôm ME02.04
16 Dây đai 1 Cao su ME10.01
19 Trục con lăn động cơ 1 - ME10.04
21 Gá cảm biến 1 Nhựa ME04.02
HỆ THỐNG ĐIỆN – ĐIỀU KHIỂN
Các thành phần cơ bản của hệ thống điều khiển
Cảm biến siêu âm thường được sử dụng để phát hiện vật cản, nhưng chúng dễ bị nhiễu Để khắc phục nhược điểm này, đồ án đã áp dụng phương pháp sử dụng cảm biến hồng ngoại E18-D80NK nhằm phát hiện vật cản hiệu quả hơn.
Cảm biến hồng ngoại E18-D80NK hoạt động dựa trên ánh sáng hồng ngoại để phát hiện vật cản, mang lại độ phản hồi nhanh và ít nhiễu Thiết bị sử dụng mắt nhận và phát tia hồng ngoại với tần số riêng biệt, đồng thời cho phép điều chỉnh khoảng cách hoạt động thông qua biến trở ở đuôi cảm biến.
Đ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.
Thời gian hồi đáp: ~2ms.
Nhiệt độ môi trường làm việc: -25˚C ~ 50˚C.
Ngõ ra dạng NPN với cực thu hở cho phép tùy chỉnh điện áp ngõ ra, trong đó trở treo sẽ xác định mức điện áp đầu ra tương ứng.
Chất liệu vỏ cảm biến: Nhựa.
Hiển thị ngõ ra bằng Led.
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
Camera đóng vai trò quan trọng trong hệ thống phân loại nhờ xử lý ảnh, ảnh hưởng trực tiếp đến chất lượng hình ảnh thu được Chất lượng camera quyết định độ chính xác của quá trình nhận dạng mã QR.
Sau khi nghiên cứu kỹ lưỡng các thông số kỹ thuật và đặc tính của từng loại camera, nhóm đã quyết định chọn camera Logitech Webcam B525 để đáp ứng yêu cầu của đề tài.
Độ phân giải tối đa: Full HD 1080p (1920 x 1080 pixel).
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.
Arduino R3 ATmega 328P là một bo mạch được thiết kế với vi điều khiển AVR ATmega 328P làm bộ vi xử lý trung tâm Cấu trúc chính của Arduino R3 ATmega 328P bao gồm nhiều thành phần quan trọng.
Cổng USB là giao tiếp quan trọng cho việc tải chương trình từ PC hoặc Laptop lên vi điều khiển, đồng thời cũng cho phép truyền dữ liệu giữa vi điều khiển và máy tính thông qua giao tiếp serial.
Để cung cấp nguồn cho Arduino, bạn có thể sử dụng cổng USB, nhưng trong trường hợp không thể kết nối với máy tính, bạn có thể cấp nguồn từ 9VDC đến 12VDC 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).
Vi điều khiển AVR là bộ xử lý chính của bo mạch Arduino, với mỗi mẫu Arduino sử dụng các loại chip khác nhau Cụ thể, mạch Arduino này sử dụng chip ATmega 328P.
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.
3.1.4 Module Buck DC-DC dùng XL4016
Module Buck DC-DC XL4016 là một giải pháp giảm áp hiệu quả, cho phép điều chỉnh dòng ra tối đa lên đến 8A Khi cung cấp nguồn 24V vào module, người dùng có thể nhận được điện áp đầu ra thấp hơn 24V với cường độ dòng điện tối đa đạt 8A.
Hình 3.4 Module Buck DC-DC dùng XL4016.
Điện áp đầu vào: 4 - 40VDC.
Điện áp đầu ra: 1.25 – 36VDC.
Dòng ra lớn nhất: 8A nên dùng tối đa 5A
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.
3.1.5 Động cơ servo tay gạt và driver điều khiển Độ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 chọn động cơ, người thiết kế cần xem xét nhiều yếu tố quan trọng như 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 để đảm bảo hiệu suất tối ư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ệ servo vào driver kỹ thuật số, sử dụng phương pháp điều khiển 3 vòng điển hình: 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 kết hợp ưu điểm của cả bước hoạt động và hệ thống servo, mang lại giải pháp điều khiển chuyển động hiệu quả với chi phí thấp.
Hình 3.5 Động cơ servo 86J18118EC-1000 + driver 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ố
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:.
Giai đoạn điện cảm: 5,5mH
Định vị thời điểm: 4000 gcm
Rơ-le là một loại công tắc điện tử, được kích hoạt bằng điện thay vì bằng tay Một module rơ-le bao gồm hai linh kiện chính: rơ-le và transistor Trên thị trường, có hai loại module rơ-le: module rơ-le đóng ở mức thấp và module rơ-le đóng ở mức cao, sự khác biệt này phụ thuộc vào loại transistor được sử dụng, bao gồm 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.
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.
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.
Tiếp điểm đóng ngắt max: 250VAC-10A hoặc 30VDC-10A.
Các phần mềm lập trình điều khiển
Arduino nổi bật với thiết kế bo mạch nhỏ gọn và nhiều tính năng hữu ích, nhưng sức mạnh thực sự của nó nằm ở phần mềm Môi trường lập trình thân thiện và ngôn ngữ dựa trên C/C++ dễ tiếp cận giúp người dùng dễ dàng làm quen Ngoài ra, Arduino còn hỗ trợ nhiều thư viện phong phú như EEPROM, Firmata, GSM, servo, TFT, Wifi, và sự đa dạng của các thư viện này được mở rộng nhờ sự đóng góp từ cộng đồng toàn cầu.
Hình 3.7 Phần mềm Arduino IDE.
Arduino IDE là phần mềm lập trình cho Arduino, hỗ trợ ba hệ điều hành phổ biến: Windows, Linux và MAC OS Với tính chất mã nguồn mở, Arduino IDE hoàn toàn miễn phí và cho phép người dùng có kinh nghiệm mở rộng chức năng.
Ngôn ngữ lập trình này có khả năng mở rộng thông qua các thư viện C++, cho phép người dùng tích hợp mã AVR vào chương trình, nhờ vào nền tảng ngôn ngữ C của AVR.
Visual Studio là một môi trường phát triển tích hợp (IDE) do Microsoft phát triển, được sử dụng để tạo ra các ứng dụng máy tính cho hệ điều hành Windows, cùng với việc phát triển các trang web và dịch vụ web Nền tảng phát triển phần mềm của Visual Studio bao gồm các công nghệ như Windows API, Windows Forms và Windows Store.
Hình 3.8 Phần mềm Visual Studio 2017.
Windows Forms, hay còn gọi là Winforms, là một công nghệ phát triển ứng dụng giao diện người dùng (GUI) thông qua việc sử dụng các thành phần điều khiển có sẵn Công nghệ này cho phép lập trình viên tạo ra giao diện cho các ứng dụng desktop một cách dễ dàng và hiệu quả.
WinForms là một công cụ mạnh mẽ cho phép các nhà phát triển xây dựng giao diện người dùng bằng cách sử dụng các thành phần trên nền tảng NET Framework và không gian System.Windows.Forms Các thành phần này, được gọi là điều khiển, giúp thu thập thông tin từ người dùng và hiển thị dữ liệu một cách trực quan, tạo điều kiện thuận lợi cho trải nghiệm người dùng.
SQL Server, hay còn gọi là Microsoft SQL Server (MS SQL Server), là phần mềm được phát triển bởi Microsoft Nó được sử dụng để lưu trữ và quản lý dữ liệu theo chuẩn RDBMS, đồng thời cũng là một hệ quản 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 các công cụ quản lý đa dạng, từ giao diện người dùng đồ họa (GUI) đến ngôn ngữ truy vấn SQL Điểm mạnh của SQL Server còn nằm ở khả năng tích hợp hoàn hảo với các nền tảng của Microsoft như ASP.NET và C# trong việc phát triển ứng dụng Winform, nhờ vào tính năng hoạt động độc lập của nó.
Khi sử dụng bất kỳ hệ quản trị cơ sở dữ liệu nào, mục tiêu chính vẫn là lưu trữ dữ liệu, và SQL cũng không phải là ngoại lệ Tuy nhiên, điều mà người dùng mong đợi ở SQL là các tính năng hỗ trợ 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.
Phân tích dữ liệu bằng SSAS.
Dựa trên các yêu cầu và thông số đã được tính toán ở chương 2, chương này tiến hành lựa chọn và tính toán các thành phần của hệ thống điện – điều khiển, bao gồm camera, cảm biến, động cơ servo và modul relay Đồng thời, đề tài cũng đã xác định các phần mềm phù hợp để lập trình xử lý và tạo giao diện người dùng Ngoài ra, đề tài còn giới thiệu tổng quan về các phần mềm đã được lựa chọn.
LẬP TRÌNH ĐIỀU KHIỂN, THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG
Lập trình Arduino
Hình 4.1 Sơ đồ khối lập trình Arduino
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ó khả năng đọc giá trị từ cảm biến E18-D80NK và truyền tín hiệu đến máy tính qua cổng COM Sau đó, nó nhận tín hiệu điều khiển từ máy tính để điều khiển module relay và các động cơ servo.
Module relay và động cơ servo là hai thành phần quan trọng trong hệ thống điều khiển Khi nhận tín hiệu điều khiển, module relay sẽ thực hiện việc đóng mở động cơ, trong khi động cơ servo có nhiệm vụ gạt các sản phẩm trên băng tải xuống thùng chứa Sự kết hợp này giúp tối ưu hóa quy trình vận hành và nâng cao hiệu quả sản xuất.
Máy tính nhận tín hiệu từ Arduino qua cổng COM sau khi xác định và phân loại mã QR, đồng thời gửi tín hiệu điều khiển xuống Arduino và hiển thị giao diện người dùng.
MODULE RELAY SERVO CẢM BIẾN
4.1.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.
Chọn Ctrl + U để upload chương trình vào Arduino.
Hình 4.2 Upload chương trình cho Arduino.
4.1.4 Sơ đồ kết nối phần cứng
Bảng 4.1 Sơ đồ kết nối phần cứng.
Module relay IN GND VCC
Nguồn cấp ngoài GND VCC
Hình 4.3 Lưu đồ thuật toán Arduino.
S val = 2 4.1.3 Lưu đồ thuật toán.
Gửi tín hiệu lên PC qua cổng COM Đ Kích hoạt
Hệ thống quản lý sản phẩm
4.2.1 Tổng quát về hệ thống quản lý sản phẩm
Hệ thống cần một cơ sở dữ liệu để đối chiếu mã QR qua camera và so sánh với các mẫu có sẵn, sau đó phân loại chúng theo từng nhóm Nếu sử dụng phương pháp thủ công, mã đã được phân loại sẽ được ghi chép và kiểm kê vào sổ sách Vì vậy, cần sửa đổi cơ chế hoạt động của hệ thống quản lý để 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.
4.2.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,
Danh sách các phụ thuộc hàm:
MaQR → MaKhach, TenKhach, DiaChi, DienThoai, DienGiai.
Hình 4.4 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.
Bảng 4.2 Từ điển dữ liệu cơ sở dữ liệu SQL.
Tên bảng Tên cột Kiểu dữ liệu Miêu tả
UserSystem Password nchar(50) Mật khẩu
FullName nvarchar(50) Tên đầy đủ
HangHoa MaKhach nchar(50) Mã khách
BaDinh TenKhach nvarchar(50) Tên khách
DongDa DiaChi nvarchar(250) Địa chỉ
HoanKiem DienThoai nvarchar(50) Điện thoại
4.2.5 Tạo cơ sở dữ liệu
Mở Microsoft SQL Server 2017, chọn Server name → Authentication → Connect.
QL Người sử dụng QL Hàng hóa Thống kê, báo cáo
Hình 4.5 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.6 Tạo database và chọn đường dẫn.
Hình 4.7 Tạo bảng Ba Đình trong database.
Hình 4.8 Tạo bảng Đống Đa trong database.
Hình 4.9 Tạo bảng UserSystem trong database.
Hình 4.10 Tạo bảng Hoàn Kiếm trong database.
Hình 4.11 Tạo bảng Ba Đình trong database.
Sơ lược về QR code
Mã QR, được phát minh bởi Denso Wave (công ty con của Toyota) vào năm 1994, có thiết kế đặc trưng với các điểm đen và ô vuông ngẫu nhiên trên nền trắng.
Tiêu chuẩn mã QR tại Nhật Bản được quy định bởi JIS X 0510, được công bố vào tháng 1 năm 1999, trong khi tiêu chuẩn ISO tương ứng là ISO/IEC 18004, được phê duyệt vào tháng 6 năm 2000.
QR Code, viết tắt của cụm từ Quick Response Code, hay còn gọi là mã vạch ma trận, là loại mã vạch hai chiều có thể được đọc bởi máy quét mã vạch hoặc smartphone có chức năng chụp ảnh và ứng dụng quét mã.
Mã QR có khả năng lưu trữ nhiều loại thông tin như địa chỉ web, thời gian sự kiện, thông tin liên hệ (vCard), địa chỉ email, tin nhắn SMS, nội dung văn bản và thông tin định vị Khi quét mã QR bằng thiết bị phù hợp, người dùng có thể được dẫn đến trang web, thực hiện cuộc gọi hoặc xem tin nhắn một cách nhanh chóng và tiện lợi.
Cấu trúc chung của một mã QR:
Mã QR, khác với mã vạch truyền thống, có khả năng lưu trữ nhiều dữ liệu hơn, với khả năng chia sẻ thông tin hiệu quả hơn Trong khi mã vạch chỉ chứa được 20 chữ số và chỉ có thể quét theo một chiều, mã QR cho phép đọc từ cả hai chiều và từ mọi hướng mà không bị ảnh hưởng bởi chất liệu hay nền Nhờ tính dễ sử dụng và khả năng chứa đựng thông tin phong phú, mã QR đang trở thành xu hướng hiện nay, dần thay thế mã vạch truyền thống trong nhiều lĩnh vực.
Mã QR khác với mã vạch truyền thống ở chỗ nó có khả năng chứa thông tin dự trữ, cho phép đọc được ngay cả khi bị hỏng Cấu trúc của Mã QR có thể chịu đựng sự phá hủy lên đến 30% mà không làm giảm khả năng đọc, nhờ vào các bản sao dữ liệu được tích hợp.
Hình 4.15 Các cấp độ hư hỏng của mã QR có thể đọc được.
Mã QR có khả năng chứa tối đa 7089 chữ số hoặc 4296 ký tự, bao gồm cả dấu câu và ký tự đặc biệt Ngoài số và ký tự, các từ và cụm từ như địa chỉ Internet cũng có thể được mã hóa Khi thêm dữ liệu vào Mã QR, kích thước và cấu trúc của Mã sẽ trở nên phức tạp hơn Mỗi loại dữ liệu có thể được mã hóa với số lượng cụ thể khác nhau.
Số đơn thuần: Tối đa 7.089 kí tự
Số và chữ cái: Tối đa 4.296 kí tự.
Số nhị phân (8 bit): Tối đa 2.953 byte.
Để tối ưu hóa việc quản lý và phân loại mã QR, nhóm sẽ thiết lập nội dung mã QR theo cấu trúc cụ thể, giúp dễ dàng theo dõi và phân loại thông tin một cách hiệu quả.
Hình 4.16 Cấu trúc mã QR.
Ứng dụng thư viện mở rộng dll để giải quyết bài toán
Thư viện liên kết động (DLL) là một thành phần quan trọng trong các phần mềm, nổi bật với tính khả chuyển cao, cho phép một DLL có thể được sử dụng trong nhiều sản phẩm khác nhau Ngoài ra, DLL còn là loại tập tin thực thi trên hệ điều hành Windows (.dll).
Mã ZIP của Bưu cục trung tâm
Hai số cuối của năm Mã đơn hàng
Thư viện liên kết động là một loại thư viện cho phép nhiều ứng dụng cùng liên kết và sử dụng chung Nó bao gồm tập hợp các hàm và dữ liệu, giúp các ứng dụng khác nhau có thể truy cập và sử dụng đồng thời, tối ưu hóa hiệu suất và tiết kiệm bộ nhớ.
Khi một hàm được viết và đóng gói trong một DLL, nó có thể được sử dụng trong bất kỳ ứng dụng nào mà không cần quan tâm đến mã nguồn chi tiết Trước đây, để sử dụng các hàm như print(), người dùng phải đính kèm mã nguồn vào ứng dụng, dẫn đến việc mỗi ứng dụng như Word hay Excel đều chứa bản sao của hàm này Điều này làm tăng dung lượng bộ nhớ hệ thống do phải lưu trữ nhiều bản sao của hàm print().
Khi xây dựng một thư viện mở rộng với các chức năng hợp lý, chúng ta có thể sử dụng nó cho nhiều ứng dụng khác nhau Ví dụ, trong một ứng dụng nhỏ, chúng ta có thể tạo ra các hàm chuyển đổi giá trị từ String sang ngày tháng và đóng gói chúng vào một file DLL Nhờ đó, trong các ứng dụng khác có nhu cầu tương tự, chúng ta chỉ cần sử dụng lại file DLL đã biên dịch mà không cần phải viết lại các hàm này.
Một ứng dụng có thể sử dụng các DLL được viết bằng bất kỳ ngôn ngữ lập trình nào, cho phép các nhà phát triển đóng gói các module của mình vào DLL bằng ngôn ngữ ưa thích Những module này sau đó có thể được tích hợp vào các ứng dụng viết bằng C++ hoặc Visual Basic Mặc dù hầu hết các ngôn ngữ lập trình hỗ trợ thư viện liên kết động, nhưng chỉ có một số ít cho phép tạo ra chúng Việc sử dụng thư viện liên kết động giúp các nhà phát triển tập trung vào xử lý logic của hệ thống, giảm thiểu sự quan tâm đến các xử lý thông thường, từ đó tiết kiệm chi phí và thời gian phát triển.
Khi phát hiện có thành phần cần thay đổi trong ứng dụng, việc đóng gói và phân phối lại toàn bộ sản phẩm cho khách hàng có thể trở nên khó khăn Tuy nhiên, nếu ứng dụng được thiết kế theo mô-đun và đóng gói trong các tệp DLL, chúng ta chỉ cần cập nhật mô-đun cần thay đổi bằng cách gửi tệp DLL đó tới khách hàng để họ thực hiện cập nhật.
Các DLL thường chứa mã lệnh, dữ liệu và tài nguyên, trong đó mã lệnh được lưu trữ trên khu vực chỉ đọc để phục vụ chung cho nhiều ứng dụng Tuy nhiên, dữ liệu trong DLL lại khác; mỗi yêu cầu từ ứng dụng sẽ nhận được một bản sao riêng của các khối dữ liệu, trừ khi các khối này được đánh dấu là chia sẻ (shared).
Khu vực lưu trữ mã trong DLL bao gồm các lớp và hàm độc lập, không có mối quan hệ tương tác Các lớp tập hợp chức năng và dữ liệu trong một thực thể, trong khi các hàm độc lập có thể chia sẻ một số dữ liệu toàn cục Cả lớp và hàm trong DLL được gọi là thành phần xuất (export) cho ứng dụng sử dụng Nếu DLL sử dụng hàm từ các DLL khác, chúng được xem là thành phần nhập (import) vào DLL.
4.4.1 Xây dựng hệ thống giao tiếp với thiết bị ngoại vi (Camera và 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
Ngắt động cơ Dừng camera Đóng SerialPort
Ngắt kết nối Đã kết nối camera
Gửi tín hiệu mở relay
Mở camera, timer cameraTrích xuất ảnhChọn
Trong quá trình thực nghiệm, nghiên cứu cho thấy rằng để đảm bảo việc đọc mã QR ổn định, chỉ cần thiết lập thời gian trích xuất ảnh từ video là 100 ms, điều này mang lại kết quả chính xác với tỷ lệ lỗi thấp.
Khi chương trình trích xuất ảnh khởi động, nó sẽ kích hoạt giao tiếp với Arduino thông qua cổng SerialPort để xác định trạng thái kết nối Việc kiểm tra kết nối với Arduino được thực hiện thường xuyên trong quá trình này.
4.4.2 Chuyển đổi ảnh trích xuất sang dạng chuỗi và kết hợp SQL để xử lý
Dựa trên kiến thức về mã QR đã được trình bày, nhóm đã quyết định sử dụng thư viện mở rộng BarcodeLib.BarcodeReader.dll của BarcodeLib để tiết kiệm thời gian trong việc nghiên cứu và thiết kế chương trình nhận dạng cũng như đọc mã QR.
BarcodeLib.BarcodeReader.dll là thư viện hiện đại cho phép nhận diện và đọc mã QR, hỗ trợ nhiều loại mã vạch 1D và 2D Thư viện này nổi bật với tỷ lệ công nhận cao và tốc độ đọc nhanh, đồng thời hỗ trợ đọc hình ảnh mã vạch TIFF nhiều trang trong các ứng dụng NET Đặc biệt, toàn bộ thư viện được viết hoàn toàn bằng C# 2005.
Sau khi khách hàng đặt hàng, thông tin sẽ được mã hóa và lưu trữ cùng với mã QR tương ứng Hình ảnh mã sẽ được xử lý qua thư viện BarcodeLib.BarcodeReader.dll để chuyển đổi thành chuỗi và lưu vào mảng một chiều Tiếp theo, hệ thống sẽ kết nối với cơ sở dữ liệu SQL để xác minh mã thu được có khớp với danh mục đã nhập hay không Nếu mã khớp, thuật toán sẽ phân loại theo từng loại mã, so sánh ký tự đầu với mã bưu cục tổng Nếu trùng khớp, thông tin mã sẽ được chuyển vào bảng riêng, giúp tối ưu hóa quy trình giao hàng sau này.
Nhận ảnh trích xuất Chuyển thông tin sang chuỗi
-Ghi thông tin -Tăng số lượng
-Lấy dữ liệu mã thêm vào CSDL
-Ghi thông tin -Tăng số lượng
-Lấy dữ liệu mã thêm vào CSDL
-Kích hoạt động cơ servo Đ S
-Lấy dữ liệu mã thêm vào CSDL
-Kích hoạt động cơ servo
So sánh thông tin với CSDL liệu
Thiết kế giao diện người dùng
Hình 4.19 Giao diện form đăng nhập.
Các thành phần chính của form đăng nhập.
Bảng 4.3 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
Hình 4.20 Giao diện form chính.
Các thành phần chính của form chính.
Bảng 4.4 trình bày các thành phần chính của form, bao gồm các điều khiển như Name, Text, và các ribbonTabItem như ribbonTabItem1 cho hệ thống, ribbonTabItem2 cho danh mục, ribbonTabItem3 cho chức năng, ribbonTabItem4 cho báo cáo, và ribbonTabItem5 cho trợ giúp Ngoài ra, có các nút chức năng như btnDoiMatKhau để đổi mật khẩu, btnSaoLuuKhoiPhuc cho việc sao lưu và khôi phục, và btnThoatDangNhap để thoát đăng nhập.
Button btnHangHoa Hàng hóa btnKetNoi Phân loại
Hình 4.21 Giao diện UC đổi mật khẩu.
Các thành phần chính của UCDoiMatKhau.
Bảng 4.5 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
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
4.5.4 UserControl sao lưu khôi phục dữ liệu
Hình 4.22 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.6 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
4.5.5 UserControl phân loại sản phẩm
Hình 4.23 Giao diện của UC kết nối.
Các thành phần chính của UserControl.
Bảng 4.7 Các thành phần của UC kết nối. Đ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 lblDongDa Đống Đa lblHoanKiem Hoàn Kiếm lblBaDinh Ba Đình lblHoanKiemsl 0 lblDongDasl 0 lblBaDinhsl 0
Label lblTongPL 0 lblDauVao 0 lblX10 :sản phẩm 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
Hình 4.24 Giao diện của UC trợ giúp.
Các thành phần chính của UserControl.
Bảng 4.8 Các thành phần của UC trợ giúp. Đ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
GroupPanel grp2 Người nhận E-mail grp1 Chi tiết E-mail
GroupView grvNoiDung Nội dung txtTenDangNhap
Group Panel groupPanel1 Trợ giúp
Chương này trình bày những nội dung cơ bản về kết nối Arduino và lưu đồ thuật toán lập trình Arduino Ở phần cơ sở dữ liệu, chương 4 hướng dẫn chi tiết cách thiết lập một cơ sở dữ liệu Đồng thời, bằng việc sử dụng các thư viện mở rộng như AForge.NET, BarcodeLib.BarcodeReader và DotNetBar, đề tài đã phát triển phần mềm với giao diện người dùng nhằm mục đích phân loại và quản lý sản phẩm một cách hiệu quả.