Trang 1 BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘIKHOA CƠ KHÍĐỒ ÁN TỐT NGHIỆPĐề tài: Nghiên cứu, thiết kế hệ thống chấm bài thi trắc nghiệm tự động ứng dụng công nghệ xử lý ảnhGiáo
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Khoa : Cơ Khí
Hà Nội, 2022
Trang 2BỘ CÔNG THƯƠNG
PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP
CHUYÊN NGÀNH CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ
Họ tên sinh viên:
1 Vũ Văn Phong Mã SV: 2019604792 Lớp: Cơ điện tử 3 Khóa: 14
2 Đỗ Quang Tài Mã SV: 2019604259 Lớp: Cơ điện tử 3 Khóa: 14
3 Nguyễn Trung Hiếu Mã SV: 2019605383 Lớp: Cơ điện tử 3 Khóa: 14
Tên đề tài: Nghiên cứu, thiết kế và chế tạo hệ thống chấm bài thi trắc nghiệm tự động
Mô hình thực của thiết bị chấm bài thi trắc nghiệm tự động.
Thời gian thực hiện: từ 24/10/2022 đến 25/12/2022.
GIÁO VIÊN HƯỚNG DẪN
(Ký và ghi rõ họ tên)
TRƯỞNG KHOA
TS Nguyễn Văn Thiện
Trang 3NỘI DUNG THỰC HIỆN
1 Bố cục thuyết minh đề tài:
Chương 1: Tổng quan về hệ thống
1.4 Phạm vi và giới hạn đề tài Nguyễn Trung Hiếu 1.5 Ý nghĩa khoa học và thực tiễn đề tài Đỗ Quang Tài
Chương 2: Cơ sở lý thuyết
2.4 Xử lý ảnh và khái niệm cơ bản về ảnh số Đỗ Quang Tài
Chương 3: Thiết kế hệ thống
3.1 Thiết kế hệ thống mô hình hệ thống cơ khí Vũ Văn Phong 3.2 Thiết kế hệ thống chấm bài thi bằng OpenCV Đỗ Quang Tài3.3 Thiết kế hệ thống điều khiển Nguyễn Trung Hiếu
Chương 4: Chế tạo hệ thống chấm bài thi trắc nghiệm tự
động
4.1 Chế tạo hệ thống cơ khí
Vũ Văn Phong
Đỗ Quang Tài Nguyễn Trung Hiếu
4.2 Chế tạo hệ thống điện điều khiển
Vũ Văn Phong
Đỗ Quang Tài Nguyễn Trung Hiếu
4.3 Lập trình hệ thống chấm bài thi
Vũ Văn Phong
Đỗ Quang Tài Nguyễn Trung Hiếu
Chương 5: Kết quả và đánh giá
Trang 45.2 Đánh giá Nguyễn Trung Hiếu 5.3 Hạn chế, phương pháp giải quyết và ý tưởng phát triển Vũ Văn Phong
1 Bản vẽ lắp hệ thống cơ khí A0 1 Đỗ Quang Tài
2 Bản vẽ hệ thống điều khiển A1 1 Vũ Văn Phong
3 Lưu đồ thuật toán điều khiển A1 1 Nguyễn Trung Hiếu
3 Mô hình/ sản phẩm (nếu có)
Trình bày ngắn gọn thông số kỹ thuật cơ bản của mô hình/ sản phẩm.
Chế tạo, lắp ráp hệ thống truyền động
Vũ Văn Phong
Đỗ Quang Tài Nguyễn Trung Hiếu
Lắp ráp mạch điều khiển
Vũ Văn Phong
Đỗ Quang Tài Nguyễn Trung Hiếu
Lắp ráp hệ thống camera
Vũ Văn Phong
Đỗ Quang Tài Nguyễn Trung Hiếu
Trang 5MỤC LỤC
DANH MỤC HÌNH ẢNH
Trang 6LỜI NÓI ĐẦU
Trong xu hướng phát triển không ngừng của nền công nghệ hiện đại tiên tiếnngày càng phát triển trong những thập kỷ qua , công nghệ kỹ thuật chính xác càngngày phát triển vượt bậc theo Đồng nghĩa với việc đó là nền giáo dục ngày càngđược nâng cao Máy móc dần thay thế sức lao động của con người, giúp con người
có thể làm việc chuẩn xác hơn hết trong mọi lĩnh vực: công nghiệp, nông nghiệp, y
tế, … Các vi mạch với khả năng tích hợp ngày càng lớn , tốc độ xử lý ngày càngđược nâng cao và chính xác, giá thành rẻ hơn Ban đầu, các bộ được chế tạo vớinhững chức năng chuyên dụng , dần dần một linh kiện đa năng ra đời Tiếp theo đó
là nền tảng AI, trí tuệ nhân tạo ra đời, giúp chúng ta có thể phân tích được mọi tìnhhuống và điều khiển chuẩn xác mọi công việc, hướng đến công nghệ 4.0 trong hiệntại và tương lai, được ứng dụng trong rất nhiều lĩnh vực
Đời sống xã hội ngày một thay đổi, bên cạnh những tiến bộ thì các vấn đềcũng nảy sinh càng nhiều, đặc biệt là khi quy mô hoạt động của tổ chức nền giáodục đang ngày được mở rộng Trong nhiều trường hợp , việc chính xác trong kếtquả học tập ngày càng được đề cao, làm cho các giảng viên mất khá nhiều thời gian
để có được độ tập trung chấm bài thi một cách chính xác nhất Do đó, các hệ thống
AI , trí tuệ nhân tạo hiện nay có thể giúp cho con người dễ dàng hơn trong việcchính xác trong quá trình đánh giá học sinh, sinh viên qua các bài thi để đảm bảotính công bằng , xác thực, đặc biệt đó là sự tiến bộ vượt bậc của nền giáo dục nướcnhà
Bằng một ý tưởng có tính chất ứng dụng cao trong thực tế của nền giáo dụcNước nhà, chúng em lựa chọn đề tài:” NGHIÊN CỨU, THIẾT KẾ HỆ THỐNGCHẤM BÀI THI TRẮC NGHIỆM TỰ ĐỘNG” trực tiếp do giảng viên T.S PhanĐình Hiếu hướng dẫn Hệ thống có khả năng chấm bài thi trắc nghiệm tự động theokhuôn mẫu của giấy thi trắc nghiệm được bộ giáo dục đưa ra Dưới sự điều khiển
và xử lý của hệ thống này giúp các giáo viên, giảng viên có thể ứng dụng chấm bài
Trang 7thi chính xác, quá trình chấm thi trắc nghiệm sẽ được diễn ra nhanh hơn, chính xáchơn, đảm bảo và hiệu quả hơn.
Trang 8CHƯƠNG I : TỔNG QUAN VỀ HỆ THỐNG
1.1 Tổng quan chung về hệ thống
1.1.1 Giới thiệu đề tài nghiên cứu
Như chúng ta đã biết, trong những năm gần đây, bắt đầu từ năm 2017, cácmôn Toán, Tổ hợp Khoa học tự nhiên (Vật lý, Hóa học, Sinh học), Tổ hợp Khoahọc xã hội ( Lịch sử, Địa lý, Giáo dục công dân), Ngoại ngữ đều thi theo hình thứctrắc nghiệm trên mẫu giấy thi do bộ Giáo Dục và Đào Tạo Việt Nam ban hành đểtiến hành xét tuyển lấy điểm thi vào các trường Cao Đẳng , Đại Học… Nếu nhưkhông được sự hỗ trợ của máy móc thì sẽ gây rất nhiều khó khăn cho các giáo viên,giảng viên trong quá trình chấm thi có thể mất rất nhiều thời gian và rất dễ gâynhầm lẫn trong kết quả, ảnh hưởng rất lớn đến năng lực và điểm thi của học sinh,sinh viên Để khắc phục tình trạng trên thì người ta đã sử dụng chấm bài thi quétbằng tia hồng ngoại, tuy nhiên biện pháp đó không được tối ưu hóa
Từ những yêu cầu thực tế đó, những đòi hỏi sự chính xác ngày càng caotrong cuộc sống, cộng với sự hợp tác phát triển mạnh mẽ của trí tuệ nhân tạo AInên chúng em đã chọn đề tài :” Nghiên cứu, thiết kế hệ thống chấm bài thi tự độngứng dụng công nghệ xử lý ảnh” nhằm đáp ứng nhu cầu của nền giáo dục nước nhà
để có thể chuẩn xác hơn trong khi chấm các bài thi và dễ dàng hơn đối với giáoviên, giảng viên sử dụng, góp phần phát triển khoa học kĩ thuật, nền văn minh tiêntiến, hướng đến công nghệ hiện đại 4.0 hiện nay
1.1.2 Mô tả nhiệm vụ công nghệ
Hệ thống có khả năng:
Kéo lần lượt từng bài thi trong tệp bài thi được xếp vào khay
Đọc được số báo danh trong bài thi
Nhận dạng được bài thi trắc nghiệm bằng Python - OpenCV
Nhận dạng ra những câu đúng và sai để tính ra số điểm trên thang điểm 10
Sau khi chấm xong bài thi có thể tự động chuyển qua bài thi khác
Trang 9Động cơ Động cơ bước – Step motor 42 x 48
Module điều khiển động cơ Module L298
Khung nhôm định hình Nhôm định hình 2020 EU
Trục Vít-me Trục + Đai ốc Vít me 8mm
Gối đỡ thanh trượt Kẹp trục SK8
Thanh trượt Thanh trượt mạ Crom Ø 8mm
Đầu khớp nối trục động cơ Đầu khớp nối trục động cơ 5x8 mm
Đèn chiếu sáng Led thanh 220V – 300 mm
1.2 Mục tiêu của đề tài
Thiết bị chấm bài thi trắc nghiệm tự động là hệ thống có thể được sử dụngrộng rãi trong môi tường học đường trong thời gian sắp tới Giải pháp thông minhnhờ trí tuệ nhân tạo thực hiện giúp con người phân tích chuẩn xác và nhanh hơn.Giải pháp này đã được nước ngoài thực hiện rất nhiều và rộng rãi, nhưng ở ViệtNam vẫn còn hạn chế do vẫn còn nhiều sai số trong hệ thống xử lý và thực hiệnchưa được tối ưu hóa 1 cách tối đa nhất
Đây là hệ thống hoàn toàn tự động, nhưng vẫn phải có sự giám sát của ngườithực hiện Từ ý tưởng ban đầu, dựa vào những kiến thức đã được học, nhóm bắtđầu tiến hành tìm hiểu những lý thuyết liên quan đến xử lý ảnh và sau đó bắt tayvào thiết kế và lập trình thực tế với các yêu cầu cơ bản như sau:
Trang 10 Tính toán thiết kế băng chuyền.
Thiết kế phần mềm
Tính toán thiết kế khung thiết bị
1.3 Phương pháp nghiên cứu
Đây là một đề tài khá hay và ứng dụng thực tế, nhưng trong thời gian thựchiện đồ án nhóm thực hiện đề tài gặp rất nhiều khó khăn trong việc thu thập nguồntài liệu
Nhóm thực hiện theo 2 phương pháp chủ yếu như sau:
a) Phương pháp tham khảo tài liệu
Nguồn tài liệu chủ yếu bằng tiếng Anh và tiếng Việt được tìm kiếm trênInternet và thư viện trường
Tham khảo tài liệu nghiên cứu khoa học do các thầy hướng dẫn soạn thảo
Các bài viết và video trên Internet
b) Phương pháp thực hành
Lập trình giải quyết bài toán nhận biết lỗi đúng sai trên bài thi trắc nghiệm
Tính toán và thiết kế cho hệ thống cơ khí để dễ dàng nắm bắt được lý thuyết
so với thực tế
1.4 Phạm vi và giới hạn đề tài
Thiết bị chấm bài thi trắc nghiệm tự động chỉ được ứng dụng rộng rãi trongmôi trường giáo dục nên thực tế cũng chưa thể tìm hiểu hết được chức năng Trongphạm vi là đề tài nghiên cứu tốt nghiệp, với những giới hạn về thời gian, tài chính
và tầm hiểu biết Nhóm xây dựng, tính toán và thiết kế mô hình với những chứcnăng như sau:
Nhận diện lỗi đúng/sai trong bài thi trắc nghiệm đã được tô đáp án
Tính toán thiết kế băng chuyền để di chuyển bài thi
Tính toán, thiết kế thiết bị kéo giấy tự động
Hiển thị điểm ra màn hình
Trang 111.5 Ý nghĩa khoa học và thực tiễn đề tài
Thông tin về điểm số của từng bài thi ứng với từng số báo danh được cậpnhật và chính xác
Giảm bớt thời gian chấm bài thi của giáo viên hoàn toàn được tự động hóa,nhanh chóng và chính xác
Nhờ công nghệ cao mà trí tuệ nhân tạo đem lại giúp chúng ta có thể đánh giátốt hơn về năng lực của sinh viên trong nền giáo dục nước nhà
Tiết kiệm thời gian, coogn sức của giáo viên, đồng thời khó xảy ra sai sót,gian lận khi chấm bài thi
Tiện nghi, dễ sử dụng với mọi người
Giảm thiểu khiếu nại do sai số về điểm khi đánh giá năng lực mỗi học sinh,sinh viên qua bài thi trắc nghiệm
Thiết bị chất lượng cao, hệ thống haotj động bền bỉ, lâu dài và liên tục
Xuất báo cáo về điểm khi cần thiết
Dễ dàng quản lý, điều khiển hoàn toàn tự động
Hệ thống bảo mật tuyệt đối do dùng dùng đến mạng lưới Internet, chống thấtthoát dữ liệu mật truyền ra ngoài
Trang 12Chương II: Cơ sở lý thuyết 2.1 Nguyên lý hoạt động
2.1.1 Sơ đồ khối hệ thống chấm bài thi trắc nghiệm tự động
Sơ đồ khối hệ thống chấm thi trắc nghiệm tự động do nhóm đề xuất đượcgiớithiệu như Hình 1.1, trong đó có những khối chức năng cơ bản như sau:
Phần cứng
Hệ thống kéo giấy được nhóm thiết kế tích hợp với Camera và đèn trợ sángphía trên Đây là một hệ thống cơ khí tự động được điều khiển bằng Board mạchArduino từ khay đựng phiếu thi tới vị trí xác định để camera thu nhận hình ảnh.Camera sẽ được kết nối với máy vi tính có cài đặt phần mềm Python – OpenCV.Phần cứng này sẽ được điều khiển bằng các phần mềm driver (Arduino IDE) trênmáy tính
Phần mềm
Nhận dạng vùng chưa phiếu thi trong ảnh được thu nhận bởi camera Vùngchứa thông tin trên phiếu thi bao gồm: mã đề, số báo danh và phần trả lời) Do thờigian và được tìm hiểu chưa được chuyên sâu, nhóm chỉ nhận dạng vùng làm bài thi
và mã đề trên giấy thi sau đó hệ thống sẽ xử lý thông tin sẽ đề ra kết quả Kết quả
sẽ được hiện ra màn hình để được dúng ta nhìn thấy, mở rộng hơn nữa là có thểđược lưu vào file hoặc cơ sở dữ liệu để in ấn, thống kê
Trang 13Tập phiếu trả lời trắc nghiệm được đưa vào khay kéo giấy Thông qua hệthống kéo giấy, phiếu trả lời trắc nghiệm được đưa đến vị trí xác định để camerathu nhận ảnh Khi phiếu trả lời trắc nghiệm tới vị trí chụp, tín hiệu chỉ thị chụpđược gửi tới camera để camera thu nhận ảnh Kết thúc quá trình thu nhận ảnh, tínhiệu chỉ thị tời được gửi tới hệ thống tời giấy Hệ thống tời giấy sẽ đưa phiếu trả lờitrắc nghiệm từ vị trí chụp ra ngoài, đồng thời đưa phiếu trả lời trắc nghiệm mới vào
vị trí chụp
b) Quá trình đọc thông tin trên ảnh
Dữ liệu ảnh từ quá trình 1 được tiền xử lý nhằm mục đích lọc nhiễu và nângcao chất lượng ảnh Sau đó, thông qua việc xác định 4 đỉnh của phiếu trả lời trắcnghiệm trong ảnh, góc nghiêng của phiếu trả lời trắc nghiệm sẽ được tính toán, tựđộng điều chỉnh góc nghiêng và chuẩn hóa ảnh theo một tỉ lệ xác định Ảnh sauchuẩn hóa được trích chọn các vùng thông tin: vùng số báo danh, vùng mã đề, vùngtrả lời Việc sử dụng thuật toán nhận dạng dấu tích trên từng vùng sẽ cho ta thôngtin bài thi
c) Quá trình đánh giá và xuất kết quả
Thông tin từ quá trình trên sẽ được xem xét và tính toán theo phần trăm sốcâu được tô đúng trên bài thi Tiến hành so sánh thông tin thu thập được với cơ sở
dữ liệu với đáp án tương ứng Ta sẽ nhận được kết quả bài thi Kết quả này sẽ đượcđưa ra màn hình hiển thị để hỗ trợ giáo viên có thể chấm điểm trực tiếp vào bài thi
Trang 14khiển AVR Atmega328P Với Arduino chúng ta có thể xây dựng các ứngdụng điê ̣n tử tương tác với nhau thông qua phần mềm và phần cứng hỗ trợ
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng
vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Tuy nhiên phiên bảnthường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega
Phần mềm để lập trình cho mạch Arduino là phần mềm IDE
b) Cấu tạo của Arduino
c) Giới thiệu các loại Board Arduino phổ biến
Không giống như hầu hết các board mạch lập trình trước đó, Arduino khôngyêu cầu một phần cứng riêng để lập trình mã mới lên board mà bạn chỉ cần sử dụngcáp USB Đồng thời, phần mềm Arduino IDE sử dụng phiên bản cơ bản của C++,giúp viê ̣c học chương trình trở nên đơn giản hơn Chúng ta có thể tổng hợp một sốloại Arduino phổ biến như sau:
Arduino Uno: Đây chính là loại board đơn giản nhất nên rất phù hợp vớinhững người mới bắt đầu tìm hiểu về lĩnh vực này Dữ liê ̣u số bao gồm 14 chân,
Hình 0.2
Trang 15đầu vào gồm 6 chân 5V, khả năng phân giải là 1024 mức, tốc độ 16MHz, điê ̣n áp
từ 7V đến 12V Kích thước của Board này là 5,5x7cm
Arduino Micro: Bao gồm có đến 20 chân, trong đó có 7 chân có thể phátPWM Loại này có thiết kế khá nhỏ gọn, kích thước chỉ 5x2cm
Arduino Nano: Có thể nói đây chính là loại board có kích thước nhỏ nhất chỉ2x4cm, viê ̣c lắp đặt được thực hiê ̣n dễ dàng
Arduino Pro: Đây là một thiết kế mới mẻ khi chân số không có sẵn, tùy vào
số chân bạn sử dụng để gắn trực tiếp và giúp tiết kiê ̣m được khoảng không lớn, tathường thấy hai loại có nguồn 3.3V và 5V
Arduino Mega: Chân số lên đến 64, 14 chân có thể phát PWM, 4 cổng truyềntiếp cùng kích thước khá lớn 5x10cm
Arduino Leonardo: Là board không có cổng nối USB dùng lập trình Đượcthiết kế tại một chip nhỏ điều khiển Kết nối qua COM ảo và có thể kết nối vớichuột và bàn phím
Arduino LilyPad: Board mạch Lily Pad Arduino là một công nghê ̣ dê ̣t điê ̣n
tử có thể đeo được được mở rộng bởi Leah Sang Buechley, và được thiết kế mộtcách cẩn thận bởi dòng Lea Leah và SparkFun Mỗi board được thiết kế một cáchtưởng tượng với các miếng kết nối khổng lồ & một mặt sau mịn màng để chochúng được khâu vào quần áo bằng chỉ Arduino này cũng bao gồm I / O, nguồn
và cả board cảm biến được chế tạo đặc biê ̣t cho hàng dê ̣t may điê ̣n tử
Arduino RedBoard: Board mạch RedBoard Arduino có thể được lập trìnhbằng cáp USB Mini-B bằng Arduino IDE Nó sẽ hoạt động trên Windows 8 màkhông phải sửa đổi cài đặt bảo mật của bạn Nó không đổi do chip USB hoặc FTDIchúng tôi sử dụng và nó hoàn toàn phẳng ở mặt sau Tạo nó rất đơn giản để sử dụngtrong thiết kế dự án Chỉ cần cắm board, chọn tùy chọn menu để chọn ArduinoUNO và bạn đã sẵn sàng để tải lên chương trình Bạn có thể điều khiển RedBoardqua cáp USB bằng giắc cắm thùng
d) Thông số cơ bản của Arduino
Trang 16+ Vi điều khiển Atmega 328 (họ 8 bit)
+ Điê ̣n áp hoạt động 5V – DC (cấp qua cổng USB)
+ Tần số hoạt động 16 MHz
+ Dòng tiêu thụ 30mA
+ Điê ̣n áp vào khuyên dùng7 – 12V – DC
+ Điê ̣n áp vào giới hạn 6 – 20V – DC
+ Số chân Digital I/O 14 (6 chân PWM)
+ Số chân Analog 6 (độ phân giải 10 bit)
+ Dòng tối đa trên mỗi chân I/O 30 mA
Viết code cho board mạch Arduino
Hỗ trợ nhiều loại board mạch arduino
Giao diện được sắp xếp hợp lý
Bộ sưu tập các ví dụ mẫu
Mảng thư viện phong phú v.v.v…
Giao điện phần mềm IDE
Trang 17Những lệnh IDE cơ bản
Setup(): Mỗi khi sketch bắt đầu, lê ̣nh setup sẽ giúp bạn khởi tạo các biến
và bắt đầu sử dụng các thư viê ̣n
Loop():Một vòng lặp theo sau setup, khiến nó phản hồi vô hạn với bất
kỳ logic nào
Break: Nếu bạn muốn thoát khỏi một lê ̣nh, nhấn break
If or else: Các lê ̣nh logic khởi tạo một hành động mỗi khi một điều kiê ̣n
được thỏa mãn
return: Trả về một giá trị nhất định
while: Một vòng lặp khác diễn ra liên tục trong một điều kiê ̣n nhất định.
goto: Lê ̣nh này cho phép bạn đi đến một dòng nhất định trong code Boolean và các toán tử số học
Bên cạnh sketch và các lê ̣nh kiểm soát, bạn phải biết một số Boolean vàtoán tử số học để chỉ huy các chương trình
Trang 18 Các toán hạng: Bằng (=), phép cộng (+), phép trừ (-), phép nhân (*) vàphép chia (/)
Các toán hạng nâng cao: Không bằng (!=), Nhỏ hơn hoặc bằng (<=), lớnhơn hoặc bằng (>=), phần dư (%)
LED_BUILTIN: Đưa ra số lượng chân LED (LED pin)
Các biến quan trọng khác cần nhớ bao gồm True/false, sizeof(), void, int vàstring Chúng cũng giống như bất kỳ chương trình thông thường nào khác baogồm Python, C++, v.v
Các hàm Arduino tích hợp sẵn :
- digitalRead(): Đọc giá trị từ một pin kỹ thuật số nhất định Ngoài ra còn có
digitalWrite()
- pinMode(PIN_NUMBER, INPUT/OUTPUT): Thiết lập pin tại vị trí
PIN_NUMBER thành INPUT hoặc OUTPUT
- pinMode(PIN_NUMBER, INPUT_PULLUP): Thiết lập pin tại vị trí
PIN_NUMBER trở thành đầu vào bằng cách sử dụng điê ̣n trở kéo lên (pull-upresistor) tích hợp của bo mạch Arduino
- analogRead(PIN_NUMBER): Đọc số chân analog PIN_NUMBER và
trả về một số nguyên từ 0 đến 1023
- analogWrite(PIN_NUMBER, VALUE): Giả lập analog output VALUE
bằng cách sử dụng PWM trên PIN_NUMBER (Lưu ý: Chỉ khả dụng trên cácchân 3, 5, 6, 9, 10 và 11)
- analogReference(DEFAULT): Sử dụng điê ̣n áp tham chiếu mặc định (5V
hoặc 3.3V tùy thuộc vào điê ̣n áp bo mạch)
- analogReference(INTERNAL): Sử dụng điê ̣n áp tham chiếu bên trong
Trang 19(1.1v cho ATmega168/328p, 2.56 cho ATmega 32U4/8)
- analogReference(EXTERNAL): Sử dụng điê ̣n áp được áp dụng cho
chân AREF làm điê ̣n áp tham chiếu (Lưu ý: chỉ 0-5V)
Các hàm liên quan đến thời gian
- Delay(): Hãy nhớ lại ví dụ về đèn LED nhấp nháy Bạn có thể thêm độ trễ
vào đó
- millis(): Trả về thời gian tính bằng mili giây kể từ khi Arduino sketch bắt
đầu chạy dưới dạng một số nguyên dài không dấu
- micros(): Trả về thời gian tính bằng micro giây kể từ khi Arduino sketch
bắt đầu chạy dưới dạng một số nguyên dài không dấu
- delayMicroseconds (số nguyên): Trì hoãn thực thi chương trình trong
(số nguyên) micro giây.1
2.2.2 Tổng quan về Module L298
a Giới thiệu sơ lược về Module L298
Module cầu H sử dụng IC L298 là một Module phổ biến và thông dụng,được ứng dụng rất nhiều vào các sản phẩm: điều khiển xe robot, điều khiển cánhtay robot, điều khiển động cơ bước, động cơ DC Cung cấp điện áp cho hoạt độngcủa động cơ DC hay động cơ bước loại vừa Trong đề tài này Module L298 đượcArduino điều khiển cho việc đóng/mở cổng tại bãi đỗ xe thông minh
b Thông số kĩ thuật
Dòng tối đa cho mỗi cầu H 2A (=> 2A cho mỗi motor )
Điện áp của tín hiệu điều khiển +5V ~ 7V
Dòng tín hiệu điều khiển 0 ~ 36 mA
Công suất hao phí 20W (khi nhiệt độ T = 75 độ C)
Nhiệt độ cho phép -25 đến 130 độ C
Sơ đồ chân và chức năng của Module L298
1 Theo giáo trình Điều khiển và lập trình với Arduino UNO, Nhà xuất bản Giáo Dục Việt Nam, 2021
Trang 20 + 5V: cấp nguồn VDC
+ 12V: cấp nguồn VDC
GND: chân âm hoặc nối đất
Output A, Output B: chân kết nối với động cơ
Enable A: Chân cho phép động cơ hoạt động hoặc dùng chân này để điều khiểntốc độ động cơ bằng cách điều xung PWM, A Enable cho ngõ ra Output , BEnable cho ngõ ra Output B
Logic Input: gồm các chân IN1, IN2, IN3, IN4 cặp IN1 và IN2 dùng để điềukhiển Output A, tương tự cho cặp IN3, IN4 cho Output B
c Nguyên lý hoạt động
Hình 1
Trang 21Bốn chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7,
10, 12 của IC L298 Đây là các chân nhận tín hiệu điều khiển
Bốn chân OUTPUT : OUT 1, OUT2, OUT3, OUT4 ( tương ứng với các chânINPUT) được nối với các chân 2, 3, 13, 14 của IC L298
Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong IC L298 Nếu
ở mức logic “1”( đối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ở mứclogic “0” thì mạch cầu H không hoạt động
Khi ENA = 0: Động cơ không quay với mọi đầu vào
Khi ENA = 1: + INT1 = 1; INT2 = 0: Động cơ quay thuận
Khi ENA = 1: + INT1 = 0; INT2 = 1: Động cơ quay nghịch
Khi ENA = 1: + INT1 = 0; INT2 = 0: Động cơ dùng ngay tức thì
2.3 Mô hình hóa động cơ bước
Chọn động cơ bước là động cơ có momen lớn và ổn định, điều khiển
đơn giản chiều quay , tốc độ Hoạt động bền bỉ, tin cậy do ít bị hỏng do quá tải Có khả năng điều chỉnh chính xác vịt rí với chế độ vi bước (1/2 , 1/4 ,
1/8 , 1/16 góc bước), có khả năng điều khiển tốc độ linh hoạt dựa trên tần số cấp xung vào driver, có khả năng hãm lại khi sự cố mất điện => thích hợp vớiyêu cầu điều khiển chính xác, điều khiển tốc độ và chiều quay, momen lớn ở mọi tốc độ
Hình 2
Trang 22Động cơ bước được mô tả bởi phương trình vi phân:
Ia và Ib là dòng điện của pha a và pha b
(A) Va và Vb là điện áp của pha a và pha
b (V)
R là điện trở trong mỗi pha của động cơ(Ω)
L là cảm kháng trong mỗi pha của động
cơ
H) Nr là số cực stator của động cơ,
Km là momen xoắn của động cơ,
Wm là tốc độ góc của rotor (rad/s)
m là góc quay của rotor (rad),
TL là momen tải (Nm),
J là momen quán tính (kg.m2),
B là hệ số ma sát nhớt của giảm trấn (Nms/R)
Trang 232.4 Xử lý ảnh và những khái niệm cơ bản về ảnh số
2.4.1 Pixel
Một bức ảnh hay một bức tranh ta nhìn thấy bằng mắt thường là một sự liêntục về không gian cũng như độ sáng Khi kỹ thuật số được ứng dụng vào lĩnh vựcnhiếp ảnh, rất nhiều khái niệm mới đã được ra đời
Kỹ thuật số là một kỹ thuật xử lý rời rạc trên máy tính, kỹ thuật này chỉ ápdụng đối với các bit (các con số), chính vì vậy các bức ảnh liên tục về không gian
và độ sáng cần phải được “số hóa” Số hoá ảnh thực chất là sự biến đổi gần đúngmột ảnh liên tục thành một tập điểm rời rạc phù hợp với ảnh thật về vị trí (khônggian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập saocho mắt người không thể phân biệt được ranh giới giữa chúng Chính vì vậy, khichúng ta nhìn một bức tranh là tập hợp của rất nhiều điểm rời rạc, chúng ta sẽ cócảm giác đó là một bức ảnh liên tục Mỗi một điểm như vậy gọi là một điểm ảnh(PEL: Picture Element) hay gọi tắt là Pixel [3] Trong khuôn khổ ảnh hai chiều, mỗipixel ứng với cặp tọa độ (x, y)
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặcmàu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thíchhợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu)của ảnh số gần như ảnh thật
2.4.2 Độ xám
Mỗi một điểm ảnh (Pixel) sẽ được đặc trưng bởi hai tham số chính về khônggian và độ xám Trong khuôn khổ ảnh hai chiều, tham số không gian được xác địnhbởi tọa độ Đề-các (x,y) của điểm ảnh đó Tham số độ xám được xác định là giá trịcường độ sáng tại điểm đó Máy tính thường sử dụng đơn vị byte (8bit) để biểudiễn
giá trị số Chính vì vậy, giá trị lớn nhất của độ xám thường được sử dụng rộng rãinhất là 2^8 = 256 tương đương với việc cường độ sáng của các điểm sẽ nằm trongdải từ 0 đến 256, khi đó, máy tính sẽ dùng 8bit = 1byte để biểu diễn giá trị cường
Trang 24sáng Ngoài ra, còn có các giá trị cường độ sáng lớn nhất khác: 16,32,64,128,…Thông thường, ta sẽ làm quen với 3 loại ảnh sau dựa vào cấu trúc cũng như độxám điểm ảnh:
- Ảnh màu: là ảnh mà màu của các điểm ảnh được tạo nên bởi sự pha trộn 3
màu cơ bản (Red, Blue, Green) với các tỉ lệ cường độ sáng khác nhau Với mỗi mộtmàu cơ bản, người ta sẽ sử dụng một byte để biểu diễn cường độ sáng, chính vì vậycần 3 byte (24bit) để biểu diễn một điểm ảnh Khi đó giá trị màu sẽ nhận giá trị từ 0cho đến 2^24 (vào khoảng ≈16,7 triệu màu)
- Ảnh đen trắng: là ảnh mà mỗi điểm ảnh chỉ có hai màu đen, trắng (không
chứa màu khác) với cường độ sáng (mức xám) ở các điểm ảnh có thể sử dụng nhiềubit để biểu diễn các giá trị khác nhau
- Ảnh nhị phân: là ảnh chỉ có hai màu đen, trắng (không chứa màu khác) với
cường độ sáng chỉ có 2 giá trị duy nhất 0 và 255 Người ta dùng duy nhất 2 bit đểbiểu diễn độ xám, bit “1” tương ứng điểm ảnh đen (0), bit “0” tương ứng điểm ảnhtrắng (255)
| height; chiều dài ảnh
| imageData; con trỏ truy nhập dữ liệu ảnh
Trang 25| dataOrder; 0 – các kênh màu đan xen
|
| origin; 0 – gốc ảnh tại vị trí trên cùng bên trái
| 1 – gốc ảnh dưới cùng bên trái
| widthStep; kích thước sắp xếp hàng (bytes)
| imageSize; kích thước ảnh = height*widthStep
| roi; vùng ảnh xét
| imageDataOrigin; con trỏ tới vùng ảnh không được sắp xếp
| align ; sắp xếp cột 4-8 byte
| colorModel[4]; kiểu màu
Khi sử dụng bộ thư viện OpenCV, các ảnh được lưu trữ và truy nhập cácphần tử điểm ảnh dưới dạng ma trận:
Hình 3 cấu trúc dữ liệu ảnh
Trang 262.2.4 Nhiễu ảnh
Trước khi xem xét chi tiết các kỹ thuật xử lý ảnh cơ bản, chúng ta cần phân biệtcác loại nhiễu hay can thiệp trong quá trình xử lý ảnh Trên thực tế tồn tại nhiềuloại nhiễu, tuy nhiên người ta thường xem xét 3 loại nhiễu chính: nhiễu cộng,nhiễu nhân và nhiễu xung:
Nhiễu nhân cũng thường phân bố khắp ảnh Nếu gọi ảnh quan sát (ảnh thu được)
là Xqs, ảnh gốc là Xgốc, nhiễu là η, ảnh thu được có thể biểu diễn bởi:
Xqs = Xgốc * η (2.2)
Nhiễu xung
Khác với nhiễu nhân và nhiễu cộng, nhiễu xung thường chỉ gây đột biến tại một
số điểm ảnh Nhiễu xung là một loại nhiễu khá đặc biệt có thể sinh ra bởi nhiều
lý do khác nhau chẳng hạn: lỗi truyền tín hiệu, lỗi bộ nhớ, hay lỗi định thời trongquá trình lượng tử hóa
2.2.5 Các kỹ thuật xử lý ảnh
a Khái niệm về góc nghiêng
Một bức ảnh chụp thông thường có kích thước dưới dạng hình chữ nhật, chủthể của bức ảnh thường được coi là thẳng đứng khi hướng chính của chủ thể songsong với cạnh đứng của bức ảnh Tuy nhiên không phải lúc nào, ta cũng có thểchụp được những bức ảnh "thẳng" như mong muốn Chính vì vậy, khái niệm gócnghiêng đã ra đời
Góc nghiêng của bức ảnh là góc hợp bởi hướng chính của chủ thể trong bứcảnh với cạnh thẳng đứng của bức ảnh Khi chủ thể trong bức ảnh hướng theo mộtphương khác phương thẳng đứng thì lúc đó chúng ta gọi là bức ảnh tồn tại góc