1. Trang chủ
  2. » Tất cả

Đồ án 2 Thiết kế mạch phân tích màu dùng cảm biến TCS3200 giao tiếp hiển thị tên màu lên LCD

50 12 0

Đ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 50
Dung lượng 3,71 MB
File đính kèm Đồ án 2 - Mạch phân tích màu.zip (3 MB)

Nội dung

LỜI CAM ĐOAN Đề tài này là do tôi tự thực hiện dựa vào một số tài liệu và không sao chép từ tài liệu hay công trình đã có trước đó. Nếu có sao chép tôi hoàn toàn chịu trách nhiệm.Đồ án 2 – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 2 Nguyễn Anh Tiến MỤC LỤC Chương 1........................................................................................................................................... 3 GIỚI THIỆU – GIỚI HẠN CỦA ĐỀ TÀI ..................................................................................... 3 1.1 GIỚI THIỆU CHUNG .......................................................................................................... 3 1.2 MỤC ĐÍCH ĐỀ TÀI.............................................................................................................. 3 1.3 MỤC TIÊU VÀ ĐỐI TƯỢNG NGHIÊN CỨU................................................................... 3 1.4 PHƯƠNG PHÁP NGHIÊN CỨU......................................................................................... 4 Chương 2........................................................................................................................................... 5 THIẾT KẾ KHẢO SÁT SƠ ĐỒ KHỐI....................................................................................... 5 2.1 GIỚI THIỆU (TÓM TẮT).................................................................................................... 5 2.2 THIẾT KẾ SƠ ĐỒ KHỐI..................................................................................................... 5 2.3. THIẾT KẾ CÁC KHỐI ....................................................................................................... 6 2.3.1. THIẾT KẾ KHỐI NGUỒN............................................................................................ 6 2.3.2. KHỐI CẢM BIẾN .......................................................................................................... 7 2.3.3. KHỐI VI ĐIỀU KHIỂN............................................................................................... 12 2.3.4. THIẾT KẾ KHỐI HIỂN THỊ...................................................................................... 18 2.3.5. SƠ ĐỒ KẾT NỐI TOÀN MẠCH ................................................................................. 25 Chương 3: ....................................................................................................................................... 27 THI CÔNG MẠCH........................................................................................................................ 27 3.1 VẼ SƠ ĐỒ KẾT NỐI .......................................................................................................... 27 3.1.1 Giới thiệu phần mềm Fritzing..................................................................................... 27 3.1.2 Cách sử dụng phần mềm Fritzing............................................................................... 28 3.1.3. Lập danh sách linh kiện.............................................................................................. 32 3.2 CODE CHƯƠNG TRÌNH VI ĐIỀU KHIỂN ARDUINO................................................ 32 3.2.1. Phần mềm sử dụng để lập trình Arduino IDE.......................................................... 32 3.2.2. Lập trình trên phần mềm ........................................................................................... 33 3.2.3 Code chương trình........................................................................................................ 34 3.3 LẮP RÁP KIỂM TRA MẠCH........................................................................................... 41 3.3.1. Mạch ráp hoàn chỉnh .................................................................................................. 41 3.3.2. Quá trình nạp code và kết quả................................................................................... 42 Chương 4......................................................................................................................................... 47 KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN................................................................................... 47 4.1. KẾT LUẬN.......................................................................................................................... 47 4.2. HƯỚNG PHÁT TRIỂN ..................................................................................................... 48 TÀI LIỆU THAM KHẢO ............................................................................................................. 49Đồ án 2 – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 3 Nguyễn Anh Tiến Chương 1 GIỚI THIỆU – GIỚI HẠN CỦA ĐỀ TÀI 1.1 GIỚI THIỆU CHUNG Ngày nay, với sự phát triển của khoa học công nghệ. Đặc biệt trong lĩnh vực điện tử đã thúc đẩy và phát triển các ngành công nghiệp đa dạng nhằm phục vụ và đáp ứng được nhu cầu của con người. Với sự trợ giúp của máy móc, có thể làm những công việc mà con người không thể làm được với khả năng của mình mà chỉ việc điều khiển chúng hay chúng được làm việc hoàn toàn tự động đã mang lại những lợi ích hết sức to lớn, giảm nhẹ công việc. Trong nhiều lĩnh vực được quan tâm, có một lĩnh vực về vi điều khiển được quan tâm rất nhiều hiện nay đó là vi điều khiển AVR, phổ biến của AVR là Arduino. Việc tìm hiểu và ứng dụng hết khả năng của nhiều loại Arduino là cả một quá trình dài và hữu ích, vì sự gọn nhẹ, thuận tiện, khả năng phát triển cũng như sự đa dạng các dòng sản phẩm phù hợp nhiều quy mô ứng dụng của nó. Một ý tưởng được quan tâm đông đảo trên các diễn đàn học tập ngành điện tử, nhưng chưa có một tài liệu chính thống phổ biến hướng dẫn hay cung cấp thông tin cụ thể. Trước thực tiễn ấy, em quyết định chọn đề tài “Thiết kế mạch phân tích màu dùng TCS3200 giao tiếp với Arduino hiển thị lên màn hình LCD” nhằm tìm hiểu về vấn đề phân loại sản phẩm bằng màu sắc qua ứng dụng của Arduino. Sau đây em sẽ tìm hiểu về Arduino để ứng dụng thực tế thu nhỏ trong hệ thống phân loại sản phẩm dựa vào màu sắc sử dụng Arduino. Đây là cơ sở để thiết kế những hệ thống đơn giản nhưng cũng có chút phức tạp được ứng dụng rộng rãi trong khoa học và đời sống. 1.2 MỤC ĐÍCH ĐỀ TÀI Ngày nay, công nghệ ngày càng phát triển, các hệ thống thông minh và tự động hoá sử dụng phổ biến ở khắp mọi nơi vì sự tiện lợi, chuẩn xác, giúp tiết kiệm thời gian và công sức. Hiện tại, ở nước ta hệ thống tự động hoá chỉ được sử dụng ở các xí nghiệp lớn và các xí nghiệp liên doanh nước ngoài, còn các ngành sản xuất đa số chỉ dừng ở mức độ thủ công nên làm chậm quá trình sản xuất. Do đó em chọn đề tài như trên để phân loại sản phẩm bằng màu sắc sử dụng vi điều khiển Arduino kết hợp với cảm biến màu TCS3200 giúp cho việc phân loại màu sản phẩm trở nên tiết kiệm thời gian và đơn giản hơn nếu áp dụng trong quá trình sản xuất. 1.3 MỤC TIÊU VÀ ĐỐI TƯỢNG NGHIÊN CỨU Mục tiêu: Tìm hiểu và xây dựng mô hình hệ thống nhận dạng màu sắc bằng việc sử dụng Arduino phát hiện 7 loại màu của vật thể: Đỏ, cam, vàng, lục, xanh, hồng, tím.Đồ án 2 – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 4 Nguyễn Anh Tiến Đối tượng nghiên cứu: Cảm biến màu sắc TCS3200, vi điều khiển Arduino UNO R3, và module LCD 16x2. 1.4 PHƯƠNG PHÁP NGHIÊN CỨU Kết hợp giữa nghiên cứu lý thuyết và thực tế để làm rõ nội dung đề tài. Cụ thể như sau: + Thu thập, phân tích các tài liệu và thông tin liên quan đến đề tài. + Vận dụng những kiến thức cơ bản đã học về điện tử. + Tìm hiểu qua tài liệu internet và sách báo và nhu cầu đời sống xã hội. + Sử dụng phần mềm (arduino IDE) để thực hiện viết code và nạp code. + Tìm hiểu các đồ án có đề tài liên quan. + Sử dụng các phần mềm vẽ mô phỏng và lập trìnhĐồ án 2 – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 5 Nguyễn Anh Tiến Chương 2 THIẾT KẾ KHẢO SÁT SƠ ĐỒ KHỐI 2.1 GIỚI THIỆU (TÓM TẮT) Dùng module cảm biến màu sắc TCS3200 để nhận biết màu sắc và phân loại sản phẩm. Hệ thống phát hiện màu khi đưa sản phẩm đến vị trí cảm biến, có thể nâng cao áp dụng vào hệ thống có thể được áp dụng để phân loại hàng hoá nếu được trang bị đầy đủ. Nếu mở rộng đề tài có thể kết hợp với băng chuyền đưa sản phẩm đến bề mặt đầu rọi của cảm biến để nhận dạng màu từng sản phẩm. 2.2 THIẾT KẾ SƠ ĐỒ KHỐI Theo yêu cầu của đề tài, tiến hành thiết kế sơ đồ khối của mạch phân tích màu như hình 2.1: Hình 2.1. Sơ đồ khối mạch phân tích màu. Chức năng từng khối: • Khối nguồn: có chức năng cấp nguồn cho toàn bộ mạch hoạt động. Cụ thể: cấp nguồn cho khối cảm biến, khối vi điều khiển và khối hiển thị (LCD). • Khối cảm biến: là cảm biến màu TCS3200 để phát hiện màu sắc của sản phẩm hay vật thể. • Khối vi điều khiển: là vi điều khiển Arduino UNO R3 dùng để lập trình chương trình nhận dạng màu sắc. • Khối đầu vào: là các sản phẩm, hay vật thể có màu sắc. • Khối hiển thị: là màn hình LCD 16x2 có chức năng hiển thị tên màu sắc mà cảm biến màu TCS3200 thu thập được khi rọi vào sản phẩm thông qua Arduino.

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BÁO CÁO ĐỒ ÁN MÔN HỌC Đề tài: Thiết kế mạch phân tích màu dùng TCS3200 giao tiếp với Arduino hiển thị lên hình LCD GVHD : HVTH : Nguyễn Duy Thảo Nguyễn Anh Tiến - 19161298 Tp.Hồ Chí Minh, ngày 27 tháng 12 năm 2022 Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu không chép từ tài liệu hay cơng trình có trước Nếu có chép tơi hồn tồn chịu trách nhiệm Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 MỤC LỤC Chương GIỚI THIỆU – GIỚI HẠN CỦA ĐỀ TÀI 1.1 GIỚI THIỆU CHUNG 1.2 MỤC ĐÍCH ĐỀ TÀI 1.3 MỤC TIÊU VÀ ĐỐI TƯỢNG NGHIÊN CỨU 1.4 PHƯƠNG PHÁP NGHIÊN CỨU Chương THIẾT KẾ - KHẢO SÁT SƠ ĐỒ KHỐI 2.1 GIỚI THIỆU (TÓM TẮT) 2.2 THIẾT KẾ SƠ ĐỒ KHỐI 2.3 THIẾT KẾ CÁC KHỐI 2.3.1 THIẾT KẾ KHỐI NGUỒN 2.3.2 KHỐI CẢM BIẾN 2.3.3 KHỐI VI ĐIỀU KHIỂN 12 2.3.4 THIẾT KẾ KHỐI HIỂN THỊ 18 2.3.5 SƠ ĐỒ KẾT NỐI TOÀN MẠCH 25 Chương 3: 27 THI CÔNG MẠCH 27 3.1 VẼ SƠ ĐỒ KẾT NỐI 27 3.1.1 Giới thiệu phần mềm Fritzing 27 3.1.2 Cách sử dụng phần mềm Fritzing 28 3.1.3 Lập danh sách linh kiện 32 3.2 CODE CHƯƠNG TRÌNH VI ĐIỀU KHIỂN ARDUINO 32 3.2.1 Phần mềm sử dụng để lập trình Arduino IDE 32 3.2.2 Lập trình phần mềm 33 3.2.3 Code chương trình 34 3.3 LẮP RÁP KIỂM TRA MẠCH 41 3.3.1 Mạch ráp hoàn chỉnh 41 3.3.2 Quá trình nạp code kết 42 Chương 47 KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN 47 4.1 KẾT LUẬN 47 4.2 HƯỚNG PHÁT TRIỂN 48 TÀI LIỆU THAM KHẢO 49 Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 Chương GIỚI THIỆU – GIỚI HẠN CỦA ĐỀ TÀI 1.1 GIỚI THIỆU CHUNG Ngày nay, với phát triển khoa học công nghệ Đặc biệt lĩnh vực điện tử thúc đẩy phát triển ngành công nghiệp đa dạng nhằm phục vụ đáp ứng nhu cầu người Với trợ giúp máy móc, làm công việc mà người làm với khả mà việc điều khiển chúng hay chúng làm việc hoàn toàn tự động mang lại lợi ích to lớn, giảm nhẹ công việc Trong nhiều lĩnh vực quan tâm, có lĩnh vực vi điều khiển quan tâm nhiều vi điều khiển AVR, phổ biến AVR Arduino Việc tìm hiểu ứng dụng hết khả nhiều loại Arduino trình dài hữu ích, gọn nhẹ, thuận tiện, khả phát triển đa dạng dòng sản phẩm phù hợp nhiều quy mơ ứng dụng Một ý tưởng quan tâm đông đảo diễn đàn học tập ngành điện tử, chưa có tài liệu thống phổ biến hướng dẫn hay cung cấp thông tin cụ thể Trước thực tiễn ấy, em định chọn đề tài “Thiết kế mạch phân tích màu dùng TCS3200 giao tiếp với Arduino hiển thị lên hình LCD” nhằm tìm hiểu vấn đề phân loại sản phẩm màu sắc qua ứng dụng Arduino Sau em tìm hiểu Arduino để ứng dụng thực tế thu nhỏ hệ thống phân loại sản phẩm dựa vào màu sắc sử dụng Arduino Đây sở để thiết kế hệ thống đơn giản có chút phức tạp ứng dụng rộng rãi khoa học đời sống 1.2 MỤC ĐÍCH ĐỀ TÀI Ngày nay, cơng nghệ ngày phát triển, hệ thống thông minh tự động hố sử dụng phổ biến khắp nơi tiện lợi, chuẩn xác, giúp tiết kiệm thời gian công sức Hiện tại, nước ta hệ thống tự động hố sử dụng xí nghiệp lớn xí nghiệp liên doanh nước ngồi, ngành sản xuất đa số dừng mức độ thủ cơng nên làm chậm q trình sản xuất Do em chọn đề tài để phân loại sản phẩm màu sắc sử dụng vi điều khiển Arduino kết hợp với cảm biến màu TCS3200 giúp cho việc phân loại màu sản phẩm trở nên tiết kiệm thời gian đơn giản áp dụng trình sản xuất 1.3 MỤC TIÊU VÀ ĐỐI TƯỢNG NGHIÊN CỨU - Mục tiêu: Tìm hiểu xây dựng mơ hình hệ thống nhận dạng màu sắc việc sử dụng Arduino phát loại màu vật thể: Đỏ, cam, vàng, lục, xanh, hồng, tím Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 - Đối tượng nghiên cứu: Cảm biến màu sắc TCS3200, vi điều khiển Arduino UNO R3, module LCD 16x2 1.4 PHƯƠNG PHÁP NGHIÊN CỨU Kết hợp nghiên cứu lý thuyết thực tế để làm rõ nội dung đề tài Cụ thể sau: + Thu thập, phân tích tài liệu thông tin liên quan đến đề tài + Vận dụng kiến thức học điện tử + Tìm hiểu qua tài liệu internet sách báo nhu cầu đời sống xã hội + Sử dụng phần mềm (arduino IDE) để thực viết code nạp code + Tìm hiểu đồ án có đề tài liên quan + Sử dụng phần mềm vẽ mơ lập trình Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 Chương THIẾT KẾ - KHẢO SÁT SƠ ĐỒ KHỐI 2.1 GIỚI THIỆU (TÓM TẮT) Dùng module cảm biến màu sắc TCS3200 để nhận biết màu sắc phân loại sản phẩm Hệ thống phát màu đưa sản phẩm đến vị trí cảm biến, nâng cao áp dụng vào hệ thống áp dụng để phân loại hàng hoá trang bị đầy đủ Nếu mở rộng đề tài kết hợp với băng chuyền đưa sản phẩm đến bề mặt đầu rọi cảm biến để nhận dạng màu sản phẩm 2.2 THIẾT KẾ SƠ ĐỒ KHỐI Theo yêu cầu đề tài, tiến hành thiết kế sơ đồ khối mạch phân tích màu hình 2.1: Hình 2.1 Sơ đồ khối mạch phân tích màu Chức khối: • Khối nguồn: có chức cấp nguồn cho tồn mạch hoạt động Cụ thể: cấp nguồn cho khối cảm biến, khối vi điều khiển khối hiển thị (LCD) • Khối cảm biến: cảm biến màu TCS3200 để phát màu sắc sản phẩm hay vật thể • Khối vi điều khiển: vi điều khiển Arduino UNO R3 dùng để lập trình chương trình nhận dạng màu sắc • Khối đầu vào: sản phẩm, hay vật thể có màu sắc • Khối hiển thị: hình LCD 16x2 có chức hiển thị tên màu sắc mà cảm biến màu TCS3200 thu thập rọi vào sản phẩm thông qua Arduino Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 2.3 THIẾT KẾ CÁC KHỐI 2.3.1 THIẾT KẾ KHỐI NGUỒN - Chức khối: Khối nguồn có chức cấp nguồn 5V cho tồn mạch đồng hồ để hoạt động theo yêu cầu Tồn mạch có đầu cắm nguồn nguồn DC chung hình bên Hình 2.2 Đầu cắm nguồn DC tích sẵn Arduino - Phân tích lựa chọn linh kiện: Để đáp ứng chức để đạt độ ổn định trình hoạt động, chọn Adapter để cấp nguồn 5V cho mạch hoạt động - Thơng số kỹ thuật linh kiện chọn: Gồm củ adapter 5V-1A cáp USB to DC Hình 2.3 Củ sạc 5V-1A • Điện áp đầu vào: AC 100-240V~50/60Hz, dịng đầu vào 0.5A • Điện áp ra: DC 5V – 1A • Hiệu hoạt động: 95% • Đầu USB tương thích với dây cáp jack DC: 5.5 * 2.5mm (tương thích 5.5 * 2.1mm) hình đây: Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 Hình 2.4 Dây cáp Jack DC 5.5mm (USB to DC) 2.3.2 KHỐI CẢM BIẾN - Chức khối: Module cảm biến màu TCS3200 module cảm biến phát đầy đủ màu sắc, bao gồm cảm biến TCS3200 với khả nhận biết màu RGB cách xuất tần số xung tương ứng với màu đó, cấu tạo bên ngồi gồm led màu trắng TCS3200 phát đo lường gần tất màu sắc nhìn thấy Các lọc màu bên TCS3200 phân bố khắp mảng để loại bỏ sai lệch vị trí điểm màu Bên dao động tạo sóng vuông ngõ tỉ lệ với cường độ màu sắc Hình 2.5 Cảm biến màu TCS3200 - Phân tích linh kiện: Để đáp ứng yêu cầu nhận dạng màu sắc từ đỏ, cam, vàng, lục, xanh, hồng, tím Ta sử dụng tần số xung Red, Green, Blue với giá trị đặc trưng khác đưa vật có loại màu từ đỏ đến tím vào bề mặt cảm biến để phân biệt loại màu đưa vào VD: Giá trị tần số xung đưa vật màu vào cảm biến phân tích tần số là: Red , Green , Blue Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 - Thơng số kỹ thuật linh kiện chọn: • Điện áp cung cấp: (2.7V đến 5.5V) • Chuyển đổi từ cường độ ánh sáng sang tần số với độ phân giải cao • Lập trình lựa chọn lọc màu sắc khác dạng tần số xuất • Điện tiêu thụ thấp Giao tiếp trực tiếp với vi điều khiển • Kích thước 28.4 x 28.4 mm • Tần số ngõ xung có độ rộng 50% • Tần số tỉ lệ với ánh sáng có cường độ màu sắc khác • Ngõ tần số xung tương ứng ba màu bản: đỏ, xanh, lục Tần số ngõ nằm khoảng 2Hz – 500kHz Hình 2.6 Sơ đồ chân cảm biến màu họ TCS3200 Bảng 2.1 Chức chân cảm biến màu TCS 3200 Số chân Tên chân Mô tả GND Ground (0V) OUT Tần số đầu ra, thay đổi phụ thuộc cường độ màu sắc S2 Đầu vào chọn kiểu photodiode S3 Đầu vào chọn kiểu photodiode VCC Nguồn vào từ 2.7 đến 5V VCC Nguồn vào từ 2.7 đến 5V S1 Đầu vào chọn tỉ lệ tần số đầu Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 S0 Đầu vào chọn tỉ lệ tần số đầu OE 10 GND Ngõ vào cho phép xuất tần số chân OUT (tích cực mức thấp Ground (0V) Sơ đồ kết nối: Hình 2.7 Sơ đồ kết nối cảm biến Arduino - Giải thích ngun lý: Hình 2.8 Các khối cảm biến màu TCS3200 Khối mảng ma trận 8×8 gồm photodiode Photodiode đơn giản linh kiện bán dẫn chuyển đổi ánh sáng thành dòng điện 16 photodiode lọc màu đỏ (red) 16 photodiode lọc màu xanh (green) 16 photodiode lọc màu xanh dương (blue) 16 photodiode trắng không lọc (clear) Bản chất loại photodiode lọc ánh sáng có màu sắc khác Khi lựa chọn lọc màu cho phép Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 lcd.print("Xin Chao"); // Hiển thị kí tự “Xin Chao” hình LCD vị trí ô kí tự thứ hàng lcd.setCursor (1,1); // Đưa trỏ vị trí kí tự thứ hàng lcd.print("Nhan Dang Mau"); //Hiển thị kí tự “Nhan Dang Mau” hình LCD vị trí kí tự thứ hàng delay(2000); //thời gian chờ ms lcd.clear(); startTiming = millis(); //hàm millis() có nhiệm vụ trả số - thời gian (tính theo mili giây) kể từ lúc mạch Arduino bắt đầu chương trình, tràn số quay lại } //Chương trình void loop(){ getColor(); //bắt đầu chương trình getColor() để thực thu nhận tín hiệu so sánh điều kiện nhận dạng màu if(DEBUG)printData(); //nếu True chương trình printData() bắt đầu elapsedTime = millis()-startTiming; //thời gian trôi qua thời gian kể từ lúc bắt đầu trừ thời gian bắt đầu //nếu thời gian trôi qua lớn 1000ms if (elapsedTime > 1000) { showDataLCD(); //bắt đầu chương trình hiển thị lên LCD startTiming = millis(); //thời gian bắt đầu gán thời gian kể từ lúc Arduino bắt đầu chương trình } } /* Đọc đối tượng RGB */ void readRGB(){ red = 0, grn=0, blu=0; //gán biến giá trị tần số màu ban đầu int n = 10; //khai báo biến n kiểu số nguyên gán 10 // Thực vòng lặp for for (int i = 0; i < n; ++i){ // Thiết lập photodiode lọc màu đỏ digitalWrite(s2, LOW); digitalWrite(s3, LOW); red = red + pulseIn(outPin, LOW); //đọc tần số ngõ red //hàm pulseIn(outPin, LOW) hàm trả chu kì xung tín hiệu- thời gian chuyển từ hai mức logic LOW HIGH, outPin chân đọc xung, bên phải giá trị đặt LOW hàm pulseIn() đợi đến tín hiệu đạt mức LOW, khởi động đếm thời gian Khi tín hiệu lên HIGH, đếm thời gian dừng lại pulseIn() trả thời gian tín hiệu nhảy từ mức LOW lên HIGH 35 Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 // Thiết lập photodiode lọc màu lục digitalWrite(s2, HIGH); digitalWrite(s3, HIGH); grn = grn + pulseIn(outPin, LOW); //đọc tần số ngõ green // Thiết lập photodiode lọc màu xanh digitalWrite(s2, LOW); digitalWrite(s3, HIGH); blu = blu + pulseIn(outPin, LOW); //đọc tần số ngõ blue } red = red/n; grn = grn/n; blu = blu/n; } /*************************************************** * Hiển thị liệu tần số red,green,blue Serial Monitor (màn hình chương trình lập trình máy tính IDE) ****************************************************/ void printData(void){ Serial.print("red= "); //Hàm Serial.print xuất liệu cổng Serial dạng chuỗi đọc được, ngoặc điền giá trị kiểu liệu Serial.print(red); Serial.print(" green= "); Serial.print(grn); Serial.print(" blue= "); Serial.print(blu); Serial.print (" - "); Serial.print (color); Serial.println (" detected!"); } ///*************************************************** //* Hiển thị liệu tần số red,green,blue hình LCD //****************************************************/ void showDataLCD(void){ lcd.clear(); lcd.setCursor (0,0); //thiết lập trỏ vị trí LCD kí tự thứ hàng lcd.print("R"); //hiển thị chữ R vị trí trỏ lcd.print(red); //hiển thị giá trị tần số red lcd.setCursor (6,0); //thiết lập trỏ vị trí LCD kí tự thứ hàng lcd.print("G"); //hiển thị chữ G vị trí trỏ 36 Nguyễn Anh Tiến Đồ án – Thiết kế mạch phân tích màu dùng cảm biến TCS3200 lcd.print(grn); //hiển thị giá trị tần số green lcd.setCursor (12,0); //thiết lập trỏ vị trí LCD kí tự thứ 12 hàng lcd.print("B"); //hiển thị chữ B vị trí trỏ lcd.print(blu); //hiển thị giá trị tần số blue lcd.setCursor (0,1); //thiết lập trỏ vị trí LCD kí tự thứ hàng lcd.print("Color: "); //hiển thị kí tự “Color:” vị trí trỏ lcd.print(color); //hiển thị giá trị color - biến xác định tên màu sử dụng chương trình getColor() bên } void getColor(){ readRGB(); //bắt đầu chương trình đọc đối tượng RGB //thực so sánh giá trị tần số red, green, blue với số nguyên khác dựa theo màu khác để nhận dạng loại màu xuất biến color if(red>5 && red15 && grn11 && blu14 && red8 && grn10 && blu18 && red7 && grn3 && blu3 && red4 && grn7 && blu3 && red11 && grn11 && blu4 && red16 && grn10 && blu12 && red16 && grn10 && blu

Ngày đăng: 13/03/2023, 22:48

w