Tải bản đầy đủ (.pdf) (69 trang)

ứng dụng labview trong phân loại nhãn chai nước bằng camera

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.44 MB, 69 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>THÀNH PHỐ HỒ CHÍ MINH</b>

BỘ GIÁO DỤC VÀ ĐÀO TẠO

<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT </b>

<b> </b>

<b>ỨNG DỤNG LABVIEW TRONG PHÂN LOẠI NHÃN CHAI NƯỚC BẰNG CAMERA </b>

<b>GVHD: GVC.ThS TƯỞNG PHƯỚC THỌ SVTH: ĐỖ XUÂN PHƯƠNG </b>

<b>ĐỒ ÁN TỐT NGHIỆP</b>

<b> NGÀNH CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ </b>

<small>S K L 0 1 2 6 0 6 </small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA CƠ KHÍ CHẾ TẠO MÁY </b>

<b>BỘ MÔN CƠ ĐIỆN TỬ </b>

<b>MSSV: 15146086 </b>

<b>Ngành: Công nghệ Kỹ Thuật Cơ Điện Tử </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI CẢM ƠN </b>

Để có thể thực hiện và hồn thành đề tài này, nhóm xin gởi lời cảm ơn chân thành đến các giáo viên trong Khoa Cơ Khí Chế tạo máuy đã tạo điều kiện tốt nhất cho em hoàn thành đề tài. Những kiến thức bổ ích mà các Thầy Cô truyền đạt, đã được áp dụng vào đề tài Đồ Án Tốt Nghiệp rất nhiều, từ những bài học lớn đến từng lưu ý nhỏ nhặt. Một lần nữa em xin gởi lời cám ơn đến các Thầy Cô.

Ngồi sự cố gắng của bản thân, nhóm em sẽ khơng thể nào hồn thành đề tài nếu

<b>khơng có công lao mà thầy ThS. Tưởng Phước Thọ đã đã hướng dẫn vạch ra hướng </b>

đi phù hợp với khả năng của nhóm để thực hiện từng yêu cầu của để tài. Thầy đã chỉ bảo tận tình, giải thích rõ rang và hỗ trợ hết mình nhóm em trong quá trình giải quyết các khuất mắt khi thực hiện đề tài.

Tiếp theo nhóm cũng xin cảm ơn các bạn sinh viên trong và ngồi ngành đã nhiệt tình giúp đỡ, chia sẽ các tài liệu liên quan đến đề tài cũng như chia sẽ kinh nghiệm, hỗ trợ đưa ra hướng xử lý. Nhờ đó giúp nhóm hồn thiện và phát triển đề tài.

Mặc dù nhóm em đã cố gắng để hoàn thành đúng, đầy đủ, các nội dung chính của đồ án đã giao một cách chỉnh chu nhất, nhưng không thể tránh khỏi những sai sót nhất định trong cơng tác nghiên cứu, cũng như hạn chế về kiến thức cũng như thời gian thực hiện đề tài. Rất mong sẽ nhận được sự góp ý chân thành từ quý thầy cô và các bạn để đề tài này đề nhóm tiếp tục hồn thiện đề tài chỉnh hơn.

Xin chân thành cảm ơn! Nhóm thực hiện đề tài

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>TÓM TẮT </b>

Đề tài “Thiết kế và thử nghiệm phần mềm phân loại nhãn chai nước bằng camera”. Trong thời đại hiện nay cùng với sự cơng nghiệp hóa nhiều ngành cơng nghiệp phục vụ q trình cơng nghiệp phát triển của đất nước. Các dây chuyền sản xuất ngày càng được mở rộng quy mô, nâng cao tốc độ nhằm phục vụ nhu cầu xã hội. Trong q trình sản xuất hàng loạt khơng tránh khỏi việc xuất hiện các sản phẩm lỗi. Bên cạnh phương pháp phân loại truyền thống bằng nhân công hay sử dụng các cảm biến thì phân loại sản phẩm tự động áp dụng công nghệ xử lý ảnh đang dần sử dụng phổ biến hơn nhờ sự chính xác, ổn định cũng như dễ dàng sử dụng. Đồ án nhóm em áp dụng xử lý ảnh để phân loại sản phẩm. Sử dụng các đặc điểm riêng biệt của từng màu sắc để nhận dạng và phân loại sản phẩm.

Kết quả thực hiện của đề tài đã nhận dạng được sản phẩm, phân loại chính xác theo yêu cầu đề ra, cùng với việc đếm được tổng số lượng sản phẩm, sản phẩm lỗi. Thông qua Đồ án này nhóm em có cơ hội tiếp cận với thêm một ngơn ngữ lập trình mới, đồng thời được thực nghiệm Đồ án trên dây chuyền sản xuất nước đóng chai tại phịng thí nghiệm Robot trường ĐH SPKT TP HCM có trang thiết bị tương tự như các nhà máy sản xuất cơng nghiệp. Qua đó giúp em cũng cố vững chắc hơn về kết quả đạt được và phát triển thêm trong tương lai để phù hợp với yêu cầu thực tế.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

1.1. Giới thiệu đề tài ... 1

1.2. Dây chuyền sản xuất nước đóng chai trong phịng thí nghiệm Robot ... 2

1.3. Mục tiêu đề tài... 3

1.4. Nội dung nghiên cứu ... 4

1.5. Đối tượng nghiên cứu ... 4

1.6. Giới hạn đề tài ... 4

1.7. Bố cục ... 4

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ... 6

2.1. Tổng quan về xử lý ảnh ... 6

2.1.1. Thu nhận ảnh (Image Acquisition) ... 7

2.1.2. Tiền xử lý (Image processing) ... 7

2.1.3. Phân đoạn (Segmentation) hay phân vùng ảnh ... 8

2.1.4. Biểu diễn ảnh (Image Representation) ... 8

2.1.5. Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) ... 8

2.1.6. Cơ sở tri thức (Knowledge Base) ... 9

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

2.3. Giới thiệu về phần mềm lập trình xử lý ảnh ... 17

2.3.1. Giới thiệu NI LabVIEW (Laboratory Virtual Insrtumentation Engineering Worlbench) ... 17

2.3.2. Đặc điểm của LabVIEW ... 18

2.4. Giới thiệu về Arduino Mega 2560 ... 19

3.3.1. Truyền nhận dữ liệu giữa Labview và camera ... 39

3.3.2. Lập trình giao tiếp giữa board Arduino và LabVIEW ... 40

3.4. Chương trình điều khiển ... 45

3.4.1. Lưu đồ giải thuật ... 45

3.4.2. Thiết lập xử lý ảnh ... 46

3.4.3. Các bước nạp chương trình lên Arduino ... 50

CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ... 53

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>DANH MỤC CÁC BIỀU ĐỒ VÀ HÌNH ẢNH </b>

Hình 1.1: Dây chuyền sản xuất nước đóng chai ... 1

Hình 1.2: Băng chuyền vận chuyển sản phẩm ... 2

Hình 3.5: Van điện từ và xilanh ... 34

Hình 3.6: Giao tiếp giữa máy tính và Arduino ... 35

Hình 3.7: Các bước thu thập và xử lý ảnh trên phần mềm LabVIEW ... 36

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Hình 3.20: Vịng lặp Loop ... 43

Hình 3.21: Khối giao tiếp Arduino ... 43

Hình 3.22: Code điều khiển thiết bị ngoại vi bằng Arduino ... 44

Hình 3.23: Lưu đồ giải thuật phần mềm phân loại nhãn chai ... 45

Hình 3.24: Khối xử lý ảnh ... 47

Hình 3.25: Mục Processing Functions: Color ... 48

Hình 3.26: Thiết lập vùng nhận diện chai nước ... 48

Hình 3.27: Thiết lập vùng nhận diện màu sắc nhãn chai ... 49

Hình 3.28: Chọn màu sắc dùng để tiến hành phân loại ... 49

Hình 3.29: Đặt giá trị Minimum Match Score ... 50

Hình 3.30: Đường dẫn đến cửa số nạp chương trình cho Arduino ... 50

Hình 3.31: Cửa sổ LINX Firmware Wizard ... 51

Hình 3.32: Chọn cổng COM đang kết nối giữa máy tính và Arduino ... 51

Hình 3.33: Hoàn thành việc nạp dữ liệu cho Arduino ... 52

Hình 3.34: Giao diện phần mềm và code LabVIEW ... 52

Hình 4.1: Giao diện làm việc của phần mềm ... 53

Hình 4.2: Giao diện khi phát hiện sản phẩm đạt yêu cầu ... 54

Hình 4.3: Giao diện khi phát hiện sản phẩm lỗi ... 54

<b>DANH MỤC BẢNG BIỂU </b>

Bảng 2.1: Bảng thông số Arduino Mega2560 ... 20

Bảng 5.1: Kết quả thực nghiệm trường hợp 1 ... 55

Bảng 5.2: Kết quả thực nghiệm trường hợp 2 ... 55

Bảng 5.3: Kết quả thực nghiệm trường hợp 3 ... 56

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>DANH MỤC TỪ VIẾT TẮT </b>

LabVIEW: Laboratory Virtual Instrumentation Engineering Workbench PET: polyethylene terephthalate

UART: Universal Asynchronous Receiver / Transmitter

VI: Virtual Instrument

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>CHƯƠNG 1: TỔNG QUAN </b>

<b>1.1. Giới thiệu đề tài </b>

Ngày nay, việc ứng dụng khoa học công nghệ hiện đại ngày càng phổ biến và có nhiều tiến bộ vượt bậc. Để những chiếc máy tự động xuất hiện ở nhiều nhà máy, công ty tại Việt Nam với những khả năng: phân loại, kết hợp,… Do đó, nhu cầu về nguồn lao động có thể điều khiển, lập trình, thao tác là rất lớn. Sự kiểm soát của người vận hành đối với người thao tác là rất quan trọng. Nhiều trường đại học trên cả nước đã đưa robot công nghiệp vào chương trình giảng dạy và thậm chí cịn có chun ngành nghiên cứu robot ở các nước tiên tiến. Tuy nhiên, việc thực hành các máy thao tác công nghiệp ở nước ta cịn khiêm tốn do chi phí lắp đặt cao. Hiện nay, người ta sử dụng các cảm biến khác nhau với khả năng khác nhau để phân loại sản phẩm theo ý muốn, chẳng hạn như cảm biến phân loại theo màu sắc, hình dạng,... Những cảm biến này có cài đặt và vận hành đơn giản, nhưng nó có thể dễ dàng gây nhiễu.

Để giải quyết vấn đề này, đồng thời giúp vận dụng được những kiến thức đã học về board Arduino cùng với LabVIEW, vốn hiểu biết về điện tử và công nghệ xử lý ảnh

<b>cùng với sự đồng ý của giáo viên hướng dẫn – thầy Tưởng Phước Thọ, nhóm em chọn đề tài: “Thiết kế và thực nghiệm phần mềm phân loại nhãn chai nước bằng </b>

<b>camera”. </b>

<i><b>Hình 1.1: Dây chuyền sản xuất nước đóng chai </b></i>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>1.2. Dây chuyền sản xuất nước đóng chai trong phịng thí nghiệm Robot </b>

Nhằm bám sát với các hệ thống sản xuất nước đóng chai cơng nghiệp, với sự hỗ trợ của GVHD đề tài được nhóm thực hiện trên dây chuyền sản xuất nước đóng chai PET 500ml tại phịng thí nghiệm Robot khoa Cơ Khí Chế Tạo Máy trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh.

Trên dây chuyền phân loại nước đóng chai gồm có băng tải 2m được vận hành, điều khiển tốc thông qua biến tần (Sinamics V20) có nhiệm vụ vận chuyển các chai nước sang khâu đóng gói. Ở giữa băng tải là trạm phân loại sản phẩm lỗi với 1 bên là hệ thống nhận dạng, xử lý, phân loại sản phẩm bằng các cảm biến, hệ thống đẩy sản phẩm bằng xilanh điều khiển bởi van điện từ. Bên còn lại là băng tải đặt vng góc với dây chuyền chính, nhận và vận chuyển các sản phẩm lỗi được phân loại tại trạm.

<i><b>Hình 1.2: Băng chuyền vận chuyển sản phẩm </b></i>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>1.4. Nội dung nghiên cứu </b>

Đề tài “Thiết kế và thử nghiệm phần mềm phân loại nhãn chai nước bằng Camera” có những nội dung sau:

- NỘI DUNG 1: Tìm hiểu về LabVIEW và Arduino Mega - NỘI DUNG 2: Tổng quan về xử lý ảnh

- NỘI DUNG 3: Thiết kế mơ hình - NỘI DUNG 4: Viết chương trình.

- NỘI DUNG 5: Chạy thử nghiệm và điều chình phần mềm, phần cứng để tối ưu, sử dụng dễ dàng.

- NỘI DUNG 6: Viết báo cáo thực hiện. - NỘI DUNG 7: Đánh giá kết quả thực hiện.

<b>1.5. Đối tượng nghiên cứu </b>

<b>- Nước đóng chai 500ml - Kit Arduino Mega2560 </b>

<b>- Các khối xử lý ảnh trên phần mềm LabVIEW </b>

<b>1.6. Giới hạn đề tài </b>

- Ngơn ngữ lập trình LabVIEW. - Phân loại với chai nước PET 500ml.

- Phân loại chai nước trên băng chuyền dài 2m hoạt động độc lập. - Thiết kế và thử nghiệm phần mềm phân loại nhãn chai nước.

<b>1.7. Bố cục </b>

Nội dung đề tài gồm các phần sau:

<b>Chương 1: Tổng quan </b>

<b>- Tổng quan - Mục tiêu </b>

<b>- Nội dung nghiên cứu - Đối tượng nghiên cứu - Giới hạn đề tài </b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>- Bố cục </b>

<b>Chương 2: Cơ sở lý thuyết </b>

<b>- Tổng quan về xử lý ảnh - Những vấn đề trong xử lý ảnh </b>

<b>- Giới thiệu phần mềm lập trình xử lý ảnh - Giới thiệu về Arduino Mega2560 </b>

<b>- Phương pháp phân loại sản phẩm theo màu sắc </b>

<b>Chương 3: Thiết kế và lập trình </b>

<b>- Giới thiệu </b>

<b>- Tính tốn và thiết kế - Lập trình hệ thống </b>

<b>- Lưu đồ điều khiển và chương trình </b>

<b>Chương 4: Kết quả, nhận xét, đánh giá </b>

<b>- Kết quả nhận dạng và phân loại sản phẩm - Nhận xét, đánh giá mơ hình hệ thống </b>

<b>Chương 5: Kết luận và hướng phát triển </b>

<b>- Kết luận </b>

<b>- Những hạn chế của đề tài </b>

- Hướng phát triển

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT</b>

<b>2.1. Tổng quan về xử lý ảnh </b>

Xử lý ảnh là lĩnh vực hết hợp giữa khoa học và cơng nghệ. Mặc dù nó cịn khá mới mẻ so với nhiều ngành khoa học khác, nhưng tốc độ phát triển của nó đang diễn ra vơ cùng nhanh chóng. Xử lý ảnh đã kích thích sự phát triển của các trung tâm nghiên cứu và ứng dụng, đặc biệt là máy tính chuyên dụng cho việc xử lý ảnh.

Xử lý ảnh áp dụng các kỹ thuật để tăng cường và xử lý hình ảnh thu thập từ các thiết bị như máy ảnh, webcam… Đây là một lĩnh vực quan trọng và đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau:

- Lĩnh vực quân sự: Xử lý và nhận dạng hình ảnh quân sự. - An ninh và bảo mật: Nhận dạng khn mặt, vân tay, mắt… - Giải trí: Trò chơi điện tử.

- Y tế: Xử lý ảnh y sinh, chụp X-quang, MRI…

Các phương pháp xử lý hình ảnh bắt nguồn từ những mục đích sử dụng chính, bao gồm việc nâng cao chất lượng và phân tích hình ảnh. Việc sử dụng tài liệu đầu tiên là để nâng cao hình ảnh được truyền từ London đến New York trong những năm 1920. Các vấn đề nâng cao hình ảnh thường liên quan đến việc phân bổ mức độ sáng và độ phân giải của hình ảnh. giải thưởng ảnh. Việc cải thiện chất lượng hình ảnh được bắt đầu vào những năm 1955. Điều này có thể là do sự gia tăng nhanh chóng của máy tính sau Thế chiến thứ hai, tạo điều kiện thuận lợi cho sự phát triển của xử lý hình ảnh kỹ thuật số. Đến năm 1964, máy tính đã có khả năng phân tích và nâng cao hình ảnh từ mặt trăng và vệ tinh Ranger 7 của Hoa Kỳ, bao gồm cả đường đại dương và việc bảo tồn hình ảnh. Từ năm 1964-1968, các phương pháp xử lý, nâng cao chất lượng, nhận dạng hình ảnh ngày càng phổ biến. Các phương pháp của trí tuệ nhân tạo như mạng nơ-ron nhân tạo, thuật toán xử lý nâng cao và cơng cụ nén hình ảnh ngày càng phổ biến và có tác dụng tích cực.<small>[1]</small>

Sau đây, chúng ta sẽ thảo luận về các bước cần thiết trong quá trình xử lý hình ảnh. Đầu tiên, những hình ảnh tự nhiên về thế giới xung quanh chúng ta được thu thập

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

thông qua các thiết bị như máy ảnh và máy ảnh tĩnh ghi lại hình ảnh. Trước đây, hình ảnh thu được qua camera thường là hình ảnh analog (Camera truyền hình CCIR). Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được bắt nguồn từ phối cảnh của máy ảnh, sau đó được chuyển đổi trực tiếp thành ảnh kỹ thuật số, sau đó có thể được xử lý. Ngồi ra, hình ảnh cũng có thể được thu từ vệ tinh thông qua hệ thống thu thập hình ảnh.<small>[1] </small>Dưới đây là mơ tả các bước cơ bản trong xử lý ảnh:

<i><b>Hình 2.1: Các bước cơ bản xử lý ảnh </b></i>

Sơ đồ này bao gồm các thành phần sau:

<b>2.1.1. Thu nhận ảnh (Image Acquisition) </b>

Hình ảnh có thể được ghi lại qua màn hình màu hoặc màn hình đen trắng. Thơng thường, hình ảnh thu được từ camera là hình ảnh analog (đặc biệt, camera tiêu chuẩn CCIR có tần số 1/25, mỗi hình ảnh gồm 25 dịng). Ngồi ra, máy ảnh kỹ thuật số sử dụng CCD làm loại photodiod có các pixel tạo ra ánh sáng ở mỗi vị trí.<sup>[1]</sup>

Camera hường sử dụng phương pháp qt dịng để tạo ra hình ảnh 2D. Chất lượng hình ảnh thu được từ quá trình ghi và các yếu tố mơi trường (bao gồm cả ánh sáng và cảnh quan) phụ thuộc vào thiết bị được sử dụng và khơng gian sẵn có.

<b>2.1.2. Tiền xử lý (Image processing) </b>

Sau khi thu được hình ảnh, hình ảnh có thể bị nhiễu và độ tương phản thấp. Do đó, điều quan trọng là phải kết hợp hình ảnh vào bộ tiền xử lý để nâng cao chất lượng.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Mục đích chính của bộ tiền xử lý là giảm nhiễu và tăng cường độ tương phản, điều này sẽ giúp làm rõ và nâng cao hình ảnh.<small>[1]</small>

<b>2.1.3. Phân đoạn (Segmentation) hay phân vùng ảnh </b>

Phân vùng ảnh là một trong những nhánh quan trọng nhất của thị giác máy tính. Đó là một q trình lấy hình ảnh đầu vào và chia nó thành các vùng riêng biệt để phân tích và nhận dạng. Ví dụ, để nhận dạng các chữ cái (hoặc mã vạch) trên phong bì thư, chúng ta phải phân tách các câu về địa chỉ hoặc tên người thành các từ, chữ cái, số (hoặc vạch). riêng biệt để xác định. Đây là phần khó và phức tạp nhất trong quá trình xử lý ảnh, đồng thời cũng dễ dẫn đến sai sót, có thể ảnh hưởng xấu đến độ chính xác của ảnh. Việc nhận dạng hình ảnh chủ yếu phụ thuộc vào bước này.<small>[1]</small>

<b>2.1.4. Biểu diễn ảnh (Image Representation) </b>

Biểu diễn của hình ảnh là phần sau khi phân đoạn, chứa các pixel của vùng hình ảnh được phân đoạn cộng với các mã bổ sung trong các vùng được liên kết. Việc chuyển đổi thông tin này thành dạng hữu ích là cần thiết cho quá trình xử lý tiếp theo của máy tính. Trong q trình này, chúng ta chọn các đặc điểm sẽ đại diện cho hình ảnh, các đặc điểm này được gọi là trích xuất đặc điểm. Điều này liên quan đến việc nhận biết tính khác biệt của các đặc điểm của hình ảnh dưới dạng thơng tin số hoặc như một phương tiện để phân biệt giữa các loại đối tượng trong khơng gian hình ảnh nhận được. Ví dụ: khi nhận dạng các ký tự trên phong bì, chúng tơi mơ tả các thuộc tính của từng ký tự khiến chúng trở nên khác biệt.<small>[1]</small>

<b>2.1.5. Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) </b>

Nhận dạng hình ảnh là hành động nhận dạng hình ảnh. Thơng thường, quy trình này được thực hiện bằng cách quan sát mơ hình tiêu chuẩn mới so sánh với mơ hình tiêu chuẩn đã học (hoặc lưu trữ) trước đó như thế nào. Nội suy là quá trình xác định tầm quan trọng của một sự vật dựa trên nhận dạng của nó. Ví dụ: một chuỗi số và dấu gạch ngang trên phong bì có thể được chuyển đổi thành mã điện thoại thơng qua phép nội suy. Có nhiều cách tiếp cận khác nhau để phân loại hình ảnh và các mơ hình tốn học phân loại hình ảnh được chia thành hai loại chính:

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

- Nhận dạng theo tham số. - Nhận dạng theo cấu trúc.

Một số công cụ nhận dạng phổ biến trong khoa học công nghệ là: ứng dụng ký tự từ hư cấu vào thực tế (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản, nhận dạng văn bản. Dấu vân tay, mã vạch, nhận dạng khuôn mặt người,...<small>[1]</small>

<b>2.1.6. Cơ sở tri thức (Knowledge Base) </b>

Như đã đề cập trước đó, hình ảnh là một đối tượng phức tạp có nhiều thành phần, bao gồm nhiễu, độ sáng, dung lượng pixel và nhiều môi trường cho phép chụp ảnh. Trong nhiều trường hợp, mọi người muốn mơ phỏng q trình chụp ảnh và phân tích hình ảnh theo cách nhân bản. Trong q trình xử lý và phân tích hình ảnh, việc sử dụng trí tuệ của con người có tác động tích cực đến việc tối ưu hóa q trình tiếp nhận và xử lý hình ảnh. Cơ sở kiến thức có tác động đáng kể trong việc giúp người dùng tìm hiểu và giải quyết các vấn đề liên quan đến ảnh một cách hiệu quả và dễ dàng.<small>[1]</small>

<b>2.2. Những vấn đề trong xử lý ảnh 2.2.1. Điểm ảnh (Picture Element) </b>

Là đơn vị cơ bản nhất để tạo nên một bước ảnh kỹ thuật số. Địa chỉ của pixel được coi là (x, y) với y là địa chỉ của byte tiếp theo. Một bức ảnh kỹ thuật số, được tạo ra thông qua nhiếp ảnh hoặc phương pháp trực quan khác, bao gồm hàng nghìn hoặc hàng triệu pixel riêng lẻ. Số lượng pixel trong một hình ảnh càng lớn thì độ chi tiết của nó càng lớn. Một triệu pixel tương đương với 1 megapixel.<sup>[1]</sup>

<b>2.2.2. Ảnh số </b>

Ảnh số là một tập hợp hữu hạn các pixel có mức xám liên quan mơ tả gần đúng với hình ảnh thực tế. Số lượng pixel ảnh hưởng đến độ phân giải của hình ảnh. Độ phân giải của hình ảnh càng cao thì các điểm của nó càng khác biệt, điều này dẫn đến sự thể hiện hình ảnh được nâng cao và chính xác hơn. Hình ảnh là tín hiệu hai chiều, mơ tả tốn học của nó là f(x, y) trong đó x và y là hai thành phần ngang và dọc. Các giá trị của f(x, y) tại bất kỳ vị trí nào cung cấp giá trị pixel tại vị trí đó của hình ảnh.<sup>[1]</sup>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>2.2.3. Phân loại ảnh </b>

Mức xám của pixel là cường độ ánh sáng, được gán giá trị giả tại vị trí đó. Khơng gian màu xám phổ biến: 16, 32, 64, 128, 256. Mức phổ biến nhất là 265, nghĩa là sử dụng 1 byte để biểu thị mức xám. Trong đó:

 Ảnh nhị phân: là ảnh có 2 cấp độ trắng và đen khác nhau, chỉ có 2 giá trị 0 và 1 và chỉ sử dụng 1 mặt nạ dữ liệu cho mỗi pixel.<sup>[1]</sup>

 Ảnh đen trắng: Là ảnh có hai tơng màu: đen và trắng (khơng có màu nào khác) với các mức độ xám khác nhau ở các pixel.<small>[1]</small>

 Ảnh màu: Là bức tranh được kết hợp từ ba màu cơ bản để tạo nên một thế giới đầy màu sắc. Thông thường, mọi người sử dụng 3 byte để mơ tả các cấp độ màu, điều này có nghĩa là có khoảng 16,7 triệu cấp độ màu khác nhau.<small>[1]</small>

<b>2.2.4. Quan hệ giữa các điểm ảnh </b>

Lân cận điểm ảnh: được nói một cách hài hước như là hàng xóm của cái điểm ảnh. Có 2 loại lân cận cơ bản là lân cận 4 và lân cận 8.

<i><b>Hình 2.2: Lân cận 4 và lân cận 8 </b></i>

4 điểm ảnh lân cận 4 theo cột và hàng với tọa độ lần lượt là (x+1, y), (x-l. y), (x, y+1), (x, y-1) ký hiệu là tập N4(p). 4 điểm ảnh lân cận 4 theo đường chéo có tọa độ lần lượt là (x+1, y+1), (x+1, y+1), (x-1, y+1), (x-1, y-1) ký hiệu là tập ND(p). Tập 8 điểm ảnh lân cận 8 là hợp của 2 tập trên: <small>[1]</small>

N8(p) = N4(p)+ND(p) (2.1)

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Liên kết ảnh: Các mối liên kết của ảnh được xem như là mối liên kiết của 2 điểm ảnh gần nhau, có 3 loại liên kết: liên kết 4, liên kết 8, lên kết m (liên kết hỗn hợp). Trong ảnh đa mức xám, ta có thể đặt V chứa nhiều giá trị như V= {tập con). Cho p có tọa độ (x, y).<small>[1]</small>

Liên kết 4: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 4 của nhau nếu q thuộc về tập N4(p).

Liên kết 8: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 8 của nhau nếu q thuộc về tập N8(p).

Liên kết m: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết M của nhau nếu thỏa 1 trong 2 điều kiện sau: q thuộc về tập N4(p), q thuộc về tập ND(p) và giao của hai tập N4(p), N4(q) khơng chứa điểm ảnh nào có giá trị thuộc V. <sup>[1]</sup>

<b>2.2.5. Lọc nhiễu </b>

Hình ảnh nhận được thường bị hỏng nên việc giảm nhiễu bổ sung là cần thiết. Các tốn tử khơng gian được sử dụng trong nâng cao hình ảnh được phân loại theo mục đích của chúng: làm mịn đa chiều, giảm nhẹ ranh giới. Để trộn hoặc phân biệt số lượng lớn, bộ xử lý tuyến tính (phương tiện, bộ xử lý thơng thấp) hoặc bộ xử lý phi tuyến (trung vị, giả trung bình hoặc bộ xử lý đồng cấu) được sử dụng. Từ góc độ bản chất của nhiễu (thường là tần số cao) và cơ sở của lý thuyết lọc tần số: các bộ lọc chỉ cho phép các tín hiệu có tần số cụ thể đi qua, do đó, nhiều người thường sử dụng các phương pháp lọc tần số. thông thấp (trong bối cảnh tần số không gian) hoặc bộ lọc trung vị để kết hợp (trải rộng). Để nhấn mạnh các đường viền (tương ứng với tần số cao), các bộ lọc thông cao, bộ lọc Laplacian, được sử dụng. Nhiều cách tiếp cận khác nhau. Được chia thành hai loại: bộ tuyến tính hóa và bộ phi tuyến tính.<small>[1]</small>

Làm trơn nhiều bằng lọc tuyến tính: Khi chụp ảnh có thể xuất hiện nhiều loại nhiễu vào quá trình xử lý ảnh, nên ta cần phải lọc nhiễu. Gồm các phương pháp cơ bản lọc trung bình, lọc thơng thấp,... Ví dụ lọc trung bình: Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Làm trơn nhiều bằng lọc phi tuyến: Các bộ lọc phi tuyển cũng hay được dùng trong kỹ thuật tăng cường ảnh. Một số phương pháp lọc cơ bản bộ lọc trung vị, lọc ngoài.... Với lọc trung vị, điểm ảnh đầu vào sẽ được thay thế bởi trung vị các điểm ảnh còn lọc giả trung vị sẽ dùng trung bình cộng của hai giá trị "trung vị" (trung bình cơng của max và min).<small>[1]</small>

Lọc trung vị: Phương pháp này yêu cầu các giá trị pixel trong cửa sổ phải được sắp xếp theo thứ tự tăng dần hoặc giảm dần so với giá trị trung vị. Độ lớn của số thường được chọn là số pixel lẻ trong cửa sổ.

Lọc bên ngồi: Giả định rằng có ngưỡng cho nhiều cấp độ (có thể dựa trên thang màu xám). So sánh giá trị xám của một pixel với giá trị trung bình của tám pixel lân cận gần nhất. Nếu độ lệch lớn hơn ngưỡng thì pixel này được coi là nhiễu. Trong trường hợp này, hãy thay thế giá trị pixel bằng giá trị trung bình của 8 pixel xung quanh vừa được tính tốn.<small>[1] </small>

<b>2.2.6. Phương pháp phát hiện biên </b>

Biên là một trong những vấn đền ta cần quan tâm trong xử lý ảnh. Vì ở giai đoạn phân đoạn ảnh chủ yếu dựa vào biên.<small>[1]</small>

Điểm biên: Một pixel được coi là điểm biên nếu cường độ hoặc màu sắc của nó thay đổi nhanh chóng hoặc đột ngột. Ví dụ: trong ảnh 2 chiều, điểm đen được coi là điểm biên nếu điểm liền kề của nó có ít nhất một điểm trắng. Đường biên (đường bao: boundary): một chuỗi các điểm biên liên tiếp tạo thành một ranh giới hoặc vòng cung.<small>[1]</small>

Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên của đường biên đặc điểm chung của vẻ đẹp cục bộ trong phân tích và nhận dạng ảnh. Thứ hai, mọi người sử dụng đường viền để phân biệt các vùng màu xám (màu). Ngược lại, người ta cũng sử dụng các vùng hình ảnh để xác định vị trí các đường phân chia. Đại dương: để hiểu tầm quan trọng của đường viền, hãy xem ví dụ sau: khi một nghệ sĩ muốn khắc họa một cá nhân nổi tiếng, nghệ sĩ chỉ cần phác họa một vài dòng ngắn gọn mà khơng cần vẽ hồn chỉnh.<sup>[1]</sup>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Do đó, phương pháp phát hiện ranh giới lý tưởng là nhận biết tất cả các ranh giới trong đối tượng. Định nghĩa toán học của biển ở trên là nền tảng cho việc phát hiện các cạnh. Khía cạnh quan trọng là sự khác biệt giữa các pixel thường nhỏ, trong khi sự khác biệt về độ sáng của các pixel thường đáng kể ở gần ranh giới. Bắt đầu từ thời điểm này, người ta thường sử dụng hai phương pháp phát hiện cạnh khác nhau: phương pháp thứ nhất dựa trên đạo hàm bậc nhất, phương pháp thứ hai dựa trên hướng di chuyển. Tách ranh giới bằng đạo hàm bậc hai: điều này được sử dụng trên một số loại phương trình vi phân bậc hai để tạo ra một ranh giới. Hai dạng của phương pháp đạo hàm bậc hai đã được kiểm tra: phương pháp Laplace và phương pháp trực tiếp.<small>[1]</small>

Bộ tách biên Canny: Phương pháp phát hiện này được sử dụng phổ biến vì có nhiều lợi ích so với các phương pháp khác. Các bước: Đầu tiên, dữ liệu được làm phẳng bằng bộ lọc Gauss; sau đó, độ dốc cục bộ của biên độ và hướng được tinh chỉnh thêm. Khám phá pixel có biên độ lớn nhất bằng cách sử dụng các phương pháp triệt tiêu không tối đa dùng kỹ thuật nonmaximal suppression: Các điểm ảnh định (tìm được từ bước 2) được chia làm hai ngưỡng T1 và T2, T1 < T2. Các điểm ảnh đình có giá trị lớn hơn T2 được gọi là Strong và nằm trong khoảng T1 và 12 được gọi là Weak. Liên kiết các điểm ảnh Weak có 8 kết nối đến điểm ảnh Strong.<sup>[1]</sup>

Phương pháp gradient: Các thành phần của gradient là tốc độ thay đổi giá trị của pixel theo hướng x và y hoặc hướng và cường độ hình ảnh của khu vực.<small>[1] </small>

<sup>𝜕(𝑥,𝑦)</sup>

<small>𝜕𝑥</small> = 𝑓<sup>′</sup>𝑥 = ∆𝑥 ≈ <sup>𝑓(𝑥+𝑑𝑥,𝑦)−𝑓(𝑥,𝑦)</sup>

<small>𝑑𝑥</small> (2.2) <sup>𝜕(𝑥,𝑦)</sup>

<small>𝜕𝑦</small> = 𝑓′𝑥 = ∆𝑦 ≈<sup>𝑓(𝑥,𝑦+𝑑𝑦)−𝑓(𝑥,𝑦)</sup>

<small>𝑑𝑦</small> (2.3) Với dx, dy lần lượt là khoảng cách giữa 2 điểm lân cận theo chiều x và chiều y. (Ta có thể xem dx, dy là số lượng điểm ảnh giữa 2 điểm).<small>[1] </small>

<small> </small>∆𝑥 = 𝑓(𝑖 + 1, 𝑗) − 𝑓(𝑖, 𝑗)<small> </small> (2.4)

<small> </small>∆𝑦 = 𝑓(𝑖, 𝑗 + 1) − 𝑓(𝑖, 𝑗)<small> </small> (2.5)

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Nếu định nghĩa g1(f’x), g2 (f’y) là Gradient (vector gradient thành G(g1.g2)) theo hai hướng x, y tướng ứng thì biên độ (tức độ lớn) g(m,n) và hướng của biên tại điểm (m,n) được tính như sau:

<b>2.2.7. Phân đoạn ảnh </b>

Phân đoạn ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân tích ảnh thành các vùng có cùng tính chất nào đó dựa theo biên hay các vùng liên thông. Tiêu chuẩn để xác định các vùng liên thơng có thể là cùng mức xâm, cùng màu hay cùng độ nhóm.<small>[1]</small>

Q trình phân đoạn hình ảnh nhằm mục đích phân biệt đối tượng đang được nghiên cứu với phần còn lại của nội dung hình ảnh hoặc nhằm mục đích tách các đối tượng trong ảnh thành các thực thể riêng biệt. Do đó, phân đoạn hình ảnh là quy trình giảm khối lượng thơng tin trong hình ảnh trong khi chỉ giữ lại thơng tin thích hợp cho một ứng dụng cụ thể. Do đó, phân đoạn ảnh là thủ tục xóa các đối tượng khơng thú vị trong ảnh. Có nhiều phương pháp khác nhau để phân đoạn hình ảnh. Quá trình phân đoạn hình ảnh thành các đối tượng và nền bằng ngưỡng là phương pháp đơn giản nhất. Tại thời điểm này, các pixel dưới ngưỡng giá trị màu xám được coi là nền và các pixel trên ngưỡng giá trị màu xám được coi là đối tượng. Phương pháp phân đoạn hình ảnh này đặc biệt hiệu quả đối với hình ảnh nhị phân, văn bản in hoặc đồ họa...<small>[1] </small>Các tính chất vật lý của các thành phần của vùng có thể được sử dụng để phân loại vùng thành 3 loại:

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

 Các kỹ thuật cục bộ: dựa trên các thuộc tính cục bộ của pixel và vùng xung quanh chúng.<small> [1]</small>

 Các kỹ thuật tổng thể: chia hình ảnh thành các phân đoạn dựa trên thơng tin có sẵn trong tồn bộ hình ảnh, chẳng hạn như sử dụng biểu đồ mức xám.<small> [1]</small>

 Các kỹ thuật chia, nổi và phát triển: dựa trên các khái niệm tương đồng về hình dạng và tính đồng nhất. Hai vùng có thể được nổi lại với nhau và liền kề bên nhau. Các vùng không đồng nhất bao gồm các vùng nhỏ hơn. Một vùng có thể được mở rộng bằng cách kết nối các pixel để có cùng đặc điểm.<small>[1]</small>

<b>2.2.8. Các phép tốn hình thái Morphology </b>

Khái niệm Morphology trong xử lý ảnh số bắt nguồn từ một nhánh sinh học liên quan đến việc nghiên cứu hình dạng và cấu trúc của thực vật và động vật. Đây là một chương trình phần mềm tạo điều kiện thuận lợi cho việc trích xuất các thành phần từ hình ảnh raster và mơ tả chúng dưới dạng vùng hoặc hình dạng, chẳng hạn như ranh giới, xương hoặc bao lồi. Các phương pháp hình thái khác cũng được sử dụng trên ảnh để xử lý bổ sung trước hoặc sau khi chụp ảnh gốc. Những phép tính chính thức đầu tiên trong Hình thái học được Georges Matheron (1930-2000) và Jean Serra (3940) nghĩ ra tại École des Mines de Paris, Pháp vào năm 1964. Matheron là tiến sĩ hướng dẫn của Jean hoàn thành chương trình Tiến sĩ của cơ, họ đã cố gắng đo khống vật các đặc tính thơng qua "các phần mỏng" của chữ thập, nỗ lực này đã dẫn đến một cách tiếp cận mới cũng như sự phát triển của cơng nghệ hình ảnh mới. học tốn và hình học. Từ đó cho đến cuối năm 1970, Hình thái học chủ yếu thảo luận về ảnh nhị phân, điều này đã tạo ra các quy trình và phương pháp như: Dilation, Erosion, Opening, Closing,…<small>[1]</small>

Phép giãn (Dilation): Phép toán Dilation là thao tác giãn nở phình to các đối tượng ảnh đơn sắc.<small>[1]</small>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<i><b>Hình 2.1: Phép giãn </b></i>

Phép co (Erosion): Phép tốn Erosion là thao tác xói mịn/co hẹp các đối tượng ảnh đơn sắc trong khi vẫn duy trì nội dung của chúng. Nếu sự dẫn truyền được coi là thêm pixel vào đối tượng hình ảnh, dẫn đến tăng kích thước, thì sự co lại sẽ làm giảm kích thước của đối tượng hình ảnh, với ít pixel hơn.<small>[1] </small>

<i><b>Hình 2.2: Phép co </b></i>

<b>a. Những định dạng của ảnh </b>

Ảnh thu được thơng qua q trình số hóa thường được lưu trữ để xử lý hoặc truyền tải bổ sung. Trong quá trình truyền hình ảnh qua các phương tiện kỹ thuật số, có rất nhiều định dạng khác nhau liên quan đến hình ảnh đen trắng cũng như hình ảnh màu (BMP, JPEG, GIF).<small>[1] </small>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>b. Các phần mềm hỗ trợ xử lý ảnh </b>

Hiện nay, xử lý ảnh được học ở các trường đại học và triển khai vào thực tế, chẳng hạn như thông qua việc sử dụng các phần mềm chỉnh sửa ảnh hay nhận dạng khn mặt. Đây là lý do tại sao có rất nhiều cơng cụ thiết thực có thể được sử dụng, bao gồm: Matlab hoặc Python,…<small>[1] </small>

Bởi vì các cơng cụ LabVIEW mô phỏng giao diện và chức năng của các cơng cụ thực, chẳng hạn như máy hiện sóng và các công cụ đa chức năng, LabVIEW thường được coi là các công cụ ảo, (Virtual Instrument), thường gọi tắt là VI. VI có Front Panel và Block Diagram. Front Panel là giao diện người dùng. Block Diagram là chương trình phía sau giao diện người dùng. Sau khi bạn xây dựng Front Panel, bạn thêm mã (code) để điều khiển các đối tượng trên Front Panel bằng cách sử dụng các hình đồ họa đại diện cho các hàm. Mã trên Block Diagram là mã dạng đồ họa, thường được biết đến là G code (mã G) hoặc Block Diagram code.<small> [2]</small>

Khác với các ngôn ngữ lập trình dạng văn bản, chẳng hạn như C++ và Visual Basic, LabVIEW sử dụng các ký hiệu thay vì câu để tạo ứng dụng. Trong lập trình dựa trên văn bản, thứ tự của các dòng lệnh xác định thứ tự chương trình sẽ được thực thi. LabVIEW sử dụng cách tiếp cận đồ họa để lập trình dựa trên luồng dữ liệu. Trong lập

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

thứ tự thực hiện chương trình. Khả năng lập trình đồ họa và thực thi các luồng dữ liệu là điều khiến LabVIEW khác biệt so với các ngôn ngữ lập trình có mục đích chung khác.<sup>[2]</sup>

<b>2.3.2. Đặc điểm của LabVIEW </b>

Chương trình LabVIEW có các đặc điểm sau: - Đồ họa và biên dịch

- Lập trình theo dạng dịng chảy dữ liệu hướng dữ liệu - Đa mục tiêu và nhiều nền tảng

- Hướng đối tượng - Khả năng đa luồng

<b>Đồ họa và biên dịch </b>

Trong khi được đại diện bằng đồ họa, với các biểu tượng và dây tín hiệu thay vì văn bản, mã G trên Block Diagram có đầy đủ các khái niệm lập trình như trong hầu hết các ngơn ngữ lập trình truyền thống. Ví dụ, mã G có các loại cấu trúc dữ liệu, vòng lặp, xử lý sự kiện, biến, đệ quy, và lập trình hướng đối tượng. LabVIEW tự động chuyển đổi mã G thành mã máy, cho phép các máy tính có bộ vi xử lý thực thi mã đó. Bạn khơng phải chuyển đổi mã G thành một quy trình riêng biệt.<small>[3]</small>

<b>Dịng chảy dữ liệu và lập trình hướng sự kiện </b>

Các chương trình của LabVIEW tn theo mơ hình luồng dữ liệu thay vì cách tiếp cận truyền thống thường được sử dụng trong các ngơn ngữ lập trình viết như C và C++. Luồng dữ liệu được điều khiển bởi dữ liệu hoặc phụ thuộc vào nó. Luồng thơng tin giữa các nút trong mã G là yếu tố quyết định thứ tự thực hiện.<small> [3] </small>

Tính năng lập trình hướng sự kiện mở rộng mơi trường lập trình dạng dịng chảy dữ liệu của LabVIEW cho phép người dùng tương tác trực tiếp với chương trình mà khơng cần hỏi vịng (polling). Lập trình hướng sự kiện cũng tạo điều kiện thuận lợi cho việc thực hiện các hành động không đồng bộ khác trên Block Diagram.<sup> [3] </sup>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<b>Đa mục tiêu và nhiều nền tảng </b>

Với LabVIEW, bạn có thể sử dụng bộ xử lý đa lõi và phần cứng bổ sung khác, chẳng hạn như FPGA, có thể song song. Thơng thường, ta có thể tự động chuyển đổi các ứng dụng LabVIEW thành CPU có nhiều, bốn hoặc năm lõi mà khơng cần lập trình bổ sung.<small> [3]</small>

<b>Hướng đối tượng </b>

Lập trình hướng đối tượng là phổ biến trong nhiều ngơn ngữ lập trình. Nó tạo điều kiện thuận lợi cho việc biểu diễn một loạt các đối tượng tương tự nhưng không giống nhau thông qua một lớp đối tượng trong phần mềm. LabVIEW cung cấp các công cụ và chức năng cho phép sử dụng lập trình hướng đối tượng trong mã G.<small> [3] </small>

<b>Đa luồng và quản lý bộ nhớ </b>

LabVIEW cho phép mã thực thi liên tiếp. Các ngôn ngữ khác phải được quản lý thủ cơng để tận dụng các tài ngun sẵn có. Mơi trường LabVIEW, bao gồm trình biên dịch và hệ thống thời gian chạy, tự động thực thi mã liên tiếp bất cứ khi nào có thể. Thơng thường, các chi tiết cụ thể của hệ thống thực thi ít quan trọng đối với bạn vì hệ thống hoạt động hiệu quả mà không cần sự can thiệp của con người. Tuy nhiên, LabVIEW cũng cung cấp cho bạn các tùy chọn giúp nâng cao hiệu suất chương trình.

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<i><b>Hình 2.5: Arduino Mega2560 </b></i>

<b>2.4.2. Thơng tin cấu hình Arduino Mega2560 </b>

<b>Bảng 2.1: Bảng thông số Arduino Mega2560 </b>

Vi điều khiển ATmega2560

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 Mhz

Dòng điện tiêu thụ 250mA Điện áp khuyên dùng 7-12V Điện áp giới hạn 6-20V Số chân I/O 54 Số chân Analog 16 Dòng tối đa trên mỗi chân I/O 30mA Dòng ra tối đa (5V) 500mA Dòng ra tối đa(3.3V) 50mA

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Bộ nhớ flash 256 Kb, 8 Kb sử dụng cho Bootloader

EEPROM 4 Kb

Cấu tạo chính của Arduino Mega2560 bao gồm các phần sau:<small> [4]</small>

 Cổng USB: đây là loại cổng giao tiếp để ta nạp code từ PC lên vi điều khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính.

 Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên hoặc một nguồn từ 9V đến 12V. Với các chân điện như sau:

 GND (Ground): cực âm của nguồn điện cấp cho Arduino Mega. Khi dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.

 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.

 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.

 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino Mega, nổi cực dương của nguồn với chân này và cực âm của nguồn với chân GND.

 IOREF: điện áp hoạt động của vi điều khiển trên Arduino Mega có thể được đo ở chân này và nó luôn bằng 5V. Mặc dù vậy không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó khơng phải là cấp nguồn.

 RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.<sup>[2]</sup>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<i><b>Hình 2.6: Sơ đồ chân Arduino Mega2560 </b></i>

<b>Chân điều khiển: </b>

RESET: Arduino Mega Mega 2560 có sẵn mạch reset với nút ấn để thiết lập lại hệ thống và chân này có thể được sử dụng khi kết nối các thiết bị khác để thiết lập lại bộ điều khiển.

XTAL1, XTAL2: Thạch anh(16Mhz) được kết nối với xung clock cung cấp cho bộ điều khiển.

AREF: Chân này được dùng khi sử dụng ADC để chuyển đổi tín hiệu với điện áp tham chiếu bên ngồi mà khơng muốn sử dụng điện áp tham chiếu nội bộ 1.1V hoặc 5V.<small> [4]</small>

<b>Các chân Digital (54): </b>

Chân số: Từ 0-53 (digital) có thể được sử dụng làm đầu vào hoặc đầu ra cho thiết bị được thiết lập bằng các hàm Mode (), digtalWrite (), digitalRead ().<small> [4]</small>

Ứng dụng:

Thiết bị đầu ra: Relay, LED, buzzer, LCD và các thiết bị khác.

Thiết bị đầu vào: Nút ấn, cảm biến siêu âm, cần điều khiển và các thiết bị khác.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<b>Chân Analog (16): </b>

Từ 0-15 (Analog) có thể được sử dụng như chân đầu vào tương tự cho bộ ADC, nếu khơng sử dụng nó hoạt động như chân digital bình thường. Nó được thiết lập bởi các hàm pinMode () khai báo chân, analogRead () để đọc trạng thái chân và nhận giá trị kỹ thuật số cho tín hiệu analog. Lưu ý phải cẩn thận để lựa chọn điện áp tham chiếu bên trong hoặc bên ngoài và chân Aref.<small> [4]</small>

Ứng dụng:

Thiết bị đầu vào: Cảm biến nhiệt độ, cảm biến (như ldr, irled và độ ẩm) và các thiết bị khác.

<b>Chân có Chức năng thay thế: </b>

<b>Chân SPI: Chân 22-SS, 23_SCK, 24-MOSI, 25-MISO </b>

Các chân này được sử dụng cho giao tiếp nối tiếp với giao thức SPI để liên lạc giữa 2 thiết bị trở lên. SPI cho phép bit phải được thiết lập để bắt đầu giao tiếp với các thiết bị khác.<sup> [4]</sup>

Ứng dụng:

Thiết bị đầu ra: LCD và liên lạc giữa nhiều thiết bị với hai dây. Thiết bị đầu vào: RTC và các thiết bị khác.

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Chân này được sử dụng cho giao tiếp nối tiếp giữa bo mạch với máy tính hoặc hệ thống khác để chia sẻ và ghi dữ liệu. Nó được sử dụng với hàm serialBegin () để cài đặt tốc độ truyền và bắt đầu truyền thông với serial.Println() để in mảng ký tự (mảng char) ra thiết bị khác.<small> [4]</small>

Ứng dụng:

Bộ điều khiển truyền thông và máy tính.

<b>Chân ngắt: </b>

Chân digital: 0,22,23,24,25,10,11,12,13,15,14 Chân analog: 6,7,8,9,10,11,12,13,14,15

Chân này được sử dụng để ngắt. Để kích hoạt chân ngắt phải cài đặt bật ngắt toàn cục.<sup> [4]</sup>

Ứng dụng:

Bộ mã hóa vịng quay, nút bấm dựa trên ngắt và các nút khác.

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Một số ứng dụng của Arduino trong đời sống:

- Làm Robot. Arduino có thể đọc cảm biến, điều khiển động cơ... Nó thường được sử dụng làm bộ phận trung tâm của nhiều loại robot.

- Xây dựng hệ thống nhà thông minh, IOTs.

- Điều khiển đèn tín hiệu giao thơng, tạo hiệu ứng ánh sáng trên biển quảng cáo... - Điều khiển các thiết bị cảm biến ánh sáng, âm thanh.

</div>

×