(Đồ án tốt nghiệp) Robot giao thức ăn

147 5 0
(Đồ án tốt nghiệp) Robot giao thức ăn

Đ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

(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn(Đồ án tốt nghiệp) Robot giao thức ăn

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO *** ĐỒ ÁN TỐT NGHIỆP ROBOT GIAO THỨC ĂN SVTH : LÊ MINH TÂM MSSV : 15141059 Khóa : 2015 Ngành : CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG GVHD : THS NGUYỄN NGƠ LÂM Tp Hồ Chí Minh, tháng 08 năm 2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO *** ĐỒ ÁN TỐT NGHIỆP ROBOT GIAO THỨC ĂN SVTH : LÊ MINH TÂM MSSV : 15141059 Khóa : 2015 Ngành : CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG GVHD : THS NGUYỄN NGƠ LÂM Tp Hồ Chí Minh, tháng 08 năm 2020 LỜI CẢM ƠN Em xin cảm ơn quý Thầy Cô Khoa Đào Tạo Chất Lượng Cao, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, Thầy Cơ truyền đạt cho em thật nhiều kiến thức quý báu, truyền đạt kinh nghiệm vốn sống giúp em vững tin để hoàn thành tốt đề tài Em xin gửi lời cảm ơn chân thành sâu sắc đến Thầy Nguyễn Ngô Lâm trực tiếp hướng dẫn tận tình giúp đỡ, tạo điều kiện thuận lợi cho em suốt trình thực đồ án tốt nghiệp Em gửi lời đồng cảm ơn đến bạn lớp 15141CLDT1A chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Em xin chân thành cảm ơn gia đình bạn bè ln tạo động lực mạnh mẽ giúp đỡ em để em hoàn thành cách tốt đề tài Tuy cố gắng nhiều trình thực đề tài kết tốt kiến thức kinh nghiệm hạn chế nên khơng thể tránh khỏi thiếu sót, mong q Thầy Cô bạn sinh viên thông cảm Rất mong nhận góp ý chân thành từ quý Thầy Cơ bạn sinh viên để em có hội phát triển nhiều vươn xa đường nghiệp Sau trình thực đề tài mà em nhận khơng Robot giao thức ăn mà kinh nghiệm q báu, vượt qua khơng khó khăn để lại em nhiều trải nghiệm, khả nghiên cứu tự tìm giải pháp tốt cho vấn đề Tất giúp em hướng tới kỹ sư hoàn hảo tương lai Em cảm ơn sống, cảm ơn tuổi trẻ mang lại cho em trải nghiệm tuyệt vời Tuổi trẻ sức làm! Em xin chân thành cảm ơn Tất Cả! Người thực đề tài Lê Minh Tâm LỜI GIỚI THIỆU Ngày nay, với công nghệ ngày phát triển, thiết bị sinh phục vụ cho người ngày nhiều, số khơng thể khơng nhắc đến Robot Covid-19 mối quan tâm hàng đầu giới, sản phẩm Robot giao thức ăn điều khiển từ xa tự động vô cần thiết Sản phẩm Robot giao thức ăn khan Việt Nam, nhiên phổ biến số nước phát triển Mỹ, Nhật Bản, Trung Quốc, Hàn Quốc Chính ngun nhân đó, em định chọn đề tài “Robot Giao Thức Ăn” Em nghiên cứu lập trình Kit STM32F4 Discovery kết hợp với số mô-đun thông dụng để tạo sản phẩm Robot giao thức ăn Sau khoảng thời gian nghiên cứu chế tạo thành công Robot Giao Thức Ăn với yêu cầu sau:  Robot di chuyển theo line nhận biết nơi cần giao thức ăn  Khi tới nơi cần giao thức ăn Robot chờ nút kết thúc hết thời gian chờ Robot tiếp tục giao thức ăn cho bàn lại  Ngồi vận hành tự động, Robot cịn điều khiển theo yêu cầu người dùng thông qua mạng wifi ứng dụng điện thoại thông minh  Robot phát cảnh báo âm hiển thị thơng tin cần thiết hình theo yêu cầu Robot giao thức ăn có chức mà Robot giao thức ăn cần có để đảm nhiệm số vai trị định để giúp đỡ nhân viên phục vụ Robot em nghiên cứu thêm đưa vào số chức mẻ để thơng minh Đề tài hồn tồn ứng dụng thực tế với vài bước thiết lập đơn giản MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii LỜI CẢM ƠN iv LỜI GIỚI THIỆU v MỤC LỤC vi DANH MỤC BẢNG BIỂU i DANH MỤC HÌNH ẢNH .ii DANH MỤC CÁC TỪ VIẾT TẮT iv Chương 1: TỔNG QUAN 1.1 Giới thiệu tình hình nghiên cứu .1 1.2 Mục tiêu nghiên cứu .1 1.3 Đối tượng phạm vi nghiên cứu 1.4 Phương ph́ áp nghiên cứu 1.5 Bố cục Đồ án Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Kit STM32F4 Discovery 2.2 Nút nhấn cảm ứng điện dung TTP223B Mini 2.3 Mô-đun điều khiển động DC L298N 11 2.4 Động giảm tốc DC JGA25-370 16 2.5 Mơ-đun cảm biến dị line đơn TCRT5000 .17 2.6 Cảm biến vật cản hồng ngoại E18-D80NK 19 2.7 Arduino ATTiny85 USB Digispark .21 2.8 Arduino Uno R3 23 2.9 Mô-đun phát hồng ngoại KY-005 mô-đun thu hồng ngoại KY-022 27 2.9.1 Mô-đun phát hồng ngoại KY-005 27 2.9.2 Mô-đun thu hồng ngoại KY-022 28 2.9.3 Giao thức NEC .28 2.10 Mô-đun Wifi ESP8266 NodeMCU 30 2.11 Ứng dụng Blynk 33 2.12 Mô-đun LCD 1602 giao tiếp I2C .34 2.13 Chuẩn giao tiếp I2C 37 2.13.1 Giới thiệu I2C 37 2.13.2 Nguyên lý hoạt động I2C 38 2.13.3 Dữ liệu I2C 40 2.14 LED 5mm 41 2.15 Mô-đun âm DFPlayer Mini 42 2.16 Mô-đun khuếch đại âm PAM8403 45 2.17 Mô-đun giảm áp DC XL4015 có chỉnh dịng 46 Chương 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 49 3.1 Sơ đồ khối hệ thống .49 3.1.1 Yêu cầu hệ thống 49 3.1.2 Sơ đồ khối chức khối 49 3.1.3 Hoạt động hệ thống 51 3.2 Thiết kế, tính tốn hệ thống 52 3.2.1 Khối nút nhấn 52 3.2.2 Khối nhận biết thức ăn 53 3.2.3 Khối điều khiển động 55 3.2.4 Khối nhận biết line .56 3.2.5 Khối nhận biết vật cản 58 3.2.6 Khối nhận biết trạm .59 3.2.7 Khối điều khiển từ xa 61 3.2.8 Khối hiển thị 63 3.2.9 Khối cảnh báo 64 3.2.10 Khối xử lý trung tâm 66 3.2.11 Khối nguồn 78 3.2.12 Xây dựng hệ thống .79 Chương 4: KẾT QUẢ 82 4.1 KẾT QUẢ MƠ HÌNH THI CƠNG 82 4.1.1 Phần cứng 82 4.1.2 Phần mềm 83 4.2 HOẠT ĐỘNG CỦA HỆ THỐNG .84 Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85 4.1 Kết luận 85 4.2 Hướng phát triển đề tài .85 TÀI LIỆU THAM KHẢO 86 PHỤ LỤC 87 DANH MỤC BẢNG BIỂU Bảng 2.1 Sơ đồ chân Kit STM32F4 Discovery Bảng 2.2 Sơ đồ chân nút nhấn điện dung TTP223B Bảng 2.3 Sơ đồ chân mô-đun điều khiển động DC L298N 14 Bảng 2.4 Sơ đồ chân mơ-đun cảm biến dị line đơn TCRT5000 19 Bảng 2.5 Sơ đồ chân cảm biến vật cản hồng ngoại E18-D80NK 20 Bảng 2.6 Sơ đồ chân KY-005 28 Bảng 2.7 Sơ đồ chân KY-022 28 Bảng 2.8 Sơ đồ chân mô-đun LCD 1602 giao tiếp I2C 35 Bảng 2.9 Bản đồ địa PCF8574T 36 Bảng 2.10 Sơ đồ chân LED 42 Bảng 2.11 Sơ đồ chân DFPlayer Mini 44 Bảng 2.12 Sơ đồ chân mô-đun khuếch đại âm PAM8403 46 Bảng 3.1 Sơ đồ kết nối chân nút nhấn STM32F407VGT6 52 Bảng 3.2 Sơ đồ kế nối chân nút Food STM32F407VGT6 54 Bảng 3.3 Sơ đồ kết nối chân L298N STM32F407VGT6 55 Bảng 3.4 Sơ đồ kết nối chân Mô-đun TCRT5000 STM32F407VGT6 57 Bảng 3.5 Hoạt động khối nhận biết line 58 Bảng 3.6 Sơ đồ kết nối chân E18-D80NK va STM32F407VGT6 59 Bảng 3.7 Sơ đồ kết nối chân KY-005 Digispark USB 61 Bảng 3.8 Sơ đồ kết nối chân KY-022, Arduino Uno R3 STM32F407VGT6 61 Bảng 3.9 Sơ đồ kết nối chân ESP8266 NodeMCU STM32F407VGT6 62 Bảng 3.10 Sơ đồ kết nối chân LCD 1602 I2C STM32F407VGT6 63 Bảng 3.11 Sơ đồ kết nối chân LED hiển thị STM32F407VGT6 63 Bảng 3.12 Sơ đồ kết nối chân DFPlayer Mini, Arduino Uno R3 STM32F407VGT6 65 Bảng 3.13 Sơ đồ kết nối chân LED cảnh báo STM32F407VGT6 65 Bảng 3.14 Giá trị Value LastValue cho trường hợp nhận biết line…………… 71 Bảng 3.15 Thống kê nguồn cấp dòng tiêu thụ thành phần 78 i DANH MỤC HÌNH ẢNH Hình 2.1 Kit STM32F4 Discovery Hình 2.2 Sơ đồ khối phần cứng Hình 2.3 Nút nhấn cảm ứng điện dung TTP223B Mini Hình 2.4 Sơ đồ mạch tham chiếu nút nhấn cảm ứng điện dung TTP223B Mini Hình 2.5 Cấu hình cho nút nhấn cảm ứng điện dung TTP223B 11 Hình 2.6 Mô-đun điều khiển động L298N 11 Hình 2.7 Sơ đồ mạch tham chiếu mô-đun L298N 12 Hình 2.8 Kỹ thuật điều chế độ rộng xung PWM 13 Hình 2.9 Nguyên lý làm việc cầu H – điều khiển động DC 14 Hình 2.10 Sơ đồ chân mô-đun điều khiển động DC L298N 14 Hình 2.11 Chân nguồn, jumper 5V-ENA điều chỉnh 5V bo mạch 16 Hình 2.12 Động giảm tốc DC JGA25-370 16 Hình 2.13 Thơng số kích thước động giảm tốc DC JGA25-370 17 Hình 2.14 Mô-đun cảm biến hồng ngoại TCRT5000 18 Hình 2.15 Sơ đồ mạch tham chiếu mơ-đun cảm biến dị line đơn TCRT5000 18 Hình 2.16 Hoạt động mơ-đun cảm biến dò line đơn TCRT5000 19 Hình 2.17 Cảm biến vật cản hồng ngoại E18-D80NK 20 Hình 2.18 Sơ đồ chân cảm biến vật cản hồng ngoại E18-D80NK 21 Hình 2.19 Arduino ATTiny85 USB Digispark 21 Hình 2.20 Sơ đồ mạch tham chiếu Arduino ATTiny85 USB Digispark 22 Hình 2.21 Sơ đồ chân Arduino ATTiny85 USB Digispark 23 Hình 2.22 Arduino Uno R3 23 Hình 2.23 Sơ đồ chân Arduino Uno R3 25 Hình 2.24 Mức Logic Logic giao thức NEC 29 Hình 2.25 Dữ liệu truyền giao thức NEC 29 Hình 2.26 Xung tín hiệu liên tục giao thức NEC 30 Hình 2.27 Esp8266 NodeMCU 30 Hình 2.28 Sơ đồ chân ESP8266 Node MCU 32 Hình 2.29 Mô-đun LCD 1602 giao tiếp I2C 35 Hình 2.30 Vị trí pad A0 ~ A2 36 Hình 2.31 Sơ đồ mạch tham chiếu mô-đun giao tiếp I2C 37 Hình 2.32 Nhiều thiết bị ngoại vi gắn vào bus chung I2C 37 Hình 2.33 Kéo xuống mức thấp 38 Hình 2.34 Kéo lên mức cao 38 Hình 2.35 Bit điều kiện START STOP 39 Hình 2.36 Truyền liệu byte 39 Hình 2.37 Dạng sóng NACK 40 Hình 2.38 I2C ghi vào ghi thiết bị Slave 41 Hình 2.39 I2C đọc từ ghi thiết bị Slave 41 Hình 2.40 LED 5mm 41 ii Hình 2.41 Kí hiệu LED 42 Hình 2.42 Mô-đun âm DFPlayer Mini 43 Hình 2.43 Sơ đồ chân DFPlayer Mini 44 Hình 2.44 Mơ-đun khuếch đại âm PAM8403 45 Hình 2.45 Sơ đồ mạch tham chiếu mơ-đun khuếch đại âm PAM8403 45 Hình 2.46 Sơ đồ chân mô-đun khuếch đại âm PAM8403 46 Hình 2.47 Mơ-đun giảm áp DC XL4015 có chỉnh dịng 47 Hình 2.48 Sơ đồ mạch tham chiếu mơ-đun giảm áp DC XL4015 có chỉnh dịng 47 Hình 3.1 Sơ đồ khối hệ thống 50 Hình 3.2 Sơ đồ nguyên lý khối nút nhấn 52 Hình 3.3 Tính tốn điện trở cho nút nhấn 53 Hình 3.4 Sơ đồ nguyên lý khối nhận biết thức ăn 54 Hình 3.5 Sơ đồ nguyên lý khối điều khiển động 55 Hình 3.6 Sơ đồ nguyên lý nhận biết line 57 Hình 3.7 Sơ đồ nguyên lý khối nhận biết vật cản 59 Hình 3.8 Sơ đồ nguyên lý khối nhận biết trạm 60 Hình 3.9 Sơ đồ nguyên lý khối điều khiển từ xa 62 Hình 3.10 Sơ đồ nguyên lý khối hiển thị 63 Hình 3.11 Sơ đồ nguyên lý khối cảnh báo 65 Hình 3.12 Lưu đồ giải thuật chương trình 69 Hình 3.13 Lưu đồ giải thuật chương trình Start Button 70 Hình 3.14 Lưu đồ giải thuật chương trình End Button 70 Hình 3.15 Lưu đồ giải thuật chương trình Station Sensor 71 Hình 3.16 Lưu đồ giải thuật chương trình Motor Line 72 Hình 3.17 Lưu đồ giải thuật chương trình Wifi Control 73 Hình 3.18 Lưu đồ giải thuật chương trình Food State 74 Hình 3.19 Lưu đồ giải thuật chương trình Sound Control 75 Hình 3.20 Lưu đồ giải thuật chương trình LCD Display 76 Hình 3.21 Phần mềm STM32CubeIDE 77 Hình 3.22 Sơ đồ nguyên lý khối nguồn 79 Hình 3.23 Sơ đồ hệ thống 81 Hình 4.1 Mơ hình Robot Giao Thức Ăn………………………………………………….80 Hình 4.2 Các mạch thi cơng…………………………………………………………… 81 Hình 4.3 Giao diện ứng dụng điều khiển…………………………………………………81 Hình 4.4 Mơ hình hệ thống nhìn từ phía sau…………………………………………… 82 Hình 4.5 Mơ hình hệ thống nhìn từ phía trước………………………………………… 82 iii DANH MỤC CÁC TỪ VIẾT TẮT Các Từ Viết Tắt ARM ADC DAC DC EN GND GPIO IC IDE IR I2C I2S I/O LCD LED OTG PWM RAM RPM RST SDIO SPI UART USB Tiếng Anh Acorn RISC Machine Analog-to-Digital Converter Digital Analog Converter Direct Current Enable Ground General Purpose Input Output Integrated circuit Integrated Development Environment Infrared radiation Inter-Intergrated Circuit International Imaging Systems Inc Input/Output Liquid-Crystal Display Light Emitting Diode On The Go Pulse-width modulation Random Access Memory Round Per Minute Reset Serial Digital Input/Output Serial Peripheral Interface Universal asynchronous receiver transmitter Universal Serial Bus Tiếng Việt Máy RISC Acorn Bộ chuyển đổi tương tự sang số Bộ chuyển đổi số sang tương tự Dịng điện chiều Kích hoạt Đất Mục đích chung Đầu vào Đầu Mạch tích hợp Mơi trường phát triển tích hợp Bức xạ hồng ngoại Mạch liên tích hợp International Imaging Systems Inc Đầu đầu vào Màn hình tinh thể lỏng Điốt phát sáng Điều chế độ rộng xung Bộ nhớ truy cập tạm thời Vòng/Phút Cài lại Đầu vào / đầu kỹ thuật số nối tiếp Giao diện ngoại vi nối tiếp Bộ tiếp nhận không đồng / đồng chuyển giao Bus nối tiếp đa iv lcd_goto_XY(2,0); lcd_send_string("Go Home!"); } } else { lcd_goto_XY(2,0); lcd_send_string("Go Home!"); } } } else { lcd_goto_XY(2,0); lcd_send_string("Wifi Controler! "); } } /* USER CODE END */ /** * @brief This function is executed in case of error occurrence * @retval None */ void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ /* USER CODE END Error_Handler_Debug */ } #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred * @param file: pointer to the source file name * @param line: assert_param error line source number 123 * @retval None */ void assert_failed(uint8_t *file, uint32_t line) { /* USER CODE BEGIN */ /* User can add his own implementation to report the file name and line number, tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* USER CODE END */ } #endif /* USE_FULL_ASSERT */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/  CHƯƠNG TRÌNH VIẾT CHO ARDUINO ATTINY85 DIGISPARK USB SỬ DỤNG PHẦN MỀM ARDUINO IDE (KHỐI PHÁT TÍN HIỆU HỒNG NGOẠI)  KHỐI PHÁT TẠI QUẦY BÁN: #include #define ledPin #define YOUR_NEC_CODE 0xABCD1234 IRsend irsend; void setup() { pinMode(ledPin,OUTPUT); digitalWrite(ledPin,LOW); } void loop() { send_ir(); } void send_ir(){ irsend.sendNEC(YOUR_NEC_CODE, 32); digitalWrite(ledPin,HIGH); delay(100); 124 digitalWrite(ledPin,LOW); }  KHỐI PHÁT TẠI BÀN 1: #include #define ledPin #define YOUR_NEC_CODE 0xAAAA1111 IRsend irsend; void setup() { pinMode(ledPin,OUTPUT); digitalWrite(ledPin,LOW); } void loop() { send_ir(); } void send_ir(){ irsend.sendNEC(YOUR_NEC_CODE, 32); digitalWrite(ledPin,HIGH); delay(100); digitalWrite(ledPin,LOW); }  KHỐI PHÁT TẠI BÀN 2: #include #define ledPin #define YOUR_NEC_CODE 0xBBBB2222 IRsend irsend; void setup() { pinMode(ledPin,OUTPUT); digitalWrite(ledPin,LOW); } 125 void loop() { send_ir(); } void send_ir(){ irsend.sendNEC(YOUR_NEC_CODE, 32); digitalWrite(ledPin,HIGH); delay(100); digitalWrite(ledPin,LOW); }  KHỐI PHÁT TẠI BÀN 3: #include #define ledPin #define YOUR_NEC_CODE 0xCCCC3333 IRsend irsend; void setup() { pinMode(ledPin,OUTPUT); digitalWrite(ledPin,LOW); } void loop() { send_ir(); } void send_ir(){ irsend.sendNEC(YOUR_NEC_CODE, 32); digitalWrite(ledPin,HIGH); delay(100); digitalWrite(ledPin,LOW); }  CHƯƠNG TRÌNH VIẾT CHO ARDUINO UNO R3 SỬ DỤNG PHẦN MỀM ARDUINO IDE (KHỐI THU TÍN HIỆU HỒNG NGOẠI) 126 /*** Make By T24 Since 27.07.20 ***/ // Arduino-IRremote library will be added #include // You can declare the input pin for the signal output of the KY-022 here int RECV_PIN = 2; int station1 = 4; int station2 = 5; int station3 = 6; int station4 = 7; int start_temp = 3; // Arduino-IRremote library will be initialized IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Infrared receiver will start pinMode(station1,OUTPUT); pinMode(station2,OUTPUT); pinMode(station3,OUTPUT); pinMode(station4,OUTPUT); pinMode(start_temp,INPUT); digitalWrite(station1,LOW); digitalWrite(station2,LOW); digitalWrite(station3,LOW); digitalWrite(station4,LOW); digitalWrite(start_temp,LOW); delay(4000); } // main program loop 127 void loop() { if(digitalRead(start_temp)==1) { digitalWrite(station1, LOW); } // It will be checked if the receiver has gotten a signal if (irrecv.decode(&results)) { if (results.value==0xABCD1234) { if (digitalRead(start_temp)==0) { digitalWrite(station1, HIGH); digitalWrite(station2, LOW); digitalWrite(station3, LOW); digitalWrite(station4, LOW); //At signal input, the received and decoded signal will show via serial console Serial.println(results.value, HEX); delay(200); } } else if(results.value==0xAAAA1111) { digitalWrite(station1, LOW); digitalWrite(station2, HIGH); digitalWrite(station3, LOW); digitalWrite(station4, LOW); //At signal input, the received and decoded signal will show via serial console Serial.println(results.value, HEX); delay(200); } else if(results.value==0xBBBB2222) { 128 digitalWrite(station1, LOW); digitalWrite(station2, LOW); digitalWrite(station3, HIGH); digitalWrite(station4, LOW); //At signal input, the received and decoded signal will show via serial console Serial.println(results.value, HEX); delay(200); } else if(results.value==0xCCCC3333) { digitalWrite(station1, LOW); digitalWrite(station2, LOW); digitalWrite(station3, LOW); digitalWrite(station4, HIGH); //At signal input, the received and decoded signal will show via serial console Serial.println(results.value, HEX); delay(200); } irrecv.resume(); } }  CHƯƠNG TRÌNH VIẾT CHO ARDUINO UNO R3 SỬ DỤNG PHẦN MỀM ARDUINO IDE (KHỐI CẢNH BÁO ÂM THANH) /*** Make By T24 Since 27.07.20 ***/ #include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" int sound1 = 2; int sound2 = 3; int sound3 = 4; int sound4 = 5; 129 SoftwareSerial mySoftwareSerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; void printDetail(uint8_t type, int value); void setup() { pinMode(sound1,INPUT); pinMode(sound2,INPUT); pinMode(sound3,INPUT); pinMode(sound4,INPUT); digitalWrite(sound1,LOW); digitalWrite(sound2,LOW); digitalWrite(sound3,LOW); digitalWrite(sound4,LOW); mySoftwareSerial.begin(9600); Serial.begin(115200); Serial.println(); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer (May take 3~5 seconds)")); if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3 Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while(true); } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.volume(30); //Set volume value From to 30 } void loop() { 130 if (digitalRead(sound1) == HIGH) { myDFPlayer.play(1); while(digitalRead(sound1) == HIGH) delay(200); myDFPlayer.pause(); while(digitalRead(sound1) == HIGH) delay(200); } else if (digitalRead(sound2) == HIGH) { myDFPlayer.play(2); while(digitalRead(sound2) == HIGH) delay(200); myDFPlayer.pause(); while(digitalRead(sound2) == HIGH) delay(200); } else if (digitalRead(sound3) == HIGH) { myDFPlayer.play(3); while(digitalRead(sound3) == HIGH) delay(200); myDFPlayer.pause(); while(digitalRead(sound3) == HIGH) delay(200); } else if (digitalRead(sound4) == HIGH) { myDFPlayer.play(4); while(digitalRead(sound4) == HIGH) delay(200); myDFPlayer.pause(); while(digitalRead(sound4) == HIGH) delay(200); } 131 else myDFPlayer.pause(); if (myDFPlayer.available()) { printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states } } void printDetail(uint8_t type, int value){ switch (type) { case TimeOut: Serial.println(F("Time Out!")); break; case WrongStack: Serial.println(F("Stack Wrong!")); break; case DFPlayerCardInserted: Serial.println(F("Card Inserted!")); break; case DFPlayerCardRemoved: Serial.println(F("Card Removed!")); break; case DFPlayerCardOnline: Serial.println(F("Card Online!")); break; case DFPlayerPlayFinished: Serial.print(F("Number:")); Serial.print(value); Serial.println(F(" Play Finished!")); break; case DFPlayerError: Serial.print(F("DFPlayerError:")); switch (value) { case Busy: Serial.println(F("Card not found")); break; case Sleeping: 132 Serial.println(F("Sleeping")); break; case SerialWrongStack: Serial.println(F("Get Wrong Stack")); break; case CheckSumNotMatch: Serial.println(F("Check Sum Not Match")); break; case FileIndexOut: Serial.println(F("File Index Out of Bound")); break; case FileMismatch: Serial.println(F("Cannot Find File")); break; case Advertise: Serial.println(F("In Advertise")); break; default: break; } break; default: break; } }  CHƯƠNG TRÌNH VIẾT CHO ESP8266 NODEMCU SỬ DỤNG PHẦN MỀM ARDUINO IDE (KHỐI ĐIỀU KHIỂN TỪ XA) /*** Make By T24 Since 27.07.20 ***/ // Include thư viện sử dụng // Các bạn search google để down thư viện #define BLYNK_PRINT Serial #include #include int MODE = 16; int UP = 5; 133 int DOWN = 4; int LEFT = 0; int RIGHT = 2; int START = 14; int RESET = 12; // // Để lấy auth key, vào email đăng ký char auth[] = "Wj5nqy0XwdwAW_cUzeY10UrCoDM9Cc2B"; // Tên mật wifi mà esp kết nối const char* ssid = "T24"; // Đổi thành tên wifi bạn const char* password = "doimotchut"; // Đổi thành mật wifi bạn // -// Set Static IP cho ESP // Để biết thông số cách dễ kết nối wifi điện thoại sau vào mục thơng tin //IPAddress địa IP ESP, bạn nên cẩn thận, tránh việc sử dụng trùng IP khác có mạng IPAddress local_IP(172, 20, 10, 24); // Set gateway IP, địa router IPAddress gateway(172, 20, 10, 1); // Set địa subnet mask IPAddress subnet(255, 255, 255, 240); // Dưới DNS google, bạn cần xem thông tin mạng wifi bạn IPAddress primaryDNS(172, 20, 10, 1); // Dưới DNS google, bạn cần xem thông tin mạng wifi bạn IPAddress secondaryDNS(172, 20, 10, 1); // -void setup() { pinMode(MODE, OUTPUT); pinMode(UP, OUTPUT); pinMode(DOWN, OUTPUT); pinMode(LEFT, OUTPUT); pinMode(RIGHT, OUTPUT); pinMode(START, OUTPUT); pinMode(RESET, OUTPUT); 134 digitalWrite(MODE, LOW); digitalWrite(UP, LOW); digitalWrite(DOWN, LOW); digitalWrite(LEFT, LOW); digitalWrite(RIGHT, LOW); digitalWrite(START, LOW); digitalWrite(RESET, LOW); // Debug console Serial.begin(9600); // -if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) { Serial.println("Failed to configure"); } // Kết nối mạng Wi-Fi Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } // -Blynk.config(auth); while (Blynk.connect(1000) == false) { } //Bạn sử dụng cách khác để kết nối tới Blynk //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080); } void loop() { Blynk.run(); } 135  SƠ ĐỒ NGUYÊN LÝ THIẾT KẾ MẠCH VÀ SƠ ĐỒ MẠCH IN CỦA CÁC MẠCH SỬ DỤNG TRONG ĐỒ ÁN TỐT NGHIỆP Sơ đồ nguyên lý thiết kế mạch sơ đồ mạch in đính kèm theo thứ tự sau:  Sơ đồ nguyên lý thiết kế mạch mạch  Sơ đồ mạch in mạch (Top Mirror)  Sơ đồ mạch in mạch (Bottom)  Sơ đồ nguyên lý thiết kế mạch khối nhận biết thức ăn  Sơ đồ mạch in khối nhận biết thức ăn (Lưu ý cần nối chung chân GND sau hoàn thành mạch)  Sơ đồ nguyên lý thiết kế mạch khối nhận biết line  Sơ đồ mạch in khối nhận biết line  Sơ đồ nguyên lý thiết kế mạch khối nút nhấn khối hiển thị  Sơ đồ mạch in khối nút nhấn khối hiển thị Giáo Viên Hướng Dẫn ThS Nguyễn Ngô Lâm Sinh Viên Thực Hiện Lê Minh Tâm 136 ... Robot Giao Thức Ăn với yêu cầu sau:  Robot di chuyển theo line nhận biết nơi cần giao thức ăn  Khi tới nơi cần giao thức ăn Robot chờ nút kết thúc hết thời gian chờ Robot tiếp tục giao thức ăn. .. tài ? ?Robot Giao Thức Ăn? ?? 1.2 Mục tiêu nghiên cứu Xây dựng thành công sản phẩm Robot giao thức ăn Tạo sản phẩm mang tính ứng dụng thực tiễn cao Robot giao thức ăn phải đạt yêu cầu sau:  Robot. .. nhận biết nơi cần giao thức ăn  Khi tới nơi cần giao thức ăn Robot chờ nút kết thúc hết thời gian chờ Robot tiếp tục giao thức ăn cho bàn cịn lại  Ngồi vận hành tự động, Robot cịn điều khiển

Ngày đăng: 29/01/2023, 21:46

Tài liệu cùng người dùng

Tài liệu liên quan