Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
4,92 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ - - BÁO CÁO ĐỒ ÁN TỐT NGHIỆP CHUYÊN NGÀNH CƠ ĐIỆN TỬ Đề tài : Nghiên cứu, thiết kế chế tạo đèn bàn thông minh chống cận thị Cán hướng dẫn: TS Chu Khắc Trung Sinh viên thực hiện: Lê Thiên Định 2018600675 Lê Nguyễn Ngọc Dũng 2018601541 Bùi Văn Đức 2018601036 Hà Nội – 2022 I MỤC LỤC MỤC LỤC I MỤC LỤC BẢNG BIỂU IV MỤC LỤC HÌNH ẢNH V LỜI MỞ ĐẦU CHƯƠNG : TỔNG QUAN CHUNG 1.1 Tổng quan chung 1.2 Các phương pháp chống cận thị 1.2.1 Nghỉ ngơi thị giác lúc 1.2.2 Chú ý đến ánh sáng 1.2.3 Đọc viết khoảng cách quy định 1.2.4 Tư 1.2.5 Xem truyền hình 1.2.6 Chế độ dinh dưỡng 1.2.7 Khám mắt định kỳ 1.3 Phương pháp chống cận thị đèn học 1.3.1 Đèn học sử dụng bóng đèn sợi đốt: 1.3.2 Đèn bàn học dùng bóng Halogen 1.3.3 Bóng đèn huỳnh quang compact 1.3.4 Đèn học chống cận dùng đèn Led: 1.4 Các nghiên cứu nước nước 1.4.1 Các nghiên cứu nước 1.4.2 Các nghiên cứu nước 11 CHƯƠNG : CƠ SỞ LÝ THUYẾT 15 II 2.1 Tổng quan tay máy 15 2.1.1 Sơ lược trình phát triển 15 2.1.2 Giới thiệu đề tài 16 2.2.Thiết kế, tính tốn chọn phận cho đèn học thông minh 17 2.2.1 Động servo 17 2.2.2 Bộ điều khiển 19 2.2.3 Mạch thời gian thực RTC DS1307 22 2.2.4 Màn hình LCD 16x2 22 2.2.5 Thiết kế, tính tốn chọn cảm biến 23 CHƯƠNG : TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 29 3.1 Tổng quan hệ thống 29 3.1.1 Yêu cầu robot 29 3.1.2 Ứng dụng Robot công nghiệp sản xuất 33 3.2 Bài toán động học Robot 35 3.2.1 Bài toán động học thuận 35 CHƯƠNG : CHẾ TẠO MÔ HÌNH 41 4.1 Nguyên lý hoạt động 41 4.1.1 Nguyên lý hoạt động 41 4.1.2 Sơ đồ khối 43 4.2 Mô hình trước lắp ráp 44 4.2.1 Phần đế robot 44 4.2.2 Khâu 45 4.2.3 Khâu 45 4.2.4 Khâu 46 III 4.2.5 Trục đèn 46 4.2.6 Mơ hình hồn chỉnh sau lắp ráp 47 4.3 Mơ hình thiết kế 47 4.4 Sơ đồ kết nối 51 4.4.1 Sơ đồ kết nối LCD với Arduno thông qua I2C 51 4.4.2 Sơ đồ kết nối cảm biến siêu âm Arduno 51 4.4.3 Sơ đồ kết nối cảm biến nhiệt độ LM35 Arduno 52 4.4.4 Sơ đồ mạch đèn học 52 4.4.5 Sơ đồ mạch động servo 53 4.4.6 Sơ đồ mạch tổng 53 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC 58 Lập trình đèn bàn học 58 Lập trình điều khiển động 60 Lập trình điều khiển cảnh báo ngồi học tư 75 Lập trình hiển thị LCD 77 IV MỤC LỤC BẢNG BIỂU Bảng 2.1: Thông số động servo TD8120MG 18 Bảng 2.2: Thông số Vi điều khiển Pic 16f690 19 Bảng 2.3: Thông số Arduno Uno R3 21 Bảng 3.1: Bảng thông số DH 37 V MỤC LỤC HÌNH ẢNH Hình 1.1: Ngồi học thiếu ánh sáng Hình 1.2 : Cấu tạo bóng đèn Hình 1.3: Chế độ dinh dưỡng cho mắt Hình 1.4: Bóng đèn sợi đốt Hình 1.5: Đèn bàn học dung bóng Halogen Hình 1.6: Đèn bàn học compact Hình 1.7: Đèn Philips Xiaomi – A11 Hình 1.8: Đèn bàn học Tiross 10 Hình 1.9: Đèn bàn LED cảm ứng 12 Hình 1.10: Đèn bàn LED Bảo vệ thị lực điện quang 14 Hình 2.1 Động servo TD8120MG 18 Hình 2.2: Vi điều khiển Pic 16f690 19 Hình 2.3: Arduno Uno R3 21 Hình 2.4: Mạch thời gian RTC DS 1307 22 Hình 2.5: Màn hình LCD 16x2 22 Hình 2.6: Cảm biến cường độ ánh sáng Lux 23 Hình 2.7: Sơ đồ kết nối cảm biến ánh sáng với Arduino 24 Hình 2.8: Cảm biến nhiệt LM35 24 Hình 2.9: Cảm biến hồng ngoại E18-D80NK 25 Hình 2.10: Module cảm biến chạm TTP223 đỏ 27 Hình 2.11: Cảm biến siêu âm HC – SR04 28 Hình 3.1: Vùng làm việc Robot [12] 31 Hình 3.2: Quy tắc bàn tay phải 31 VI Hình 3.3: Tay máy hệ tọa độ góc [12] 33 Hình 3.4: Hệ thống Robot hàn bỏ ô tô [8] 34 Hình 3.5: Robot phục vụ máy phay CNC [8] 35 Hình 3.6: Đặt hệ tọa độ cho khâu 35 Hình 4.1:Tư ngồi học 42 Hình 4.2: Nguyên lý hoạt động cảm biến siêu âm 42 Hình 4.3: Sơ đồ khối cảm biến nhận ví trí ngồi học 43 Hình 4.4: Sơ đồ cảm biến siêu âm cảnh báo ngồi học sai tư 44 Hình 4.5: Phần đế 45 Hình 4.6: Các chi tiết khâu 45 Hình 4.7: Các chi tiết khâu 46 Hình 4.8: Các chi tiết khâu 46 Hình 4.9: Trục đèn 46 Hình 4.10: Mơ hình phân rã chi tiết 47 Hình 4.11: Mơ hình chế tạo lần 47 Hình 4.12: Mơ hình chế tạo lần 48 Hình 4.13: Mơ hình chế tạo lần 3(Mơ hình hồn chỉnh) 49 Hình 4.14: Đèn cảnh báo ngồi học 50 Hình 4.15:Sơ đồ kết nối LCD Arduno 51 Hình 4.16: Sơ đồ kết nối cảm biến siêu âm Arduno 51 Hình 4.17: Sơ đồ kết nối cảm biến nhiệt độ Arduno 52 Hình 4.18: Sơ đồ mạch đèn học 52 Hình 4.19: Sơ đồ mạch động servo 53 Hình 4.20: Sơ đồ mạch tổng 53 75 if (i>=6) { i=-1; } }}}} Lập trình điều khiển cảnh báo ngồi học tư Arduino có module quản lý bo mạch, nơi người dùng chọn bo mạch mà họ muốn làm việc thay đổi bo mạch thơng qua Menu Q trình sửa đổi lựa chọn liên tục tự động cập nhật để liệu có sẵn bo mạch liệu sửa đổi đồng với Bên cạnh đó, Arduino IDE giúp bạn tìm lỗi từ code mà bạn biết giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi lâu dẫn đến hư hỏng tốc độ xử lý bị giảm sút Kết hợp Arduino để điều khiển cảm biến cảnh báo ngồi học tư const int trig = 2; const int echo = 3; int LED = 4; const int trig2 = 5; const int echo2 = 6; void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); pinMode(LED, OUTPUT); pinMode(trig2, OUTPUT); pinMode(echo2, INPUT); 76 } void loop() { unsigned long duration; int distance; digitalWrite(trig, 0); delayMicroseconds(2); digitalWrite(trig, 1); delayMicroseconds(5); digitalWrite(trig, 0); duration = pulseIn(echo, HIGH); distance = int(duration / / 29.412); if (distance < 60) { digitalWrite(LED, HIGH); delay(200); digitalWrite(LED, LOW); delay(200); } else { digitalWrite(LED, LOW); } unsigned long duration2; int distance2; 77 digitalWrite(trig2, 0); delayMicroseconds(2); digitalWrite(trig2, 1); delayMicroseconds(5); digitalWrite(trig2, 0); duration2 = pulseIn(echo2, HIGH); distance2 = int(duration2 / / 29.412); if (distance2 < 60) { digitalWrite(LED, HIGH); delay(200); digitalWrite(LED, LOW); delay(200); } else { digitalWrite(LED, LOW); }} Lập trình hiển thị LCD Màn hình LCD 16×2 linh kiện sử dụng rộng rãi trong dự án điện tử lập trình Kết hợp Arduino để hiển thị thông tin ngày giờ, cường độ ánh sáng nhiệt độ môi trường 78 #include #include #include "RTClib.h" #include BH1750 lightMeter; RTC_DS1307 rtc; int sensorPin = A0; byte degree[8] = { 0B01110, 0B01010, 0B01110, 0B00000, 0B00000, 0B00000, 0B00000, 0B00000 }; LiquidCrystal_I2C lcd(0x27, 16, 2); char daysOfTheWeek[7][12] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; void setup () { Serial.begin(9600); Wire.begin(); 79 lightMeter.begin(); lcd.init(); lcd.backlight(); lcd.createChar(1, degree); if (! rtc.begin()) { lcd.print("Couldn't find RTC"); while (1); } if (! rtc.isrunning()) { lcd.print("RTC is NOT running!"); } //rtc.adjust(DateTime(F( DATE ), F( TIME ))); //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); lcd.setCursor(0,0); lcd.print("Please wait "); delay(200); lcd.clear(); } void loop () { lcd.clear(); DateTime now = rtc.now(); 80 lcd.setCursor(5, 0); if (now.hour()