Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
12,36 MB
Nội dung
LUẬN VĂN TỐT NGHIỆP LIÊN THÔNG ĐẠI HỌC NGÀNH ĐIỆN – ĐIỆN TỬ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA ĐIỆN THOẠI THƠNG MINH GVHD: TS.NGUYỄN ĐỨC THÀNH SVTH: HỒ HỒNG THÁI (LT31600024) LỚP: L16_DDT01 Tp.Hồ Chí Minh Tháng 7/2018 LỜI CẢM ƠN Lời em xin chân thành cảm ơn đến quý thầy, cô khoa “Điện-Điện Tử” trường “ĐẠI HỌC CƠNG NGHỆ SÀI GỊN”, người trực tiếp giảng dạy truyền đạt kiến thức chuyên ngành để giúp em thời gian thực đề tài Đặc biệt em xin chân thành cảm ơn thầy Nguyễn Đức Thành, người tận tình hướng dẫn, bảo, giúp đỡ mặt chuyên môn tạo điều kiện thuận lợi để em thực hoàn thành đề tài Tuy có nhiều cố gắng q trình thực báo cáo đề tài kiến thức kinh nghiệm em hạn chế nên em khơng thể tránh khỏi thiếu sót, mong q Thầy, Cơ góp ý dẫn để em rút kinh nghiệm bổ ích áp dụng vào thực tiển cách hiệu tương lai Em xin chân thành cảm ơn! Mục Lục CHƯƠNG GIỚI THIỆU 1.1 Đặt vấn đề 1.2.Mục tiêu LVTN 1.3.Phạm vi LVTN 1.4 Các sản phẩm có thị trường 1.5.Sơ đồ khối tổng quát CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Phần mềm Arduino IDE 2.1.1.Giới thiệu Arduino IDE 2.1.2.Giao diện Arduino IDE 2.2 Ứng dụng Blynk 2.2.1.Giới thiệu ứng dụng Blynk 2.2.2 Cách hoạt động Blynk 2.2.3 Tính năng, đặc điểm Blynk 2.3 Kit RF thu phát Wifi ESP8266 NodeMCU Lua V3 2.3.1.Giới thiệu kit RF thu phát Wifi ESP8266 NodeMCU Lua V3 2.3.2.Thông số kỹ thuật 2.4 Cảm Biến Thân Nhiệt Chuyển Động PIR HC-SR501 10 2.4.1.Giới thiệu cảm biến thân nhiệt chuyển động PIR HC-SR501 10 2.4.2.Thông số kỹ thuật 11 2.4.3.Tính hoạt động 12 2.4.4.Ứng dụng 12 2.5 Quang Trở 12 2.5.1.Giới thiệu quang trở 12 2.5.2.Nguyên lý làm việc quang trở 13 2.5.3 Thông Số Kĩ Thuật quang trở 13 2.6 Cảm biến phát lửa 13 2.6.1.Giới thiệu cảm biến phát lửa 13 2.6.2.Nguyên lí hoạt động 14 2.6.3.Thông số kỹ thuật 14 2.6.4.Ứng dụng 14 2.7.Cảm biến nhiệt độ LM35 15 2.7.1.Giới thiệu cảm biến nhiệt độ LM35 15 2.7.2 Nguyên lý hoạt động 15 2.7.3 Thông số kỹ thuật 16 2.8.Module Relay Kích H/L 17 2.8.1.Giới thiệu module Relay Kích H/L 17 2.8.2 Thông số kỹ thuật 18 2.9.Test Board Hàn Mặt 18 2.9.1.Giới thiệu test board hàn Mặt 18 2.9.2 Thông số kỹ thuật 19 2.10 Nguồn Adaptor AC-DC 19 2.10.1 Giới thiệu Adaptor AC-DC 19 2.10.2 Thông số kỹ thuật 19 2.11 Công Tắc KCD1-108 20 2.11.1 Giới thiệu Công Tắc KCD1-108 20 2.11.2 Thông số kỹ thuật 20 2.12.Bóng đèn 21 2.13 Đui đèn 21 2.14.Quạt 22 CHƯƠNG THIẾT KẾ 23 3.1.Sơ đồ khối 23 3.1.1.Chức khối 23 3.2 Sơ đồ đấu dây 24 3.3.Giao diện điều khiển ứng dụng Blynk 25 3.3.1.Chức tiện ích widget sử dụng Blynk 26 3.4.Lưu đồ thuật toán 28 3.5.Chương trình 29 CHƯƠNG KẾT QUẢ 35 4.1 Mơ hình thực tế 35 CHƯƠNG KẾT LUẬN 38 5.1 Kêt đạt 38 5.2 Hướng phát triển 38 TÀI LIỆU THAM KHẢO 39 CHƯƠNG GIỚI THIỆU 1.1 Đặt vấn đề: Ngày nay, với ứng dụng khoa học kĩ thuật tiên tiến giới, xã hội ngày thay đổi, văn minh đại Sự phát triển kĩ thuật điện tử vi xử lý tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc đọ nhanh gọn nhẹ…là yếu tố cần thiết góp phần cho hoạt động người ngày cao Kỷ thuật điện, điện tử máy tính trở thành ngành khoa học đa nhiệm đáp ứng yêu cầu phức tạp người sống hàng ngày người Xu hướng nhu cầu cơng nghệ hóa ngày tăng cao, việc kiểm soát điều khiển thiết bị điện nhà thiết bị di động cầm tay smartphone hay máy tính bảng ứng dụng rộng rãi sống từ khách sạn haỵ resort sang trọng nhà đại lắp đặt hệ thống điều khiển thông minh Theo xu hướng phát triển đó, em định lựa chọn thực nghiên cứu đề tài : “Điều khiển thiết bị điện qua điện thoại thông minh” 1.2.Mục tiêu LVTN: - Tăng khả tự nghiên cứu tự học - Tìm hiểu nghiên cứu cách truyền nhận liệu không dây Wifi, Bluetooth,… - Thiết kế mạch điều khiển thiết bị điện qua ứng dụng, web điện thoại thông minh - Sử dụng cảm biến đo nhiệt dộ, hiển thị lên điện thoại Báo cháy thông báo lên điện thoại - Làm mạch điều khiển thiết bị điện nhà yêu cầu kĩ thuật 1.3.Phạm vi LVTN: - Điều khiển thiết bị điện nhà đèn, quạt,…thông qua ứng dụng, web điện thoại thông minh - Quản lý thiết bị có hoạt động hay khơng để đưa định vận hành thiết bị hợp lý - Sử dụng cảm biến đo nhiệt độ nhà, báo cháy thông báo lên điện thoại 1.4 Các sản phẩm có thị trường: - Nhà thông minh Bkav smarthome, Lumi, SmartZ, - Ổ cắm điều khiển từ xa wifi KW S19E - Công tắc điều khiển từ xa điện thoại ATA mini 1.5.Sơ đồ khối tổng quát: Hình 1.5:Sơ đồ khối CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Phần mềm Arduino IDE: 2.1.1.Giới thiệu Arduino IDE: Hình 2.1.1: Arduino IDE Arduino IDE ứng dụng đa tảng viết Java, dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý dự án lắp ráp Nó thiết kế để làm nhập mơn lập trình cho nhà lập trình người sử dụng khác không quen thuộc với phát triển phần mềm Nó bao gồm trình soạn thảo mã với tính làm bật cú pháp, khớp dấu ngặc khối chương trình, thụt đầu dịng tự động, có khả biên dịch tải lên chương trình vào bo mạch với nhấp chuột Một chương trình mã viết cho Arduino gọi "sketch", sketch lưu định dạng ino Chương trình Arduino viết C C++ Arduino IDE kèm với thư viện phần mềm gọi "Wiring" từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu phổ biến trở nên dễ dàng nhiều Người sử dụng cần định nghĩa hai hàm để thực chương trình điều hành theo chu kỳ : - setup() : hàm chạy lần vào lúc bắt đầu chương trình dùng để khởi tạo thiết lập - loop() : hàm gọi lặp lại liên tục bo mạch tắt Khi bạn bật điện bảng mạch Arduino, reset hay nạp chương trình mới, hàm setup() gọi đến Sau xử lý xong hàm setup(), Arduino nhảy đến hàm loop() lặp vô hạn hàm bạn tắt điện bo mạch Arduino Chu trình mơ tả hình đây: Hình 2.1.1: Chu trình chương trình Arduino IDE sử dụng GNU toolchain AVR libc để biên dịch chương trình, sử dụng avrdude để tải lên chương trình vào bo mạch chủ Do tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển Atmel, AVR Studio Atmel Studio hơn, sử dụng để phát triển phần mềm cho Arduino 2.1.2.Giao diện Arduino IDE: Hình 2.1.2: Giao diện Arduino IDE a) Vùng lệnh: Bao gồm nút lệnh menu (File, Edit, Sketch, Tools, Help) Phía icon cho phép sử dụng nhanh chức thường dùng IDE miêu tả sau: Hình a: Vùng lệnh b) Vùng viết chương trình: - Vùng để người lập trình thực việc lập trình cho chương trình c) Vùng thơng báo (debug): - Có chức thơng báo thơng tin lỗi chương trình vấn đề liên quan đến chương trình lập 2.2 Ứng dụng Blynk: 2.2.1.Giới thiệu ứng dụng Blynk: Hình 2.2.1: Blynk Blynk ứng dụng chạy tảng iOS Android để điều khiển thiết bị Esp8266, Arduino, Raspberry Pi thiết bị khác Internet Đó bảng điều khiển kỹ thuật số, nơi bạn xây dựng giao diện đồ họa cho dự án bạn cách kéo thả widget Blynk không bị ràng buộc với phần cứng Thay vào đó, hỗ trợ phần cứng cho bạn lựa chọn Cho dù Arduino Raspberry Pi bạn muốn kết nối đến Internet qua Wi-Fi, Ethernet chip ESP8266 , Blynk giúp bạn đưa làm việc sẵn sàng kiểm sốt Internet 2.2.2 Cách hoạt động Blynk: Blynk thiết kế cho IoT, điều khiển phần cứng từ xa, hiển thị liệu cảm biến, lưu trữ liệu làm vài điều khác thú vị Blynk gồm phần: - Blynk App: cho phép tạo giao diện từ Widget có sẵn - Blynk Server: truyền tải thông tin Smarthome thiết bị Blynk Server đám mây Blynk cài đặt máy cá nhân Có thể cài đặt Raspberry Pi - Blynk Libraries: thư viện cung cấp kết nối phần cứng đến server, xử lý lệnh đến 25 3.3.Giao diện điều khiển ứng dụng Blynk: Hình 3.3:Giao diện điều khiển ứng dụng Blynk 26 3.3.1.Chức tiện ích widget sử dụng Blynk: - Tiện ích Nút nhấn: Hình 3.3.1 : Nút nhấn Cho phép gửi giá trị Mở Tắt ( HIGH/LOW) Dùng để điều khiển đèn,quạt - Tiện ích LED: Hình 3.3.1 : LED Dùng để hồi tiếp tín hiệu từ nút nhấn 27 - Tiện ích LCD: Hình 3.3.1 : LCD Dùng để hiển thị nhiệt độ - Tiện ích cảnh báo: Hình 3.3.1 : Tiện ích cảnh báo Dùng để thơng báo có cháy, nhiệt độ cao 28 3.4.Lưu đồ thuật tốn: Hình 3.4:Lưu đồ thuật tốn 29 3.5.Chương trình: #define BLYNK_PRINT Serial #include #include char auth[] = "27814dcf92984272b7e9a1123f3fe43"; char ssid[] = "STU_Students"; char pass[] = "sinhvienstu123"; #define Pin1 D7 #define Pin2 D8 #define Pin3 D5 #define LED D5 int sensorPin = A0; int button1 = D0; int button2 = D1; int button3 = D2; int button4 = D3; int button5 = D4; int button6 = D6; int nutnhan1; int nutnhan2; int nutnhan3; int nutnhan4; int nutnhan5; int nutnhan6; int CB1 ; 30 int CB2 ; int CB3 ; WidgetLCD lcd(V0); WidgetLED led1(V1); WidgetLED led2(V2); WidgetLED led3(V3); WidgetLED led4(V4); WidgetLED led5(V5); WidgetLED led6(V6); WidgetLED led7(V7); BlynkTimer timer; void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); pinMode(button1, INPUT); pinMode(button2, INPUT); pinMode(button3, INPUT); pinMode(button4, INPUT); pinMode(button5, INPUT); pinMode(button6, INPUT); pinMode(Pin1, INPUT); pinMode(Pin2, INPUT); pinMode(Pin3, INPUT); pinMode(LED, OUTPUT); lcd.clear(); 31 } void loop() { getPirValue(); CB1 = digitalRead(Pin1); CB2 = digitalRead(Pin2); CB3 = digitalRead(Pin3); int nutnhan1 = digitalRead(button1); int nutnhan2 = digitalRead(button2); int nutnhan3 = digitalRead(button3); int nutnhan4 = digitalRead(button4); int nutnhan5 = digitalRead(button5); int nutnhan6 = digitalRead(button6); int rawvoltage = analogRead(outputpin); int reading = analogRead (sensorPin); float voltage = reading * 3.3 / 1024; float temp = voltage * 100.0; Serial.println(temp); lcd.print(0,0,"Nhiệt Độ:"); lcd.print(13,0,"°C"); lcd.print(9,0,temp); if(nutnhan1 == HIGH) { led1.on(); } else 32 { led1.off(); } if(nutnhan2 == HIGH) { led2.on(); } else { led2.off(); } if(nutnhan3 == HIGH) { led3.on(); } else { led3.off(); } if(nutnhan4 == HIGH) { led4.on(); } else { led4.off(); 33 } if(nutnhan5 == HIGH) { led5.on(); } else { led5.off(); } if(nutnhan6 == HIGH) { led6.on(); } else { led6.off(); } if(nutnhan7 == HIGH) { led7.on(); } else { led7.off(); } if (CB3 == HIGH) 34 { digitalWrite(LED, HIGH); } else { digitalWrite(LED,LOW ); } } void getPirValue(void) { CB1 = digitalRead(Pin1); CB2 = digitalRead(Pin2); if (CB1 == LOW) { Blynk.notify("Phát có cháy phịng khách"); } if (CB2 == LOW) { Blynk.notify("Phát có cháy nhà bếp"); } 35 CHƯƠNG KẾT QUẢ 4.1 Mơ hình thực tế: Hình 4.1: Mơ hình thực tế Hình 4.1: Mơ hình thực tế 36 Hình 4.1: Mơ hình thực tế Hình 4.1: Mơ hình thực tế 37 Hình 4.1: Mơ hình thực tế 38 CHƯƠNG KẾT LUẬN 5.1 Kêt đạt được: Qua thời gian thực luận văn, phần lớn mục tiêu đặt ban đầu đạt Thiết kế xây dựng phần cứng chạy ổn định dựa mơ hình ta xây dựng nhiều ứng dụng có ý nghĩa thực tiễn cao, có khả phát triển mở rộng Qua em rút số ưu nhược điểm sau: Ưu điểm: - Mạch hoạt động với dịng điện chiều nhỏ nên tiêu tốn lượng an toàn cho người sử dụng - Mạch tương đối đẹp, nhỏ gọn - Quản lý tình trạng hoạt động thiết bị để đưa đinh xử lý kịp thời Nhược điểm: - Mạch không điều khiển tốc độ thiết bị, đóng tắt thiết bị thơng thường - Giao diện điều khiển chưa thực mang tính chuyên nghiệp 5.2 Hướng phát triển: - Hướng phát triển theo hướng nhà thông minh (Smart Home) 39 TÀI LIỆU THAM KHẢO http://arduino.vn/ http://arduino.cc/ http://docs.blynk.cc/ examples.blynk.cc/ http://hshop.vn/ https://www.blynk.io/ https://github.com/ https://123doc.org/ https://www.instructables.com/