1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐỒ ÁN THIẾT KẾ HỆ THỐNG QUẢN LÝ THƯ VIỆN TỰ ĐỘNG (CÓ PHẦN MỀM ĐI KÈM, LINK VIDEO MÔ HÌNH TRONG PHẦN NỘI DUNG MÔ TẢ)

87 269 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 87
Dung lượng 18,42 MB
File đính kèm Hệ thống quản lý thư viện tự động.rar (21 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ án thiết kế hệ thống quản lý thư viện tự động Video tham khảo: https://www.youtube.com/watch?v=4jnCLRxSjvo File tải về có đầy đủ dữ liệu để chế tạo mô hình gồm phần mềm, code, báo cáo...

Trang 1

Mục Lục

Lời cảm ơn i

Lời cam đoan ii

Mục Lục iii

Danh mục hình ảnh vi

MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Mục tiêu nghiên cứu của đề tài 2

3 Đối tượng nghiên cứu 2

4 Ý nghĩa 2

5 Bố cục đề tài 3

Chương I TỔNG QUAN TÀI LIỆU 4

1.1 Khái niệm quản lý thư viện 4

1.2 Giới thiệu thư viện tự động hóa Joe and Rika Mansueto 5

1.3 Công nghệ QR Code 7

1.4 Phần mền QT Creator 8

1.5 Phần mền Arduino IDE 9

Chương II NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 10

2.1 Bản vẽ mô hình 10

2.2 Các thiết bị, vật liệu sử dụng trong mô hình 11

2.2.1 Raspberry pi 3B+ 11

i

Trang 2

2.2.2 Camera 13

2.2.3 Arduino nano 14

2.2.4 Module điều khiển động cơ 18

2.2.5 Module điều khiển động cơ DRV8833 19

2.2.6 Động cơ giảm tốc 20

2.2.7 Động cơ servo 21

2.2.8 Công tắc hành trình 22

2.3 Lập trình ứng dụng cho raspberry pi bằng QT Creator 23

2.3.1 Cài hệ điều hành cho raspberry pi 23

2.3.2 Viết ứng dụng cho raspberry pi 24

2.4 Phân tích hệ thống quản lý thư viện tự động 31

2.5 Sơ đồ nguyên lý 33

2.6 Sơ đồ điều khiển 34

2.7 Nguyên lý điều khiển 36

Chương III KẾT QUẢ VÀ THẢO LUẬN 41

3.1 Kết quả 41

3.1.1 Mô hình thư viện 41

3.1.2 Phần mềm 42

3.1.3 Chạy thử mô hình 45

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52

1 Kết luận 52

2 Kiến nghị 52

Trang 3

TÀI LIỆU THAM KHẢO 53

PHỤ LỤC 54

Trang 4

Danh mục hình ảnh

Hình 1.1: Hệ thông lưu trữ và truy xuất tự động dưới lòng đất thư viện Joe and Rika

Mansueto 6

Hình 1.2: Mã QR code 7

Hình 1.3: Giao diện phần mềm QT Creator 9

Hình 1.4: Giao diện phần mềm arduino 9

Hình 2.1: Bản vẽ mô hình……… 10

HÌnh 2.2: Máy tính nhúng Raspberry pi 13

Hình 2.3: Camera cho raspberry pi 14

Hình 2.4: Mạch arduino 15

Hình 2.5: Sơ đồ cổng IPSC 17

Hình 2.6: Mạch điều khiển động cơ L298 19

Hình 2.7: Module điều khiển động cơ DRV8833 20

Hình 2.8: Động cơ giảm tốc 20

Hình 2.9: Động cơ servo 21

Hình 2.10: Công tắc hành trình 22

Hình 2.11: Cài hệ điều hành cho raspberry pi 23

Hình 2.12: Chọn project 24

Hình 2.13: Cài vị trí lưu project 24

Hình 2.14: Chọn trình biên dịch 25

Hình 2.15: Thiết kế giao diện 25

Trang 5

Hình 2.16: Viết code chính cho phần mềm 26

Hình 2.17: Cài đặt qt5 và serial 26

Hình 2.18: Build project 27

Hình 2.19: Mở phần mềm 27

Hình 2.20: Bảng accounts 28

Hình 2.21: Bảng books 28

Hình 2.22: Bảng logs 29

Hình 2.23: Cấu trúc thư mục phần mềm 30

Hình 2.24: Sơ đồ nguyên lý 33

Hình 2.25: Sơ đồ mạch điều khiển 34

Hình 2.26: Thuật toán điều khiển tổng 36

Hình 2.27: Thuật toán điều khiển robot 38

Hình 3.1: Mô hình hoàn chỉnh……… 39

Hình 3.2: Màn hình đăng nhập 40

Hình 3.3: Thông tin tài khoản 40

Hình 3.4: Quản lý thư viện 41

Hình 3.5: Quản lý tài khoản 41

Hình 3.6: Tủ sách người dùng 42

Hình 3.7: Thư viện sách 42

Hình 3.8: Đăng nhập vào phần mềm quản lý thư viện 43

Hình 3.9: Chọn sách cần mượn 43

Hình 3.10: Robot đến vị trí của sách trong giá sách và lấy sách 44

Trang 6

Hình 3.11: Đợi người dùng lấy sách 44

Hình 3.12: Hãy lấy sách trong khay 45

Hình 3.13: Thông báo “bạn đã lấy sách” 45

Hình 3.14: Chọn sách cần trả và nhấn “trả sách” 46

Hình 3.15: Đặt sách cần trả vào trong khay để sách 46

Hình 3.16: Camera chụp ảnh kiểm tra 47

Hình 3.17: Thông báo sau quá trình kiểm tra sách 47

Hình 3.18: Robot cất sách 48

Hình 3.19: Robot về lại vị trí ban đầu 48

Hình 3.20: Thông báo trả sách thành công 49

Trang 7

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Trong thời gian gần đây thuật ngữ “Cách mạng 4.0” được dư luận và xã hội quantâm, nhắc đến rất nhiều Thuật ngữ này xuất hiện trên các tin tức phóng sự, tạp chíchuyên ngành, và thậm chí là cả những nghiên cứu mang tính học thuật cao Trước sựtác động mạnh mẽ của cuộc Cách mạng 4.0 đã có nhiều hội thảo nghiên cứu và đánhgiá, đặc biệt trong lĩnh vực thông tin – thư viện đã có nhiều hội thảo gồm nhiều bàinghiên cứu chuyên sâu về chủ đề này, có thể kể đến như: Hội thảo Khoa học Thông tin– Thư viện: Tác động của cuộc cách mạng công nghiệp 4.0 đến hoạt động thông tin –thư viện (2017), Hội thảo Tác động của cuộc cách mạng công nghiệp lần thứ 4 tới hoạtđộng thông tin khoa học và công nghệ (2018), Hội thảo Tác động của cách mạng côngnghiệp lần thứ 4 vào lĩnh vực thư viện (2019) Trong khuôn khổ đề tài này tôi muốnhướng tới một giải pháp tối ưu tự động hóa trong lĩnh vực thông tin - thư viện là ápdụng công nghệ QR Code, hệ thống robot để đáp ứng và phù hợp với cuộc cách mạng4.0 đang dần rõ nét hiện nay

Xuất phát từ ý tưởng mang đến sự hiện đại cho không gian văn hóa đọc, nơi bổ íchnhưng kém hấp dẫn với những bạn trẻ năng động Thư viện Mượn Sách Tự động giúpngười dùng không tốn quá nhiều thời gian khi mượn sách, xếp hàng đợi chờ khi đông

đúc, giảm việc lệ thuộc vào người thủ thư, vậy nên em đã thực hiện đồ án “Thiết kế hệ

thống quản lý thư viện tự động” dưới sự hướng dẫn của giảng viên xxxxxxxxxxxxx.

1

Trang 8

2 Mục tiêu nghiên cứ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âydựng được một mô hình 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…

- Hỗ trợ tốt cho công việc quản lý sách báo và tài liệu của thư viện, giúp ngườidùng tìm kiếm tiếp cận dễ dàng đến thư viện hơn

- Phân tích thiết kế hệ thống thư viện tự động với các chức năng cần thiết để phục vụcho việc mượn trả sách trong thư viện

- Nâng cao kỹ năng phân tích khảo sát người dùng để đưa ra những thay đổi để hệthống được tối ưu

- 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, nhanhchó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 Học viện Nông nghiệp Việt Nam với việc nghiên cứu chếtạo thực hiện mô hình quản lý thư viện tự động

4 Ý nghĩa

Theo đó, người dùng chỉ cần đăng ký tài khoản do thư viện cấp nên không cầnmang thẻ thư viện hoặc tiền cọc, thủ thư không cần phải luôn luôn túc trực ghi phiếumượn để phục vụ khi có người dùng Thủ thư chỉ trợ giúp người mượn sách khi có

sự cố xảy ra

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 dung, thu hút giới trẻ nhiều hơn Từ đó thấy việc thiết kế “hệ thống quản lý

thư viện tự động” là rất cần thiết cho xã hội hiện đại ngày nay.

Trang 9

- Phần kết luận và hướng phát triển

- Phần tài liệu tham khảo

- Phụ lục

Trang 10

Chương I TỔNG QUAN TÀI LIỆU

1.1 Khái niệm quản lý thư viện

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ênquyề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ộ)

Quản lý 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ủakhoa học kỹ thuật mà cụ thể là công nghệ thông tin (CNTT) Dưới tác động của ứngdụ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ựccho đế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êncá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 đaphươ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ạità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

Trang 11

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ệnnhư đã 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…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.

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ácnhau giữa QLTV truyền thống và QLTV hiện đại

1.2 Giới thiệu thư viện tự động hóa Joe and Rika Mansueto

Thư viện Joe and Rika Mansueto của trường đại học Macquarie Úc

Trong các hệ thống giá đỡ tự động mật độ cao, các quyển sách có mã vạch đượcphân loại theo kích thước và được lưu trữ trong các thùng Công nghệ về giá đỡ tựđộng mật độ cao (được gọi là hệ thống lưu trữ và truy xuất tự động, hoặc ASRS) đãđược sử dụng trong các ngành công nghiệp khác trong nhiều năm Ford và GM lưu trữ

xe mới trong các hệ thống như vậy

Chỉ trong những năm gần đây, loại công nghệ lưu trữ tự động mật độ cao này mớiđược điều chỉnh từ các ngành quy mô lớn để sử dụng trong thư viện nghiên cứu hiệnđại

ASRS của Thư viện Joe and Rika Mansueto xếp tài liệu dưới lòng đất theo kíchthước thay vì phân loại trong thư viện trong giá cao 50 feet, với khả năng chứa tài liệutrong một phần bảy không gian của các kệ thông thường

Trang 12

Hình 1.1: Hệ thông lưu trữ và truy xuất tự động dưới lòng đất thư viện Joe and

Các cài đặt ASRS nhỏ hơn hiện đang được sử dụng hoặc được lên kế hoạch cho một

số ít thư viện nghiên cứu của Hoa Kỳ

Trang 13

Hình 1.2: Mã QR code

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 (cameraphone) ở Nhật Điều này đưa đến các ứng dụng mới và đa dạng hướng về người tiêudù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ấpdẫ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ệnRS-232C có thể dùng máy quét ảnh (scanner) để thu dữ liệu

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àotháng 6 năm 2000

Trang 14

- 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:

Qt Creator là một môi trường phát triển tích hợp đa nền tảng C ++, JavaScript

và QML , giúp đơn giản hóa việc phát triển ứng dụng GUI Nó là một phần của SDKcho khung phát triển ứng dụng GUI Qt và sử dụng API Qt, gói gọn các lệnh gọi chứcnăng GUI của hệ điều hành Nó bao gồm một trình gỡ lỗi trực quan và trình thiết kếbiểu mẫu và bố cục GUI WYSIWYG tích hợp Các biên tập viên có tính năng như cúpháp nổi bật và tự động hoàn Qt Creator sử dụng trình biên dịch C ++ từ Bộ sưu tậpTrình biên dịch GNU trên Linux và FreeBSD Trên Windows, nó có thể sử dụngMinGW hoặc MSVC với cài đặt mặc định và cũng có thể sử dụng Microsoft ConsoleDebugger khi được biên dịch từ mã nguồn Clang cũng được hỗ trợ

Điểm nổi bật của Qt Creator:

 Cross-platform, nó có thể chạy trên nhiều nền tảng: Mac, Linux,Windows

 Có Text-editor đẹp

 Hỗ trợ vim-editor và miễn phí

Trang 15

Hình 1.3: Giao diện phần mềm QT Creator

1.5 Phần mền Arduino IDE

Môi trường phát triển tích hợp Arduino là một ứng dụng đa nền tảng được viết bằngcác chức năng từ C và C ++ Nó được sử dụng để viết và tải các chương trình lên cácbảng tương thích với Arduino, nhưng cũng với sự trợ giúp của các bên thứ ba, các banphát triển nhà cung cấp khác

Hình 1.4: Giao diện phần mềm arduino

Trang 16

Chương II NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

Trang 17

2.2 Các thiết bị, vật liệu sử dụng trong mô hình

2.2.1 Raspberry pi 3B+

Chức năng: Điều khiển hiển thị, giao tiếp với người dùng, Điều khiển robot lấy sáchRaspberry Pi là cái máy tính giá 35USD kích cỡ như iPhone và chạy HĐH Linux.Với mục tiêu chính của chương trình là giảng dạy máy tính cho trẻ em Được phát triểnbởi Raspberry Pi Foundation – là tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống

mà nhiều người có thể sử dụng được trong những công việc tùy biến khác nhau

Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman Và được phân phối chínhbởi Element14, RS Components và Egoman

Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra máy tính rẻ tiền có khả năng lậptrình cho những sinh viên , nhưng Pi đã được sự quan tầm từ nhiều đối tượng khácnhau Đặc tính của Raspberry Pi xây dựng xoay quanh bộ xử lí SoC BroadcomBCM2835 (là chip xử lí mobile mạnh mẽ có kích thước nhỏ hay được dùng trong điệnthoại di động) bao gồm CPU , GPU , bộ xử lí âm thanh /video , và các tính năng khác

… tất cả được tích hợp bên trong chip có điện năng thấp này

Raspberry Pi không thay thế hoàn toàn hệ thống để bàn hoặc máy xách tay Bạnkhông thể chạy Windows trên đó vì BCM2835 dựa trên cấu trúc ARM nên không hỗtrợ mã x86/x64 , nhưng vẫn có thể chạy bằng Linux với các tiện ích như lướt web , môitrường Desktop và các nhiệm vụ khác Tuy nhiên Raspberry Pi là một thiết bị đa năngđáng ngạc nhiên với nhiều phần cứng có giá thành rẻ nhưng rất hoàn hảo cho những hệthống điện tử , những dự án DIY , thiết lập hệ thống tính toán rẻ tiền cho những bài họctrải nghiệm lập trình …

Thông số kỹ thuật chi tiết:

 Vi xử lý: Broadcom BCM2837B0, quad-core A53 (ARMv8) 64-bit SoC @1.4GHz

Trang 18

 Kết nối: 2.4GHz and 5GHz IEEE 802.11 b/g/n/ac wireless LAN, Bluetooth 4.2, BLE, Gigabit Ethernet over USB 2.0 (Tối đa 300Mbps).

Trang 19

Chất lượng hình ảnh, màu sắc trung thực và hiệu suất ánh sáng thấp Đặc biệt nó

hỗ trợ nhiều chuẩn video, cũng như các chế độ chụp hình

Tương thích với tất cả các phiên bản của Raspberry Pi 1, 2 và 3

THÔNG TIN CHI TIẾT:

 Ống kính tiêu cự cố định

 Cảm biến độ phân giải 5 megapixel

Trang 20

 Hỗ trợ video: 1080p30, 720p60 và 640x480p90

 Kích thước: 25x 23x 9mm

 Trọng lượng: 3g

 Kết nối với Raspberry Pi thông qua cáp ribbon đi kèm dài 15 cm

 Camera Module được hỗ trợ với phiên bản mới nhất của Raspbian

Hình 2.3: Camera cho raspberry pi

 IC nạp và giao tiếp UART: CH340

 Điện áp cấp: 5VDC cổng USB hoặc 6-9VDC chân Raw

 Mức điện áp giao tiếp GPIO: TTL 5VDC

Trang 21

 Số chân Digital: 14 chân, trong đó có 6 chân PWM.

 Số chân Analog: 8 chân (hơn Arduino Uno 2 chân)

 Flash Memory: 32KB (2KB Bootloader)

Chức năng của các chân arduino nano

Arduino Nano có 14 ngõ vào/ra digital Các chân làm việc với điện áp tối đa là 5V.Mỗi chân có thể cung cấp hoặc nhận dòng điện 40mA và có điện trở kéo lên khoảng20-50kΩ Các chân có thể được sử dụng làm đầu vào hoặc đầu ra, sử dụng các hàmpinMode (), digitalWrite () và digitalRead ()

Ngoài các chức năng đầu vào và đầu ra số, các chân này cũng có một số chức năng

bổ sung

Trang 22

Chân 1, 2: Chân nối tiếp

Hai chân nhận RX và truyền TX này được sử dụng để truyền dữ liệu nối tiếp TTL.Các chân RX và TX được kết nối với các chân tương ứng của chip nối tiếp USB tớiTTL

Chân 13, 14, 15 và 16: Giao tiếp SPI

Khi bạn không muốn dữ liệu được truyền đi không đồng bộ, bạn có thể sử dụng cácchân ngoại vi nối tiếp này Các chân này hỗ trợ giao tiếp đồng bộ với SCK Mặc dùphần cứng có tính năng này nhưng phần mềm Arduino lại không có Vì vậy, bạn phải

sử dụng thư viện SPI để sử dụng tính năng này

Chân 16: Led

Khi bạn sử dụng chân 16, đèn led trên bo mạch sẽ sáng

Chân 18, 19, 20, 21, 22, 23, 24, 25 và 26 : Ngõ vào/ra tương tự

Như đã đề cập trước đó UNO có 6 chân đầu vào tương tự nhưng Arduino Nano có 8đầu vào tương tự (19 đến 26), được đánh dấu A0 đến A7 Điều này có nghĩa là bạn cóthể kết nối 8 kênh đầu vào tương tự để xử lý Mỗi chân tương tự này có một ADC có

độ phân giải 1024 bit (do đó nó sẽ cho giá trị 1024) Theo mặc định, các chân được đo

Trang 23

từ mặt đất đến 5V Nếu bạn muốn điện áp tham chiếu là 0V đến 3.3V, có thể nối vớinguồn 3.3V cho chân AREF (pin thứ 18) bằng cách sử dụng chức nănganalogReference () Tương tự như các chân digital trong Nano, các chân analog cũng

có một số chức năng khác

Chân 23, 24 như A4 và A5: chuẩn giao tiếp I2C

Khi giao tiếp SPI cũng có những nhược điểm của nó như cần 4 chân và giới hạntrong một thiết bị Đối với truyền thông đường dài, cần sử dụng giao thức I2C I2C hỗtrợ chỉ với hai dây Một cho xung (SCL) và một cho dữ liệu (SDA) Để sử dụng tínhnăng I2C này, chúng ta cần phải nhập một thư viện có tên là Thư viện Wire

Trang 24

nạp khởi động bị thiếu hoặc bị hỏng, ICSP có thể được sử dụng thay thế ICSP có thểđược sử dụng để khôi phục bộ nạp khởi động bị thiếu hoặc bị hỏng.

Mỗi chân ICSP thường được kết nối với một chân Arduino khác có cùng tên hoặcchức năng Ví dụ: MISO của Nano nối với MISO / D12 (Pin 15) Lưu ý, các chânMISO, MOSI và SCK được ghép lại với nhau tạo nên hầu hết giao diện SPI

Chúng ta có thể sử dụng Arduino để lập trình Arduino khác bằng ICSP này

2.2.4 Module điều khiển động cơ

Chức năng: Điều khiển động cơ DC

Thông số:

 Driver: L298N tích hợp hai mạch cầu H

 Điện áp điều khiển: +5 V ~ +12 V

 Dòng tối đa cho mỗi cầu H là: 2A (=>2A cho mỗi motor)

 Điện áp của tín hiệu điều khiển: +5 V ~ +7 V

 Dòng của tín hiệu điều khiển: 0 ~ 36mA (Arduino có thể chơi đến 40mA nên khỏe

re nhé các bạn)

 Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃))

Trang 25

Hình 2.6: Mạch điều khiển động cơ L298

2.2.5 Module điều khiển động cơ DRV8833

Chức năng: Điều khiển động cơ DC

Mạch điều khiển động cơ DC Mini DRV8833 có thể điều khiển hai motor DC hoặcmột động cơ bước với dòng điện liên tục ở 1.5A, điện áp 3 ~ 10VDC, thích hợp chocác mô hình robot, điều kiển động cơ cỡ nhỏ

Thông số kỹ thuật:

IC chính: DRV8833 Dual H-Bridge Motor Driver

Điện áp cấp: 3~10VDC

Dòng đầu ra mỗi động cơ: 1.5A

Điều khiển được 2 động cơ DC hoặc 1 động cơ bước 4 dây

Bảo vệ chống quá dòng, quá nhiệt

Trang 26

Hình 2.7: Module điều khiển động cơ DRV8833

Trang 27

2.2.7 Động cơ servo

Chức năng: Cánh tay đẩy sách

Động cơ servo SG90 có kích thước nhỏ, là loại được sử dụng nhiều nhất để làm các

mô hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng

Động cơ servo SG90 Tower Pro có tốc độ phản ứng nhanh, các bánh răng được làmbằng nhựa nên cần lưu ý khi nâng tải nặng vì có thể làm hư bánh răng, động cơ RCServo 9G có tích hợp sẵn Driver điều khiển động cơ bên trong nên có thể dễ dàng điềukhiển góc quay bằng phương pháp điều độ rộng xung PWM

Trang 28

2.2.8 Công tắc hành trình

Công tắc hành trìnhhay còn gọi công tắc giới hạn hành trình là dạng công tắc dùng

để giới hạn hành trình của các bộ phận chuyển động Nó có cấu tạo như công tắc điệnbình thường nhưng có thêm cần tác động để cho các bộ phận chuyển động tác động vàolàm thay đổi trạng thái của tiếp điểm bên trong nó Công tắc hành trình là loại khôngduy trì trạng thái, khi không còn tác động sẽ trở về vị trí ban đầu Công tắc hànhtrìnhdùng để đóng cắt mạch dùng ở lưới điện hạ áp Nó có tác dụng giống như nút ấnđộng tác ấn bằng tay được thay thế bằng động tác va chạm của các bộ phận cơ khí, làmcho quá trình chuyển động cơ khí thành tín hiệu điện

Hình 2.10: Công tắc hành trình

Trang 29

2.3 Lập trình ứng dụng cho raspberry pi bằng QT Creator

2.3.1 Cài hệ điều hành cho raspberry pi

Raspberry Pi có rất nhiều hệ điều hành hỗ trợ, trong đó có Raspbian là hệ điều hànhchính thức của Raspberry Pi Foundation, ngoài ra có 7 hệ điều hành khác được xácnhận hỗ trợ và kha khá hệ điều hành do các nhà phát triển tự tối ưu

Để cài đặt hệ điều hành cho Raspberry Pi, ta sẽ cần: Phần mềm Win32 Disk Imager(WDI) và một thẻ nhớ MicroSD tối thiểu 4GB

Các bước cài đặt hệ điều hành cho Raspberry Pi:

Bước 1: Chèn thẻ MicroSD vào đầu đọc thẻ ở máy tính và kiểm tra tên ổ được gán

cho thẻ nhớ (ví dụ ổ H:), tránh nhầm ổ dẫn đến mất dữ liệu vì phần mềm sẽ format thẻcủa mình

Bước 2: Mở phần mềm Win32DiskImager

Bước 3: Lựa chọn file hệ điều hành mà ta đã tải về Sau đó lựa chọn ổ thẻ nhớ cần

ghi

Hình 2.11: Cài hệ điều hành cho raspberry pi

Cuối cùng bạn bấm Write và chờ đợi quá trình ghi hoàn tất

Trang 30

2.3.2 Viết ứng dụng cho raspberry pi

- Viết phần mềm, giao diện hiển thị

Mở phần mềm QT Creator Vào File  New file or projects Một giao diện mớihiện ra chọn Applivation  Qt Widgets Application

Hình 2.12: Chọn project

Cài đặt tên project và vị trí lưu

Hình 2.13: Cài vị trí lưu project

Chọn trình biên dịch qmake, còn lại thì next

Trang 31

Hình 2.14: Chọn trình biên dịch

Tại Form chính thiết kế một giao diện cơ bản của Qt như sau Kéo thả các filter và thay đổi chúng theo ý muốn của mình.

Hình 2.15: Thiết kế giao diện

Tại giao diện viết code, viết code và tạo mới theo yêu cầu của ứng dụng

Trang 32

Hình 2.16: Viết code chính cho phần mềm

Sau khi đã viết xong phần mền thì ta copy toàn bộ file projcet sang raspberry piCài đặt qt5 để biên dịch và serial để giao tiếp với arduino qua usb Để cài đặt ta mởterminal và gõ lệnh:

sudo apt install qt5-default

libqt5serialport5-dev

Hình 2.17: Cài đặt qt5 và serial

Trang 33

Tiếp ta tạo một thư mục bulid_QTThuvien nằm cùng thư mục project mà ta đã copyqua Ở đây ta tạo thư mục bằng lệnh “mkdir build_QTThuvien” Tiếp đó ta dùng lệnh

“cd mkdir build_QTThuvien” để vào thư mục Sau đó ta chạy lệnh “qmake /QTThuvien” và “make” để build

Hình 2.18: Build project

Sau khi đã build xong thì ta sẽ thấy file QTThuvien, ta sử dụng lệnh “./QTThuvien”

để chạy file này

Hình 2.19: Mở phần mềm

Trang 34

- Tạo bảng dữ liệu database

Bảng accounts lưu trữ thông tin, các trường của tài khoản

Hình 2.20: Bảng accounts

Bảng books lưu trữ thông tin các quyển sách

Hình 2.21: Bảng books

Trang 35

Bảng logs lưu trữ lịch sử mượn trả sách của các tài khoản

Hình 2.22: Bảng logs

- Cấu trúc phần mềm:

Ở đây tượng tự như một phần mềm được chạy trên hệ điều hành Raspberry pi.Nhiệm vụ của phần mềm này là cho người sử dụng dễ dàng thao tác mượn trả sách,quản lý được sách đã mượn và kho sách của thư viện

Cấu trúc:

Trang 36

Hình 2.23: Cấu trúc thư mục phần mềm

- Headers: Thư mục chứa các file khai báo

- Sources: Thư mục chứa code chính

+ account : Các trường về tài khoản

+ account_repository: Nhận dữ liệu từ database

Trang 37

+ account_service: Hiển thị lên data table

+ accounttablemodel: Kết nối giữa dữ liệu lấy từ database qua account_repository,account_service

+ app_state: Lưu trạng thái ứng dụng

+ auth_service: Dùng để đang nhập

+ book : Các trường về tài khoản

+ book_repository: Nhận dữ liệu từ database

+ book_service: Hiển thị lên data table

+ bookidget2: File đồ họa

+ bookttablemodel: Kết nối giữa dữ liệu lấy từ database qua book_repository,book_service

+ bookwidget: File đồ họa

+ DatabaseConnector: Kế nối với cơ sở dữ liệu

+ flowlayout: Tạo thanh cuộn cho màn hình

+ logindialog: kiểm tra tài khoản đăng nhập

+ mainwindow: File code chính, kết nối với Arduino, giao tiếp với Arduino

- Forns: Thư mục chứa file đồ họa

2.4 Phân tích hệ thống quản lý thư viện tự động

- Màn hình tương tác để dễ dàng mượn trả sách

- Quản lý được các đầu sách trong thư viện

- Quản lý các đầu sách mà người mượn mượn theo tài khoản

Trang 38

- Cơ chế lấy trả sách tự động

- Kho chứa sách

- Phần mềm đăng nhập vào hệ thống quản lý, mượn và trả sách thư viện

Tài khoản quản lý:

+ Đăng nhập/ Đăng xuất

+ Thêm, xóa, sửa sách

+ Thêm, xóa, sửa người dùng

+ Tìm kiếm sách, tài khoản người dùng

Tài khoản người dùng:

+ Thêm, xóa, sửa thông tin cs nhân

+ Tìm kiếm sách

+ Mượn/ Trả sách

- Phần cứng

Giá sách

+ Giá để sách riêng từng quyển

Cơ cấu lấy sách, trả sách

+ Động cơ điều khiển trục X

+ Động cơ điều khiển trục Z

+ Động cơ điều khiển trục Z

+ Cánh tay đẩy sách

+ Cảm biên nhận diện xem sách đã được lấy hay cất chưa

+ Camera kiểm tra sách xem sách đúng hay sai

Trang 39

- Arduino và máy tính nhúng raspberry pi giao tiếp qua cổng Serial(UART)

2.5 Sơ đồ nguyên lý

Hình 2.24: Sơ đồ nguyên lý

- Đầu tiên người dùng sẽ đăng nhập vào hệ thống thư viện

- Sau đó vào thư viện để mượn sách, vào tủ sách để kiểm tra xem mình đã mượn sáchnào và trả sách

- Nếu mượn sách thì arduino sẽ điều khiển cách động cơ di chuyển để lấy sách trongthư viện mang ra khay cho người dùng, và sẽ thông bao cho người dùng lấy sách Khingười dùng lấy sách xong thì hoàn tất quá trình mượn sách

- Nếu người dùng trả sách thì màn hình sẽ thông báo bỏ sách vào khay Khi người dùng

bỏ sách vào khay thì sẽ có camera chụp lại ảnh và xử lý để kiểm tra xem có đúng sách

đã mượn không Nếu đúng thì robot sẽ lấy sách và xếp vào thư viện Nếu không thìmàn hình sẽ thông báo cho người dùng kiểm tra lại sách và đặt lại, lặp lại quáy trìnhđến khi nào đúng hoặc hủy tiến trình

Trang 40

2.6 Sơ đồ điều khiển

- Phần 1 điều khiển động cơ, arduino là trung tâm điều khiển

Hình 2.25: Sơ đồ mạch điều khiển

Gồm 5 phần chính:

+ Module xử lý arduino: nhận tín hiệu từ máy tính raspberry pi, phản hồi và điềukhiển động cơ

+ Driver điều khiển động cơ A8833: Điều khiển động cơ trục Z

+ Mạch cầu H điều khiển động cơ giảm tốc L298: Điều khiển động cơ trục X và Y

Ngày đăng: 20/10/2020, 15:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w