ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN, ĐIỆN TỬ CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ ĐỀ TÀI: XÂY DỰNG HỆ
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN, ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
ĐỀ TÀI: XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG
CHO THƯ VIỆN
Người hướng dẫn : ThS Hoàng Bá Đại Nghĩa Sinh viên thực hiện : Nguyễn Xuân Tính
Trần Minh Thắng Mã sinh viên : 1911505120150
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN, ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
ĐỀ TÀI: XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG
CHO THƯ VIỆN
Người hướng dẫn : ThS Hoàng Bá Đại Nghĩa Sinh viên thực hiện : Nguyễn Xuân Tính
Trần Minh Thắng Mã sinh viên : 1911505120150
: 1911505120156
Đà Nẵng, 09/2023
Trang 5iii
TÓM TẮT
Tên đề tài: XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN
Sinh viên thực hiện:
Nguyễn Xuân Tính Mã SV: 1911505120150 Lớp: 19D2 Trần Minh Thắng Mã SV: 1911505120156 Lớp: 19D2 Thư viện, là nơi lưu trữ và cung cấp nguồn tri thức, ngày càng nỗ lực áp dụng công nghệ để tối ưu hóa các quy trình và mang lại trải nghiệm tốt nhất cho người đọc Một trong những tiến bộ đáng chú ý là việc xây dựng hệ thống trả sách tự động, giúp giảm thời gian, công sức của nhân viên thư viện và tạo điều kiện thuận lợi hơn cho người mượn sách
Đặt ra với mục tiêu chính là tối ưu hóa quy trình trả sách, hệ thống này sử dụng công nghệ Barcode để xác định và theo dõi thông tin của từng cuốn sách Người đọc chỉ cần quét mã vạch trên sách của mình bằng máy quét được tích hợp trong hệ thống, sau đó hệ thống sẽ tự động cập nhật thông tin về việc trả sách và ghi nhận vào cơ sở dữ liệu Quy trình hoạt động của hệ thống bao gồm việc thu thập dữ liệu từ quá trình quét mã vạch, kiểm tra thông tin sách và người đọc từ cơ sở dữ liệu, sau đó cập nhật trạng thái sách về "đã trả" Ngoài ra, hệ thống cũng cung cấp thông báo cho người đọc và nhân viên thư viện về quá trình trả sách, giúp quản lý hiệu quả và giảm nguy cơ mất sách
Một điểm đáng chú ý của đồ án này là khả năng tích hợp dữ liệu và liên kết với hệ thống quản lý thư viện hiện tại, tạo ra sự liên thông và dễ dàng quản lý toàn bộ quá trình Đồng thời, sự tự động hóa trong quy trình trả sách không chỉ giúp tiết kiệm thời gian mà còn giảm khả năng xảy ra lỗi nhân sự
Đề tài này là 1 mô hình trả sách tự động hoàn chỉnh với nguồn csdl là thư viện của trường sẽ đáp ứng nhu cầu hiện nay tại nhà trường và nhiều nơi khác
Nội dung chính của đề tài: Giới thiệu tổng quan về hệ thống và cách thức hoạt động của chúng
Chương 1: Tổng quan về đề tài Chương 2: Thiết kế và thi công Giới thiệu phần cứng và phần mềm, thuật toán và
cách hoàn thiện sản phẩm
Chương 3: Kết quả của mô hình
Kết quả, kết luận và hướng phát triển
Trang 6iv TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN- ĐIỆN TỬ
CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Giảng viên hướng dẫn: Ths Hoàng Bá Đại Nghĩa
Sinh viên thực hiện: Nguyễn Xuân Tính Mã SV: 1911505120150 Trần Minh Thắng Mã SV: 1911505120156
1 Tên đề tài: Xây dựng hệ thống trả sách tự động cho thư viện 2 Các số liệu, tài liệu ban đầu:
+ Mô tả chung: đề tài nghiên cứu về cách thức hoạt động của Barcode, tìm hiểu và
sử dụng động cơ bước, cùng với driver TB6600
+ Phần cứng: Động cơ bước, GM65 1D 2D QR Barcode Reader Module, driver
TB6600
+ Phần mềm: Sử dụng phần mềm Arduino IDE để lập trình, Altium để thiết kế
nguyên lí, layout và phần mềm của thư viện để xác định mã sách
3 Nội dung chính của đồ án:
Đề tài nghiên cứu và xây dựng mô hình thư viện trả sách tự động thông qua động cơ bước
Các nội dung chính trong đề tài: - Tìm hiểu tổng quan module Barcode GM65 - Tìm hiểu thuật toán quét mã vạch và đọc mã - Lập trình động cơ bước (step motor)
+ Chương 1: Mở đầu + Chương 2: Cơ sở lí thuyết + Chương 3: Thiết kế và thi công Kết quả và hướng phát triển
Kết luận
4 Các sản phẩm dự kiến
1 Sản phẩm mô hình 1 Bài báo cáo
1 Video mô phỏng 3 phút
5 Ngày giao đồ án: 21/08/2023 6 Ngày nộp đồ án: /2023
Trang 7v
Đà Nẵng, ngày 12 tháng 09 năm 2023
Trưởng Bộ môn Người hướng dẫn
Trang 8vi
LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòng biết ơn đến Thầy Cô và cán bộ của Phòng Đào Tạo, trường Đại Học Sư Phạm Kỹ Thuật Đà Nẵng đã tạo điều kiện hỗ trợ, giúp đỡ em hoàn thành đồ án tốt nghiệp trong thời gian vừa qua Trong suốt thời gian từ khi bắt đầu nhận đề tài cho đến lúc bảo vệ, em đã nhận được rất nhiều sự quan tâm, giúp đỡ từ quý Thầy Cô và bạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn đến thầy Hoàng Bá Đại Nghĩa đã luôn dõi theo và quan tâm chúng em trong thời gian thực hiện đồ án tốt nghiệp vừa qua
Trong quá trình thực hiện đề tài, do kiến thức còn hạn hẹp nên không tránh khỏi những sai sót mong thầy và các bạn đóng góp ý kiến để chúng em có thể hoàn thiện đề tài hoàn hảo nhất
Chúng em xin chân thành cảm ơn!!
Trang 9Mọi sao chép không hợp lệ hoặc coppy từ bất cứ đồ án nào khác và vi phạm quy chế nhà trường, chúng em xin hoàn toàn chịu trách nhiệm
Cuối cùng, đồ án này không chỉ là kết quả của sự cống hiến cá nhân mà còn là sự đoàn kết và tinh thần đồng đội của chúng em Chúng em tự hào về những gì chúng em đã đạt được và tin rằng đồ án này sẽ là một bước ngoặt quan trọng trong sự phát triển của thư viện hiện đại
Bài báo cáo đã được sửa theo đánh giá, nhận xét của hội đồng phản biện Em xin cảm ơn!!
Trang 10viii
MỤC LỤC
NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN i
NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ii
TÓM TẮT iii
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP iv
LỜI CẢM ƠN vi
CAM ĐOAN vii
MỤC LỤC viii
DANH SÁCH CÁC BẢNG VÀ HÌNH ẢNH xi
DANH MỤC CÁC TỪ VIẾT TẮT xv
MỞ ĐẦU 1
1.TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1
2.MỤC TIÊU CỦA ĐỀ TÀI 1
3.ĐỐI TƯỢNG NGHIÊN CỨU 2
4.Ý NGHĨA 2
5.BỐ CỤC ĐỀ TÀI 2
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 3
1.1 KHÁI NIỆM VỀ QUẢN LÝ THƯ VIỆN[1] 3
1.2 GIỚI THIỆU VỀ CÔNG NGHỆ BARCODE[3] 4
Trang 112.4.2 Giao tiếp I2C hoạt động[12] 16
2.5 GIAO TIẾP USB[12] 19
2.5 CÁC LINH KIỆN, VẬT LIỆU SỬ DỤNG TRONG MÔ HÌNH 20
2.5.1 Các linh kiện cơ khí[13][14][15] 20
2.5.2 Các linh kiện điện tử và các linh kiện chính của mô hình[16][17][18][19][20][21][22][23][24][25][26][27][28][29] 20
CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG 21
3.1 BẢN VẼ CƠ KHÍ MÔ PHỎNG MÔ HÌNH 21
Trang 12x
PHỤ LỤC 1
Trang 13Hình 1.6: Norman Joseph Woodland và Bernard Silver[3] 8
Hình 1.7: Nguyên lí hoạt động của mã UPC-A/EAN.UCC 12[5] 9
Hình 1.8: Mã số của mã UPC-A/EAN.UCC 12 đã được giải mã 9
Hình 1.9: Mã EAN-13 được giải mã[5] 9
Bảng 1.1: Cấu trúc của mã vạch EAN-13 9
Bảng 1.2: Bảng giải mã tự nhiên thành số thành số nhị phân 9
Hình 2.4: Giao diện phần mềm Arduino 14
Hình 2.5: Giao diện Altium 15
Hình 2.6: Giao diện 3D Altium 15
Hình 2.7: Giao tiếp I2C[12] 16
Hình 2.8: Cách hoạt động của giao tiếp I2C 16
Bảng 2.1: Khung truyền của I2C 17
Hình 2.9: Khối bit địa chỉ[12] 17
Trang 14xii
Hình 2.10: Quá trình truyền nhận dữ liệu 18
Hình 2.11: Các cổng giao tiếp USB[12] 19
Hình 2.21: Cảm biến vật cản hồng ngoại E18-D80NK 20
Hình 2.22: Sơ đồ chân của E18-D80NK[29] 20
Hình 2.23: Sơ đồ nguyên lí [23] 21
Hình 2.24: Sơ đồ chân của Arduino Uno R3 21
Bảng 2.3: Thông số kĩ thuật của Arduino Uno R3 21
Hình 2.25: GM65 1D 2D QR Barcode Reader Module 21
Hình 2.26: Kích thước của GM65 1D 2D QR Barcode Reader Module[19] 21
Hình 2.27: Góc quét của GM65 1D 2D QR Barcode Reader Module[19] 21
Hình 2.28: Driver TB6600[16] 21
Hình 2.29: Driver TB6600[17] 21
Bảng 2.4: Cài đặt vi bước cho Driver 21
Bảng 2.5: Cài đặt cường độ dòng điện cho Driver 21
Hình 2.30: Cách nối động cơ bước 2,4 pha có 4,6,8 dây 21
Hình 2.31: Động cơ bước 21
Hình 2.32: Cấu tạo của động cơ bước[20] 21
Bảng 2.6: Chế độ hoạt động của động cơ bước 21
Trang 15xiii
Hình 2.33: Dạng xung điều khiển full bước( phát xung 1 dây) 21
Hình 2.34: Dạng xung điều khiển full bước (phát xung 2 dây) 21
Hình 2.35: Dạng xung điều khiển nửa bước ( phát xung 1 hoặc 2 dây) 21
Hình 2.36: Màn hình LCD[25] 21
Hình 2.37: Sơ đồ chân màn hình LCD 21
Bảng 2.7: Sơ đồ chân của LCD 21
Hình 2.38: Hoạt động đọc ghi của LCD 21
Hình 2.39: Module I2C Arduino 21
Bảng 2.8: Sơ đồ chân của I2C 21
Bảng 2.9: Địa chỉ của I2C 21
Hình 2.40: Sơ đồ kết nối bên trong I2C 21
Hình 2.41: Bộ nguồn 24V 21
Hình 2.42: Mặt trước của hạ áp LM2596 21
Hình 2.43: Mặt sau của hạ áp LM2596 21
Hình 2.44: Kích thước của LM2596 21
Hình 2.45: Sơ đồ kết nối mạch giảm áp LM2596 21
Hình 2.46: Sơ đồ chân Nano 21
Hình 2.47: Sơ đồ nguyên lí của[29] 21
Hình 3.1: Mặt nghiêng của bản vẽ 21
Hình 3.2: Bên trên của bản vẽ 22
Hình 3.3: Khung sườn cơ khí được hoàn thiện nhìn phía sau 22
Hình 3.4: Khung sườn cơ khí được hoàn thiện nhìn từ bên nghiêng 23
Hình 3.5 Sơ đồ nguyên lí của toàn mạch 23
Bảng 3.1: Các thông số các linh kiện 24
Trang 16xiv
Hình 3.10: Mạch trước, sau khi hàn xong 25
Bảng 3.1: Danh sách các linh kiện điện tử được sử dụng 26
Hình 3.11: Lưu đồ thuật toán tổng 26
Hình 3.12: Lưu đồ thuật toán NÚT NHẤN_YES 27
Hình 3.13: Lưu đồ thuật toán NÚT NHẤN_NO 28
Hình 3.14: Lưu đồ thuật toán CBVC_1 28
Hình 3.15: Lưu đồ thuật toán CBVC_2 29
Hình 3.16: Lưu đồ thuật toán NÚT_RESET 29
Hình 3.17: Lưu đồ thuật toán CTHT_TRÊN 30
Hình 3.18: Sơ đồ khối mô hình 30
Hình 3.11: Bộ điều khiển 31
Hình 3.12: Bỏ sách vào mô hình 31
Hình 3.13: Sách đang được module Barcode GM65 quét 31
Hình 3.14: Phần mềm của thư viện nhận biết được sách của thư viện 32
Hình 3.15: Cảm biến vật cản phát hiện sách rơi xuống bàn nâng 32
Hình 3.16: Nút RESET trên bộ điều khiển 33
Hình 3.17: Còi báo bàn nâng quay về ban đầu 33
Trang 17xv
DANH MỤC CÁC TỪ VIẾT TẮT
QLTV: Quản lý thư viện UPC : Universal Product Code EAN : European Article Number QR : Quick Response
LCD : Liquid Crystal Display ITF : Interleaved 2 of 5
API : Application Programming Interface IC : Integrated Circuit
CNC : Computer Numerical Control GND : Ground
AC : Alternating Current DC : Direct Current Wifi : Wireless Fidelity VIN : Voltage Input SPI : Serial Peripheral Interface TX : Transmit
RX : Receiver CMOS : Complementary Metal-Oxide-Semiconductor PM : Permanent magnet stepper
VR : Variable Reluctance Stepper HB : Hybrid Synchronous Stepper Motor PWM : Pulse Width Modulation
DB : Data bus I2C : Inter – Integrated Circuit USB : Universal Serial Bus ACK/NACK : Acknowledged / Not Acknowledged
Trang 18XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 1
MỞ ĐẦU
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong thời đại công nghệ ngày nay, việc mượn sách của thư viện rồi đem đi trả trong giờ hành chính là rất khó khăn và tốn nhiều thời gian, để giảm bớt khó khăn ấy thì chúng em đã quyết định tạo ra hệ thống trả sách tự động cho thư viện để mang lại nhiều lợi ích và giảm bớt thời gian cho nhiều người
Hệ thống của chúng em tập trung vào việc sử dụng công nghệ mã vạch (Barcode) để tự động hóa quy trình trả sách, giúp giảm thời gian và công sức của độc giả cũng như nhân viên thư viện Điều này không chỉ mang lại trải nghiệm thoải mái và hiệu quả cho người sử dụng mà còn tối ưu hóa tài nguyên của thư viện
Chúng em sẽ trình bày cụ thể về kiến trúc và chức năng của hệ thống, bao gồm cách thức xác định sách thông qua mã vạch, quy trình xử lý thông tin và cơ sở dữ liệu, cũng như giao diện người dùng thân thiện và dễ sử dụng Ngoài ra, chúng em cũng sẽ thảo luận về các lợi ích mà hệ thống mang lại cho cả độc giả và quản lý thư viện, đồng thời đề xuất những phát triển và nâng cấp trong tương lai để đảm bảo tính linh hoạt và sự cập nhật của hệ thống
Qua đồ án này, chúng em hy vọng mang lại một giải pháp cho quản lý và sử dụng sách trong thư viện, thúc đẩy sự chuyển đổi số và tạo ra môi trường thông minh, tiện lợi cho cả cộng đồng đọc và những người quản lý thư viện
2 MỤC TIÊU CỦA ĐỀ TÀI
Trong quá trình thực hiện chuyên đề cần nắm vững các kiến thức cần thiết để xây dựng được một mô hình trả sách cho thư viện từ hệ thống điều khiển đến cơ cấu xử lý
Phân tích làm rõ trang thư viện tự động, nó có phổ biến hay không Mô tả thực trạng: Tại sao các thư viện cổ điển lại cần một hệ thống tự động về trả
Trang 19XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 2 Giúp cho việc quản lý thông tin được tối ưu, thông báo dễ dàng thuận tiện, nhanh chóng phục vụ tốt cho một thư viện
3 ĐỐI TƯỢNG NGHIÊN CỨU
Đề tài được thực hiện tại trường Đại Học Sư Phạm Kĩ Thuật Đà Nẵng với việc dùng thư viện của nhà trường làm csdl cho đề tài
4 Ý NGHĨA
Theo đó, người dùng chỉ cần bỏ sách vào mô hình, lúc này hệ thống sẽ quét xem phải sách này của thư viện trường không, sau đó sẽ tiến hành bỏ sách vào tủ Tự động dừng khi tủ sách đầy và sau đó người thu sách chỉ cần lấy sách đem về đúng nơi quy định
Thư viện sẽ quản lý dễ dàng hơn, có thể mở cửa 24/24 Tạo ra sự thuận tiện cho
người dùng, thu hút giới trẻ nhiều hơn Từ đó thấy việc thiết kế “hệ thống trả sách tự
động cho thư viện” là rất cần thiết cho xã hội hiện đại ngày nay 5 BỐ CỤC ĐỀ TÀI
Gồm 4 phần: Phần mở đầu Phần nội dung
Chương 1: Tổng quan về đề tài Chương 2: Cơ sở lí thuyết Chương 3: Thiết kế và thi công Kết quả và hướng phát triển
Phần kết luận Tài liệu tham khảo
Trang 20XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 3
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
Trong một số tài liệu chuyên môn về thư viện đã có các định nghĩa về quản lý thư viện (QLTV) như sau:
Là sự tác động có chủ đích tới tập thể người lao động để tổ chức và phối hợp hoạt động của họ trong quá trình thực hiện các mục đích và nhiệm vụ đề ra QLTV dựa trên quyền hạn được quy định và cùng với nó là sự tác động tổ chức, điều hành
Là hoạt động được các cán bộ lãnh đạo và tập thể viên chức thực hiện một cách tự giác và có kế hoạch nhằm đảm bảo cho sự hoạt động và phát triển bình thường của thư viện, bao gồm: kế hoạch, tổ chức và kích thích lao động, quản lý các quá trình thư viện, thống kê và kiểm tra công việc, công tác cán bộ (tổ chức cán bộ)
Thư viện hiện đại
Thư viện hiện đại là một loại thư viện được áp dụng những thành tựu mới nhất của khoa học kỹ thuật mà cụ thể là công nghệ thông tin (CNTT) Dưới tác động của ứng dụng CNTT, thư viện hiện đại có rất nhiều thay đổi: từ cơ cấu tổ chức, nguồn nhân lực cho đến cơ sở vật chất trang thiết bị Tuỳ thuộc vào mức độ ứng dụng CNTT vào hoạt động của thư viện mà người ta xây dựng thư viện hiện đại với các cấp độ khác nhau và tương ứng với chúng là những tên gọi khác nhau như: thư viện đa phương tiện, thư viện lai, thư viện điện tử , thư viện số, thư viện ảo… Nói một cách khác, nhắc đến tên các thư viện này thì ta đều hiểu chúng là các thư viện hiện đại Ví dụ, thư viện đa phương tiện hay thư viện lai là thư viện hiện đại ở mức độ sơ khai được chuyển tiếp từ thư viện truyền thống sang thư viện có ứng dụng CNTT Trong thư viện này vừa tồn tại tài liệu truyền thống vừa có các dạng tài liệu hiện đại Hay thư viện số là thư viện hiện đại ở cấp độ cao hơn Trong thư viện này không còn tài liệu dạng truyền thống mà chúng đã được số hoá và được sử dụng bằng máy tính, phương tiện truyền thông
Bởi vậy, khi nói đến QLTV hiện đại là nói đến việc quản lý tất cả các dạng thư viện như đã nêu bao gồm: thư viện đa phương tiện, thư viện lai, thư viện số, thư viện ảo,mượn trả sách tự động…
Nói một cách khác, khi nói đến quản lý một trong các dạng thư viện này thì về bản chất đều là QLTV hiện đại
Trang 21XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 4 Vậy QLTV hiện đại là gì? QLTV hiện đại có khác gì so với QLTV truyền thống? Theo tác giả để định nghĩa được QLTV hiện đại cần phân biệt các điểm giống và khác nhau giữa QLTV truyền thống và QLTV hiện đại
Hình 1.1: Quản lý thư viện hiện đại[1]
Mã vạch (hay còn gọi là barcode) là một hệ thống mã hóa thông tin dưới dạng các dãy số và đồ họa đặc biệt, thường được in hoặc gắn trên sản phẩm hoặc bao bì Mã vạch giúp tự động hóa quá trình thu thập dữ liệu và quản lý thông tin về sản phẩm, từ việc theo dõi hàng hóa trong chuỗi cung ứng đến quản lý hàng tồn kho và quy trình thanh toán
Hình 1.2: Barcode[3]
Trang 22XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 5 Có 2 loại Barcode phổ biến nhất là
1.2.1 Barcode 1D[4]
Mã vạch dạng thanh hay còn gọi là mã vạch 1 chiều( mã vạch tuyến tính), một khái niệm để chỉ loại mã vạch được mã hóa 1 chiều duy nhất, thường xuất hiện dưới dạng các đường thẳng song song và có chiều dài biến thiên Mã vạch này được sử dụng rộng rãi trong bán lẻ và quản lý hàng hóa
Hình 1.3: Barcode 1D Các loại mã vạch 1D hiện nay
UPC-A UPC-E EAN 8 EAN 13 Industrial 2 of 5 Interleaved 2 of 5 Codabar
Code 11 Code 39 Code 93 Code 128 DataBar MSI Code Patch Code >
1.2.2 Barcode 2D[4]
Mã vạch 2 chiều chứa thông tin hơn so với mã vạch 1D Thay vì chỉ là các đường thẳng, nó có thể chứa các ô vuông, hình chữ nhật và các ký tự được biểu diễn không chỉ theo chiều dọc mà còn theo chiều ngang
Các loại Barcode 2D hiện nay
Trang 23XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 6 QR Code
PDF417 DataMatrix GS1 Composite Code MaxiCode
Aztec Code Trong đó phổ biến nhất là QR code
Hình 1.4: Barcode 2D
QR CODE
Mã QR hay mã hai chiều là một mã vạch ma trận (hay mã vạch hai chiều, mã phản hồi nhanh) được phát triển bởi công ty Denso Wave (Nhật Bản) vào năm 1994 Chữ "QR" xuất phát từ "Quick Response", trong tiếng Anh có nghĩa là đáp ứng nhanh, vì người tạo ra nó có ý định cho phép mã được giải mã ở tốc độ cao Các mã QR được sử dụng phổ biến nhất ở Nhật Bản, Trung Quốc, và hiện nay tại Việt Nam mã QR đang dần thông dụng và với độ sử dụng rất cao
Mặc dù lúc đầu mã QR được dùng để theo dõi các bộ phận trong sản xuất xe hơi, hiện nay nó được dùng trong quản lý kiểm kê ở nhiều ngành khác nhau Gần đây hơn, phần mềm đọc mã QR đã được cài vào điện thoại di động có gắn camera (camera phone) Điều này đưa đến các ứng dụng mới và đa dạng hướng về người tiêu dùng, nhằm làm nhẹ nhàng việc nhập dữ liệu vào điện thoại di động, vốn không hấp dẫn mấy Mã QR cũng được thêm vào danh thiếp, làm đơn giản đi rất nhiều việc nhập dữ kiện cá nhân của người mới quen vào sổ địa chỉ trên điện thoại di động
Người dùng có chương trình thu tín hiệu (capture program) và máy tính có giao diện RS-232C có thể dùng máy quét ảnh (scanner) để thu dữ liệu
Trang 24XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 7 Tiêu chuẩn Nhật Bản cho các mã QR, JIS X 0510, được công bố vào tháng 1 năm 1999, và Tiêu chuẩn Quốc tế ISO tương ứng, ISO/IEC18004, được chấp thuận vào tháng 6 năm 2000
Hình 1.5: QR code Khả năng lưu trữ dữ liệu mã QR:
Số đơn thuần: Tối đa 7089 ký tự Số và chữ cái: Tối đa 4269 ký tự Số nhị phân (8 bit): Tối đa 2953 byte Kanji/kana: Tối đa
- Khả năng sửa lỗi: Mức L: 7% số mã có thể được phục hồi Mức M: 15% số mã có thể được phục hồi Mức Q: 25% số mã có thể được phục hồi Mức H: 30% số mã có thể được phục hồi
Mã vạch đầu tiên được sản xuất và đưa vào sử dụng trên thế giới từ những năm thập kỷ 70 của thế kỷ 20
Mã vạch, một phương tiện quan trọng trong việc định danh và theo dõi sản phẩm, có một lịch sử phát triển đầy ấn tượng, bắt đầu từ những ý tưởng sáng tạo của Bernard Silver và Norman Joseph Woodland vào những năm 1940 Ý tưởng ban đầu này đã mở đầu cho một hành trình đưa mã vạch từ khái niệm trên giấy đến thực tế trong thế giới kinh doanh
Trang 25XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 8 Trong quá trình thử nghiệm và phát triển, Joseph Woodland đã vẽ ý tưởng đầu tiên về mã vạch dạng thanh trên một bãi cát ở Miami Beach vào năm 1949 Đây là bước đầu tiên quan trọng, mở ra khả năng sử dụng các đường thẳng và không gian trắng để mã hóa thông tin sản phẩm Từ đây, công nghệ mã vạch đã tiếp tục phát triển và được thử nghiệm bởi nhiều nhóm nghiên cứu và doanh nghiệp
Một bước ngoặt đáng chú ý xảy ra vào thập kỷ 1970 khi hệ thống mã vạch dạng thanh UPC (Universal Product Code) được chọn làm tiêu chuẩn UPC đã trở thành hệ thống mã vạch phổ biến nhất và rộng rãi sử dụng trong ngành bán lẻ Các đường thẳng và khoảng trắng trên mã vạch này đại diện cho các con số cụ thể, giúp máy quét mã vạch dễ dàng đọc và giải mã thông tin sản phẩm
Từ những bước đầu tiên của Bernard Silver và Norman Joseph Woodland đến sự hiện đại hóa và tích hợp với các công nghệ mới như trí tuệ nhân tạo và blockchain, mã vạch đã trở thành một công cụ quan trọng, giúp tối ưu hóa quy trình kinh doanh và quản lý chuỗi cung ứng trên toàn thế giới
Hình 1.6: Norman Joseph Woodland và Bernard Silver[3]
1.3.1 Đặt vấn đề[3]
Trong ngữ cảnh quản lý thư viện, việc sử dụng mã vạch mang lại nhiều lợi ích về theo dõi và tổ chức tài liệu Tuy nhiên, cũng có một số thách thức và vấn đề liên quan đến việc áp dụng mã vạch trong hệ thống quản lý thư viện hiện đại
Mã vạch thường không có khả năng tương tác trực tiếp, điều này có thể giới hạn khả năng cung cấp thông tin chi tiết và tương tác đa chiều với người sử dụng Việc tích
Trang 26XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 9 hợp các phương tiện tương tác như ứng dụng di động hoặc các công nghệ mới như thực tế ảo có thể tăng cường trải nghiệm người dùng và khả năng tương tác
Một thách thức khác là sự hạn chế của mã vạch tuyến tính (1D) trong việc chứa thông tin Điều này có thể gây khó khăn trong việc quản lý tài liệu có kích thước lớn và yêu cầu một lượng thông tin chi tiết hơn Sự chuyển đổi sang mã vạch hai chiều (2D) có thể là một giải pháp để tăng cường khả năng lưu trữ và quản lý thông tin đồng thời
Hệ thống quản lý thư viện cũng phải đối mặt với vấn đề về khả năng đọc và độ chính xác của mã vạch Môi trường thư viện thường xuyên gặp các yếu tố như bụi bẩn, tổn thương hoặc độ nhám, điều này có thể làm giảm khả năng đọc mã vạch Việc sử dụng các thiết bị đọc không đủ chất lượng hoặc không được bảo trì đều có thể ảnh hưởng đến hiệu suất của hệ thống
1.3.2 Phạm vi nghiên cứu
Đề tài nghiên cứu cách thức hoạt động của GM65 1D 2D QR Barcode Reader Module, sử dụng động cơ bước cùng với driver TB6600, Adruino và cảm biến hồng ngoại, LCD đồng thời dùng csdl là thư viện của nhà trường
1.3.3 Phạm vi ứng dụng
Đề tài này là 1 mô hình đầy đủ và có thể áp dụng vào các trường đại học hay nhiều nơi khác Trong tương lai có thể sẽ được cải tiến để tích hợp vào các dự án lớn mở rộng khác
1.3.4 Kết quả đạt được
Mô hình có thể trả sách tự động, đưa dữ liệu lên thư viện trường và có thể lấy dữ liệu ở thư viện trường gửi xuống lại
1.4.1 Mã vạch 1D hoạt động như thế nào?[5][6]
Mã vạch 1D có một chức năng hoạt động khá là dễ hiểu Có 2 loại thanh mã là thanh đen và thanh trắng Một số tại liệu có thể nói là thanh mã và khoảng trắng Sau đó tùy theo quy ước mà các cột mã này sẽ có những quy đổi ra thông tin Nó có thể chia ra một số kiểu quy đổi như sau:
1.4.1.1 Mã vạch hoạt động theo mã nhị phân 1.4.1.2 Giải theo độ rộng của thanh mã[6] 1.4.2 Cách hoạt động của mã 2D
Mã này có cấu trúc hoạt động và các nhận biết hơi phức tạp
Trang 27XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 10 Mỗi mã vần một “Mô tuýp tìm kiếm” – Finding Pattern Nó cho bạn biết được độ lớn và hướng của mã Sau đó là một alignment pattern giúp kiểm tra mã có bị hư hại hay không Từ đó khi bạn đưa máy quét mã vạch vào thì máy sẽ dựa theo phần chỉnh lỗi có trong mã để đọc và sửa
Hình 1.11: Các loại mã 2D Mỗi mã vạch 2D được phân thành các khung mã nhỏ (Square) Ví dụ như FCN01 thì F là 1 kí tự mã hóa được xếp vào 1 Square Mỗi khung mã chia thành 8 ô nhỏ, gọi là cell hoặc module Tùy theo đọ lớn của mã mà trong đó sẽ có bao nhiêu khung Nếu như 21 x 21 sẽ có 21 khung như vậy Độ phức tạp cao là nguyên nhân làm các máy quét mã vạch 1D không đọc được chúng
1.4.2.1 Cơ chế hoạt động của mã QR code[5] 1.4.2.2 Cơ chế hoạt động của Data Matrix[5]
CHƯƠNG 2 CƠ SỞ LÍ THUYẾT
2.1 NGÔN NGỮ LẬP TRÌNH C/C++[8]
2.1.1 Khái niệm về lập trình C/C++
C++ là một ngôn ngữ lập trình được phát triển vào năm 1979 tại phòng thí nghiệm Bell bởi Bjarne Stroustrup Đây được gọi là ngôn ngữ bậc trung (middle-level) và là một
Trang 28XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 11 phần mở rộng của ngôn ngữ lập trình C hoặc “C với các lớp Class” vì C++ là sự kết hợp các tính năng của ngôn ngữ cấp cao và cấp thấp
Ngôn ngữ lập trình này có thể chạy trên nhiều nền tảng khác nhau như: Windows, macOS và Unix Từ những thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại được ưa thích của các lập trình viên Theo thời gian nó đã mở rộng đáng kể và hiện nay có nhiều tính năng như: lập trình tổng quát, lập trình thủ tục, lập trình hướng đối tượng,
Hình 2.1: Hình ảnh về C/C++[8]
2.1.2 Lý do C++ trở thành ngôn ngữ tiềm năng?[8]
Để biết vì sao C++ là ngôn ngữ tiềm năng thì chúng ta không thể bỏ qua những điểm mạnh nổi bật như:
Tính phổ biến: Lập trình viên C++ là một trong những công việc được các nhà tuyển dụng trên toàn cầu tìm kiếm nhiều Điều này có thể cho thấy C++ là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới
Dễ hiểu và dễ sử dụng: C++ được biết đến là ngôn ngữ lập trình đơn giản nhất Lập trình này hoạt động theo nguyên tắc phân nhỏ các nhiệm vụ lớn thành các nhiệm vụ nhỏ cho bất kỳ dự án nào Cấu trúc câu lệnh dễ hiểu, ít từ khóa nên khá dễ học và dễ sử dụng
Thư viện đa dạng, phong phú: có nhiều tài nguyên hỗ trợ cho ngôn ngữ này như đồ họa API, 2D, 3D, vật lý các thiết bị âm… giúp cho các lập trình viên dễ thực thi
Đa mô hình: C++ cũng cho phép bạn lập trình theo cấu trúc tuyến tính, hướng chức năng, hướng đối tượng đa dạng tùy theo yêu cầu của người lập trình
Trang 29XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 12 Tính di động cao: một đoạn mã code C++ có thể chuyển đổi dễ dàng khi chạy trong macOS, Window hay Linux Nhờ đó mà lập trình viên không phải tốn thời gian viết lại chương trình khi sử dụng nó để chạy trên nhiều platform khác nhau
Có nhiều công cụ, phần mềm và IDE hỗ trợ giúp bạn đơn giản hóa công việc Chính vì sở hữu nhiều ưu điểm mà C++ đáng để học trong những ngôn ngữ lập trình C++ cơ bản là nền tảng định hướng cho việc tiếp cận sau này với các ngôn ngữ lập trình khác
Hình 2.2: Ưu điểm nổi bật của C/C++[8]
Games
C++ là lựa chọn ưu tiên để phát triển các trò chơi Nó cho phép tối ưu hóa các nguồn tài nguyên, hỗ trợ tùy chọn cho nhiều người chơi với mạng Bên cạnh đó, ngôn ngữ này còn cung cấp quyền kiểm soát phần cứng và can thiệp sâu vào CPU, đây cũng là yếu tố quan trọng trong việc phát triển các bộ công cụ game
Ứng dụng
Lập trình C++ được sử dụng để phát triển các ứng dụng mới Một số ứng dụng phổ biến sử dụng ngôn ngữ này có thể kể tới như: Adobe Premier, Photoshop, Illustration và Image Ready
Trang 30XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 13
Phần mềm cơ sở dữ liệu
Ngôn ngữ C++ còn được sử dụng để phát triển cơ sở dữ liệu MySQL Một số ứng dụng dựa trên phần mềm truy cập cơ sở dữ liệu được sử dụng như là Google, Youtube, Wikipedia, Yahoo,…
Trình duyệt web
Tốc độ truy cập và độ tin cậy là hai yếu tố cần thiết phải có với các trình duyệt web và C++ đáp ứng điều kiện này Hai trình duyệt web phổ biến được sử dụng nhiều nhất hiện nay là Google Chrome và Mozilla Firefox cũng được tạo ra từ C++
Trình biên dịch
Một số các trình biên dịch như Apple C++, Clang C++, Bloodshed Dev-C++ và MINGW Make đều sử dụng ngôn ngữ lập trình C++ Hơn thế, C và C++ còn là ngôn ngữ nền tảng hỗ trợ xây dựng các ngôn ngữ lập trình mới như C#, Java, PHP, Verilog,…
Hoạt hình
Ngôn ngữ C++ được sử dụng rộng rãi trong việc phát triển phần mềm hoạt hình 3D, mô phỏng, mô hình hóa, Theo đó, C++ được sử dụng nhiều trong việc xây dựng những ứng dụng thời gian thực, xử lý hình ảnh và cảm biến di động, mô hình hóa, hiệu ứng hình ảnh
Hình 2.3: Các ứng dụng của ngôn ngữ lập trình C/C++[8]
Trang 31XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 14
Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường
Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro và nhiều module khác
Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã
Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo
Môi trường IDE chủ yếu chứa hai phần cơ bản: Trình chỉnh sửa và Trình biên dịch, phần đầu sử dụng để viết mã được yêu cầu và phần sau được sử dụng để biên dịch và tải mã lên module Arduino.Môi trường này hỗ trợ cả ngôn ngữ C và C ++
Hình 2.4: Giao diện phần mềm Arduino
2.3 PHẦN MỀM ALTIUM
Altium Designer trước kia có tên gọi quen thuộc là Protel DXP, là một trong những công cụ vẽ mạch điện tử mạnh nhất hiện nay Được phát triển bởi hãng Altium Limited Altium designer là một phần mềm chuyên nghành được sử dụng trong thiết kế mạch
Trang 32XÂY DỰNG HỆ THỐNG TRẢ SÁCH TỰ ĐỘNG CHO THƯ VIỆN GVHD:HOÀNG BÁ ĐẠI NGHĨA
SVTH: NGUYỄN XUÂN TÍNH – TRẦN MINH THẮNG 15 điện tử Nó là một phần mềm mạnh với nhiều tính năng thú vị, tuy nhiên phần mềm này còn được ít người biết đến so với các phần mềm thiết kế mạch khác như orcad hay proteus
Việc thiết kế mạch điện tử trên phần mềm altium designer có thể được tóm tắt gồm các bước như sau:
Đặt ra các yêu cầu bài toán Lựa chọn linh kiện
Thiết kế mạch nguyên lý Lựa chọn các chân linh kiện để chuyển sang mạch in update mạch nguyên lý sang
mạch in Lựa chọn kích thước mạch in Sắp sếp các vị trí các loại linh kiện như điện trở , tụ
điện, IC Đặt kích thước các loại dây nối Đi dây trên mạch và kiểm tra toàn mạch
Hình 2.5: Giao diện Altium
Hình 2.6: Giao diện 3D Altium