Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên màn hình LCD thông qua Arduino Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên màn hình LCD thông qua Arduino Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên màn hình LCD thông qua Arduino Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên màn hình LCD thông qua Arduino Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên màn hình LCD thông qua Arduino Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên màn hình LCD thông qua Arduino
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN: ĐIỆN TỰ ĐỘNG CÔNG NGHIỆP ĐỒ ÁN Đề tài: Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên hình LCD thơng qua Arduino MÃ HỌC PHẦN : TÍN CHỈ : SINH VIÊN MSV LỚP ĐTĐ60ĐH ĐTĐ60ĐH ĐTĐ60ĐH GIẢNG VIÊN HƯỚNG DẪN : NHĨM : HỌC KÌ V - NĂM HỌC : HẢI PHÒNG 12/2021 ĐIỂM ĐÁNH GIÁ MỤC LỤC DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN VỀ CÁC THIẾT BỊ ĐƯỢC SỬ DỤNG 1.1 Khái quát Arduino 1.1.1 Lịch sử phát triển Arduino 1.1.2 Một số đặc điểm,cấu tạo Arduino 1.1.3 Một số ứng dụng Arduino .5 CHƯƠNG THIẾT KẾ PHẦN CỨNG VÀ MÔ PHỎNG TRÊN PROTEUS 2.1 Sơ đồ khối 2.2 Chức khối .7 2.2.1 Khối cảm biến .7 2.2.2 Khối hiển thị 2.2.3 Khối vi điều khiển khối nguồn .10 2.3 Nguyên lý hoạt động 11 2.4 Mô Proteus .11 2.4.1 Giới thiệu phần mềm mô Proteus .11 2.4.2 Mô mạch Proteus 13 CHƯƠNG THIẾT KẾ TRÊN PHẦN MỀM ARDUINO 14 3.1 Thuật toán điều khiển 14 3.2 Kết thực nghiệm 15 KẾT LUẬN 16 TÀI LIỆU THAM KHẢO 17 DANH MỤC HÌNH ẢNH Hình 1.1: Arduino UNO ( 2006 ) Hình 1.2: Cấu tạo Arduino Hình 1.3: Mợt sớ ứng dụng thực tế Arduino Hình 2.4: Sơ đồ khối hệ thống Hình 2.5: Module FC-51 thu/phát hồng ngoại .7 Hình 2.6: Sơ đồ chân kết nối LCD 16x2 Hình 2.7: Sơ đồ chân I2C 10 Hình 2.8: Giao diện Proteus .12 Hình 2.9: Mơ mạch phần mềm Proteus .13 Hình 3.10: Thuật tốn điều khiển 14 Hình 3.11: Kết thực nghiệm 15 LỜI NĨI ĐẦU Ngày khoa học cơng nghệ ngày phát triển, vi điều khiển ngày thông dụng hồn thiện , nói xuất Arduino mở một hướng cho vi điều khiển Arduino hỗ trợ cho người rất nhiều lập trình thiết kế, nhất đới với người bắt đầu tìm tịi vi điều khiển mà khơng có q nhiều kiến thức, hiểu biết sâu sắc vật lý điện tử Chính lý nên Arduino dần phổ biến phát triển ngày mạnh mẽ toàn giới Trên sở kiến thức học môn học trước với hiểu biết, nhóm em định thực đề tài: “Đếm số lượng sản phẩm sử dụng cảm biến hồng ngoại, hiển thị lên hình LCD thơng qua Arduino” Nhóm em xin cảm ơn thầy Nguyễn Văn Tiến tận tình dạy, hướng dẫn nhóm em hồn thành sản phẩm ! CHƯƠNG TỔNG QUAN VỀ CÁC THIẾT BỊ ĐƯỢC SỬ DỤNG 1.1 Khái quát Arduino 1.1.1 Lịch sử phát triển Arduino Arduino khởi động vào năm 2005 một dự án dành cho sinh viên trại Interaction Design Institute Ivrea tại Italy Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập dự án thường xuyên gặp mặt Trên hình Arduino năm đầu Hình 1.1: Arduino UNO ( 2006 ) Lý thuyết phần cứng đóng góp mợt sinh viên người Colombia tên Hernando Barragan Sau tảng Wiring hoàn thành, nhà nghiên cứu làm việc với để giúp nhẹ hơn, rẻ hơn, khả dụng đới với cộng đồng mã nguồn mở Giá tại board mạch dao động xung quanh $30 làm giả đến mức cịn $9 Mợt mạch bắt chước đơn giản Arduino Mini Pro có lẽ xuất phát từ Trung Q́c có giá rẻ $4 Arduino phổ biến nhất Arduino UNO R3 Dù khơng có mợt tiếp thị hay quảng cáo tin tức Arduino lan truyền với tớc đợ chóng mặt nhờ vơ vàn lời truyền miệng tốt đẹp người dùng Theo ước tính, khoảng năm 2011 có 300 ngàn mạch Arduino thức sản xuất thương mại Đến năm năm 2013 có khoảng 700 ngàn mạch thức đưa tới tay người sử dụng Hiện Arduino tiếng toàn giới có người tìm đến thị trấn Ivrea để tham quan nơi sản sinh tảng thú vị Nó sử dụng rợng rãi lập trình,thiết kế tốn nhỏ,dễ làm dành cho sinh viên học tập, nghiên cứu, làm đồ án với giá thành rất rẻ, dễ mua, dễ làm, thuận tiện công việc 1.1.2 Một số đặc điểm,cấu tạo Arduino a Đặc điểm Arduino tảng tạo mẫu điện tử mã nguồn mở, sử dụng nhằm xây dựng ứng dụng điện tử tương tác với hoặc với môi trường thuận tiện, dễ dàng Arduino công cụ hỗ trợ đắc lực cho cơng việc lập trình Điểm hấp dẫn Arduino với người đam mê lập trình ngơn ngữ dễ học giống C/C++, ngoại vi bo mạch chuẩn hóa nên khơng cần biết nhiều điện tử, lập trình ứng dụng thú vị Thêm Arduino mợt platform chuẩn hóa nên có rất nhiều bo mạch mở rộng (shield) để cắm chồng lên bo mạch Arduino, hình dung dễ hiểu "library" ngơn ngữ lập trình Nền tảng mẫu giớng mợt máy tính thu nhỏ, giúp người dùng lập trình thực dự án điện tử mà không cần phải đến công cụ chuyên dụng để phục vụ việc nạp code Phần mềm tương tác với giới bên ngồi thơng qua cảm biến điện tử, đèn động b Cấu tạo Phần cứng Arduino bảng mạch nguồn mở, bộ vi xử lý chân đầu vào/ đầu (I/ O) để liên lạc, điều khiển đối tượng vật lý (LED, servo, nút, v.v.) Bảng mạch thường cấp nguồn qua USB hoặc nguồn điện bên ngoài, cho phép cung cấp lượng cho phần cứng, cảm biến khác Là phần mềm nguồn mở tương tự C ++ Mơi trường phát triển tích hợp Arduino (IDE – Integrated Development Environment) cho phép bạn soạn thảo, biên dịch code, nạp chương cho board ⇒ Tất điều nhằm hỗ trợ cho sinh viên, nhà sản xuất tự phát triển ý tưởng họ thành đối tượng thực một cách dễ dàng Chi tiết phần cứng Arduino: Cổng USB: chân cắm để tải mã lập trình từ PC lên chip điều khiển Đồng thời cổng giao tiếp serial giúp truyền liệu từ chip điều khiển vào máy tính Jack nguồn: để chạy Arduino, bạn hồn tồn nạp nguồn từ cổng USB Tuy nhiên lúc kết nới với máy tính Có dự án cần thực ngồi trời cần mợt nguồn điện khác với mức điện áp từ 9V -12V Hàng Header: chân đánh số từ – 12 hàng digital pin Đây nơi truyền – nhận tín hiệu sớ Bên cạnh có mợt chân nối đất (GND) pin điện áp tham chiếu (AREF) Hàng header thứ 2: chủ yếu liên quan tới điện áp đất, nguồn Hàng header thứ 3: chân để nhập – xuất tín hiệu analog (đọc thông tin thiết bị cảm biến) Chip điều khiển AVR: bộ phận xử lý trung tâm toàn bo mạch Với mẫu Arduino khác nhau, chip khác Ví dụ Arduino Uno sử dụng ATMega328 Hình 1.2: Cấu tạo Arduino 1.1.3 Một số ứng dụng Arduino Trên hình 1.3 mợt sớ ứng dụng thực tế Arduino Hình 1.3: Mợt số ứng dụng thực tế Arduino Với phát triển nhanh chóng mã nguồn mở Arduino việc học khơng cịn khó khăn cho đam mê điện tử, lập trình Vì vậy, Arduino trường THCS, THPT, Cao Đẳng, Đại Học đưa vào giảng dạy làm đề tài hoạt động ngoại khóa nhà trường Là tiền đề thúc đẩy ham mê học hỏi yêu thích nghành nghề tiếp cận đến cơng nghệ mợt cách nhanh nhất Bên cạnh đó,cịn rất nhiều ứng dụng khác Arduino : • Điều khiển thiết bị cảm biến âm thanh, ánh sáng • Làm máy in 3D • Làm đàn ánh sáng • Làm lị nướng bánh biết tweet thơng báo bánh chín • Arduino có khả đọc thiết bị cảm biến, điều khiển đợng cơ,… Chính mà mã nguồn mở c dùng để làm bộ xử lý trung tâm rất nhiều loại robot • Arduino cịn sử dụng để tương tác với Joystick, hình, … chơi game Tetrix, phá gạch, Mario… • Dùng để chế tạo máy bay khơng người lái • Điều khiển đèn giao thông, làm hiệu ứng đèn Led nhấp nháy biển quảng cáo… • Ngồi ra, Arduino cịn rất nhiều ứng dụng hữu ích khác tùy tḥc vào sáng tạo người sử dụng • Ví dụ: Ḿn kết nới Internet có Ethernet shield, điều khiển đợng có Motor shield, kết nới nhận tin nhắn có GSM shield,… Khá đơn giản, cần tập trung vào việc “lắp ghép” thành phần sáng tạo ứng dụng cần thiết CHƯƠNG THIẾT KẾ PHẦN CỨNG VÀ MÔ PHỎNG TRÊN PROTEUS 2.1 Sơ đồ khối Trên hình 2.1 sơ đồ kết nới hệ thớng: Hình 2.4: Sơ đồ khối hệ thống Khối Điều Khiển Khối Cảm Khối Hiển Thị LCD Biến Khối Nguồn 2.2 Chức khối 2.2.1 Khối cảm biến Khối cảm biến sử dụng bộ cảm biến hồng ngoại – module FC-51 gồm một LED phát một LED thu hồng ngoại hoạt động theo nguyên lý sau: LED phát hồng ngoại phát sóng ánh sáng có bước sóng hồng ngoại LED thu hồng ngoại bình thường có nợi trở lớn, LED thu bị tia hồng ngoại chiếu vào nợi trở giảm x́ng tạo tín hiệu đưa đến khới điều khiển Hình 2.5: Module FC-51 thu/phát hồng ngoại Trong : chân VCC nối với +5V Arduino chân GND nối với 0V Arduino chân OUT nối với chân 1-7 Arduino Các thông số kỹ thuật module thu/phát hồng ngoại FC-51: • Sử dụng IC LM393 • Góc mở: 350 • Điện áp hoạt đợng: – V • Khoảng cách phát hiện: – 30 cm (điều chỉnh biến trở) • Mức logic đầu ra: mức thấp có vật cản mức cao khơng có vật cản • Dịng điện tiêu thụ: khoảng 23 mA (với mức điện áp 3,3 V) khoảng 43 mA (với mức điện áp V) • Kích thước: dài 45 mm, rộng 14 mm cao mm 2.2.2 Khối hiển thị Hệ thớng sử dụng hình LCD 16x2 I2C để hiển thị giá trị đếm số lượng sản phẩm a Đới với LCD 16×2 sử dụng để hiển thị trạng thái hoặc thông số : • LCD 16×2 có 16 chân chân liệu (D0 – D7) chân điều khiển (RS, RW, EN) • chân cịn lại dùng để cõp ngun v ốn nn cho LCD 16ì2 ã Cỏc chân điều khiển giúp ta dễ dàng cấu hình LCD chế đợ lệnh hoặc chế đợ liệu • Chúng cịn giúp ta cấu hình chế đợ đọc hoc ghi ã LCD 16ì2 cú th s dng chế độ bit hoặc bit tùy theo ứng dụng ta làm Hình 2.6: Sơ đồ chân kết nối LCD 16x2 b Đối với I2C Vì LCD 16x2 có q nhiều nhiều chân gây khó khăn q trình đấu nới chiếm dụng nhiều chân vi điều khiển Module I2C đời giải vấn để cho bạn Thay phải mất chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 D4) module IC2 bạn cần tốn chân (SCL, SDA) để kết nối Module I2C hỗ trợ loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) tương thích với hầu hết vi điều khiển Trên hình 2.4 sơ đồ chân module I2C Hình 2.7: Sơ đồ chân I2C Trong đó: Chân I2C nối với GND (0V) Chân I2C nối VCC (+5V) Chân (SDA) I2C nối với A4 Arduino Chân (SCL) I2C nối với A5 Arduino THÔNG SỐ MẠCH CHUYỂN ĐỔI GIAO TIẾP I2C • Kích thước: 41.5mm X19mm(W)X15.3MM(H) • Trọng lượng: 5g • Điện áp hoạt đợng: 2.5v-6v • Jump chớt: Cung cấp đèn cho LCD hoặc ngắt • Biến trở xoay độ tương phản cho LCD 2.2.3 Khối vi điều khiển khối nguồn a Khối vi điều khiển Khới vi điều khiển khới nguồn tích hợp module Arduino Uno R3 Khối vi điều khiển nhận tín hiệu từ khới cảm biến hồng ngoại (module FC-51), xử lý tín hiệu theo chương trình nạp: tăng giá trị đếm xuất hiển thị giá trị đếm lên hình LCD b Khới nguồn Khới nguồn cung cấp nguồn cho tồn bợ hệ thớng thơng thưởng lấy thông qua nguồn DC 3.3-5V hoặc lấy nguồn trực tiếp từ Arduino 10 2.3 Nguyên lý hoạt động Nguyên lý hoạt động mạch sau: - Tại thời điểm ban đầu chưa có vật cản qua, cảm biến hồng ngoại khơng nhận tín hiệu khơng có tín hiệu đưa đến vi điều khiển Màn hình LCD trường hợp hiển thị giá trị đếm nhớ trước - Khi có vật cản qua, cảm biến hồng ngoại thu nhận tín hiệu truyền tín hiệu đến vi điều khiển Arduino, vi điều khiển thực tác vụ tăng giá trị đếm xuất hiển thị giá trị đếm lên mà hình LCD đồng thời đảm bảo mợt vật đứng n tại vị trí cảm biến hồng ngoại số đếm không tăng lên hiển thị lên LCD 2.4 Mô Proteus 2.4.1 Giới thiệu phần mềm mô Proteus Proteus phần mềm cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trình điều khiển cho họ vi điều khiển MCS-51, PIC, AVR… Proteus phần mềm mô mạch điện tử Lancenter Electronics, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola Phần mềm bao gồm chương trình: ISIS cho phép mơ mạch ARES dùng để vẽ mạch in Proteus công cụ mô cho loại vi điều khiển tốt, hỗ trợ dịng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 giao tiếp I2C, SPI, CAN, USB, Ethenet Ngồi cịn mơ mạch số, mạch tương tự một cách hiệu Proteus bộ công cụ chuyên mô mạch điện tử ISIS nghiên cứu phát triển 12 năm có 12000 người dùng khắp giới Sức mạnh mô hoạt động hệ vi điều khiển mà không cần thêm phần mềm phụ trợ Sau đó, phần mềm ISIS xuất file sang ARES hoặc phần mềm vẽ mạch in khác 11 Trong lĩnh vực giáo dục, ISIS có ưu điểm hình ảnh mạch điện đẹp, cho phép ta tùy chọn đường nét, màu sắc mạch điện, thiết kế theo mạch mẫu (templates) Hình 2.8: Giao diện Proteus Mợt sớ ưu điểm Proteus là: • Tự động xếp đường mạch vẽ điểm giao đường mạch • Chọn đới tượng thiết lập thơng sớ cho đới tượng dễ dàng • X́t file thớng kê linh kiện cho mạch • Xuất file Netlist tương thích với chương trình làm mạch in thơng dụng • Đới với người thiết kế mạch chun nghiệp, ISIS tích hợp nhiều cơng cụ giúp cho việc quản lý mạch điện lớn, mạch điện lên đến hàng ngàn linh kiện • Thiết kế theo cấu trúc (hierachical design) • Khả tự đợng đánh sớ linh kiện 12 2.4.2 Mơ mạch Proteus Hình 2.5 mô sơ đồ nối chân cụ thể khối hệ thống thực tế phần mềm Proteus Professional Hình 2.9: Mơ mạch phần mềm Proteus Giải thích ngun lý hoạt đợng: • Ở thời điểm ban đầu,cảm biến chưa có vật cản qua (TestPin =1) khơng có tín hiệu đưa đến vi điều khiển Màn hình LCD trường hợp hiển thị giá trị đếm nhớ trước đó,thường • Khi có vật cản qua (TestPin=0) có tín hiệu từ cảm biến gửi đến Arduino vi điều khiển thực tác vụ tăng giá trị đếm xuất,hiển thị giá trị đếm lên mà hình LCD 13 CHƯƠNG THIẾT KẾ TRÊN PHẦN MỀM ARDUINO 3.1 Thuật toán điều khiển BẮT ĐẦU KHỞI TẠO ĐỌC GIÁ TRỊ ĐẾM LƯU TRONG BỘ NHỚ HIỂN THỊ GIÁ TRỊ ĐẾM LÊN LCD SAI CAM_BIEN=LO W ĐÚNG G TĂNG GIÁ TRỊ ĐẾM GHI GIÁ TRỊ ĐẾM VÀO BỘ NHỚ S TẮT AI NGUỒN ĐÚNG KẾT THÚC Hình 3.10: Thuật toán điều khiển 14 3.2 Kết thực nghiệm Trên hình 3.2 kết thực tế nhóm chúng em Hình 3.11: Kết thực nghiệm 15 KẾT LUẬN Trong śt q trình nghiên cứu hồn thiện sản phẩm, nhóm em thấy sản phẩm: Mạch chạy ổn định Sơ đồ đấu nối đơn giản Đợ nhạy cảm biến cao Khi có tín hiệu cảm biến x́t lên hình LCD nhanh Nhưng gặp trục trặc cảm biến khoảng cách đếm hạn chế khoảng 5cm mặc dù nhóm em chỉnh biến trở cảm biến 16 TÀI LIỆU THAM KHẢO [1] “Arduino cho người bắt đầu” - tác giả IoT Maker Viet Nam,193 trang [2] “Vi Điều Khiển Và Ứng Dụng Arduino Dành Cho Người Tự Học” - Phạm Qunag Huy,Nguyễn Trọng Hiếu 17 ... cao mm 2.2.2 Khối hiển thị Hệ thớng sử dụng hình LCD 16x2 I2C để hiển thị giá trị đếm số lượng sản phẩm a Đới với LCD 16×2 sử dụng để hiển thị trạng thái hoặc thông số : ã LCD 16ì2 cú 16 chõn... tác vụ tăng giá trị đếm xuất hiển thị giá trị đếm lên mà hình LCD đồng thời đảm bảo mợt vật đứng yên tại vị trí cảm biến hồng ngoại sớ đếm khơng tăng lên hiển thị lên LCD 2.4 Mô Proteus 2.4.1... khác Ví dụ Arduino Uno sử dụng ATMega328 Hình 1.2: Cấu tạo Arduino 1.1.3 Một số ứng dụng Arduino Trên hình 1.3 mợt sớ ứng dụng thực tế Arduino Hình 1.3: Mợt số ứng dụng thực tế Arduino Với