Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 85 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
85
Dung lượng
4,69 MB
Nội dung
ĐẠI HỌC CƠNG NGHIỆP TP.HCM KHOA CƠNG NGHỆ ĐIỆN KHĨA LUẬN TỐT NGHIỆP ĐIỀU KHIỂN ĐÈN, QUẠT, ĐIỀU HÒA QUA SMARTPHONE SINH VIÊN : NGUYỄN VĂN HÀ 15050441 LỚP : DHDI11C SINH VIÊN : NGÔ QUANG KHẢI 15070571 LỚP : DHDI11A GVHD : TS PHẠM CÔNG DUY THÀNH PHỐ HỒ CHÍ MINH, NĂM 2019 TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP TP HCM KHOA CƠNG NGHỆ ĐIỆN PHIẾU GIAO NHIỆM VỤ KHĨA LUẬN TỐT NGHIỆP Họ tên sinh viên/ nhóm sinh viên giao đề tài (1): Ngơ Quang Khải MSSV: 15070571 (2): Nguyễn Văn Hà MSSV: 15050441 Tên đề tài ĐIỀU KHIỂN ĐÈN, QUẠT, ĐIỀU HÒA QUA SMARTPHONE Nhiệm vụ (Nội dung số liệu ban đầu) - Lựa chọn vi điều khiển thích hợp - Điều khiển on/off thiết bị Wifi cảm biến chạm - Điều khiển on/off Timer - Thiết kế mạch ứng dụng thực tế Kết dự kiến - Mơ hình điều khiển thiết bị - Ứng dụng app blynk đồ án Giảng viên hướng dẫn Tp HCM, ngày tháng Sinh viên Trưởng môn i năm 20… NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN - ii MỤC LỤC PHIẾU GIAO NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP i NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ii MỤC LỤC iii DANH SÁCH HÌNH VẼ vi DANH SÁCH BẢNG ix CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Các sản phẩm thị trường Việt Nam 1.2 Đặt vấn đề 1.3 Mục đích đề tài 1.4 Kế hoạch nghiên cứu CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Internet of Things 2.1.1 Internet of Things gì? 2.1.2 Internet of Things hoạt động sao? 2.2 Chip Wifi 2.2.1 Những lý để chọn ESP8266 2.3 Tổng quan ESP8266 2.3.1 ESP8266 gì? 2.3.2 Chip Wifi EXP8266EX 2.3.3 Các loại module ESP8266 có thị trường 13 2.4 Những IC liên quan board mạch 22 2.4.1 Quartz Crystal ( dao động thạch anh) 22 iii 2.4.2 IC EPROM 25LC256 23 2.4.3 IC cảm ứng điện dung 25 2.4.3.1 IC cảm ứng TTP223 25 2.4.3.2 IC cảm ứng CAP1203 27 2.4.4 IC SN74HC04DR inverters 29 2.5 App blynk 31 2.5.1 Blynk gì? 31 2.5.2 Những lý chọn Blynk 31 2.5.3 Blynk hoạt động nào? 31 2.5.4 Tính năng, đặc điểm 32 2.5.5 Cách sử dụng Blynk 33 2.5.6 Giao diện Blynk 36 CHƯƠNG THIẾT KẾ MẠCH ĐIỀU KHIỂN VÀ MẠCH CÔNG SUẤT 39 3.1 Giới thiệu Altium Designer 39 3.2 Thiết kế mạch nguyên lý 40 3.2.1 Thiết kế mạch điều khiển 41 3.2.2 Thiết kế mạch công suất 47 3.3 Thiết kế mạch điều khiển PCB 50 3.3.1 Thiết kế 2D mạch lớp 51 3.3.2 Thiết kế 3D 52 3.4 Kiểm tra thông số mạch in 55 CHƯƠNG LẬP TRÌNH NHÚNG CHO ESP8266 57 4.1 Giới thiệu phần mềm Arduino IDE 57 4.2 Nguyên lý truyền nhận thông tin điều khiển thiết bị với smartphone 58 iv 4.3 Lưu đồ giải thuật 59 4.4 Code ESP8266 60 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 70 TÀI LIỆU THAM KHẢO 73 LỜI CẢM ƠN 75 v DANH SÁCH HÌNH VẼ Hình 1.1 Công tắc Lumi Hình 1.2 Thiết bị điều khiển kênh SH – CTZ BKAV Hình 1.3 Cơng tắc ACIS Hình 2.1 Số thiết bị IoT dùng ESP Hình 2.2 Sơ đồ khối ESP8266EX Hình 2.3 Sơ đồ chân ESP8266EX 10 Hình 2.4 Hình ảnh thực tế ESP8266EX 13 Hình 2.5 ESP-01 15 Hình 2.6 ESP-02 16 Hình 2.7 ESP-03 17 Hình 2.8 ESP-12 18 Hình 2.9 Sơ đồ chân ESP-12 19 Hình 2.10 ESP-12E 19 Hình 2.11 Sơ đồ chân module ESP-12E 20 Hình 2.12 Board mạch NODEMCU v1.0 Lua - ESP8266 12-E 21 Hình 2.13 Sơ đồ chân mạch NODEMCU v1.0 Lua - ESP8266 12-E 21 Hình 2.14 Thạch anh XT 23 Hình 2.15 Mơ tả IC EPROM 25LC256 24 Hình 2.16 Thiết kế 25LC256 24 Hình 2.17 Mô tả chức IC TTP223 26 Hình 2.18 Mơ tả chức IC CAP1203 28 Hình 2.19 Sơ đồ chức SN74HC04 29 Hình 2.20 Mơ tả SN74HC04 30 Hình 2.21 Tạo “New project” 33 vi Hình 2.22 Chọn lựa ESP để kết nối 34 Hình 2.23 Chọn button Blynk 35 Hình 2.24 Chọn Pin đầu chế độ Switch 35 Hình 2.25 Giao diện ngưới dùngGiao diện Blynk 36 Hình 2.26 Thiết lập cài đặt nút nhấn điều khiển đèn 36 Hình 2.27 Thiết lập timer cho đèn lựa chọn pin 37 Hình 2.28 Giao diện điều khiển phòng ngủ sau thiết kế xong 37 Hình 3.1 Nguyên lý mạch điểu khiển 41 Hình 3.2 NodeMCU board điều khiển 42 Hình 3.3 Input TTP223 42 Hình 3.4 Output mạch điều khiển 42 Hình 3.5 Nguyên lý mạch điểu khiển dùng ESP8266EX 43 Hình 3.6 Khối dao động thạch anh 44 Hình 3.7 Khối lọc nguồn 44 Hình 3.8 Khối Flashs 44 Hình 3.9 Khối chip wifi ESP8266 45 Hình 3.10 Khối đảo ngõ 45 Hình 3.11 Khối out led báo trạng thái 46 Hình 3.12 Khối cảm ứng điện dung 46 Hình 3.13 Mạch công suất relay 47 Hình 3.14 Module relay kênh 47 Hình 3.15 Sơ đồ ngun lý mạch cơng suất 48 Hình 3.16 Ngõ vảo mạch công suất 49 Hình 3.17 Mạch nguồn 3.3V 49 Hình 3.18 Mạch cơng suất 50 Hình 3.19 2D top layer mạch điều khiển 51 Hình 3.20 2D bottom layer mạch điều khiển 51 Hình 3.21 2D bottom layer mạch công suất 52 Hình 3.22 3D top layer 52 vii Hình 3.23 3D bottom layer 53 Hình 3.24 3D top layer mạch công suất 53 Hình 3.25 3D bottom layer mạch công suất 54 Hình 3.26 Quy cách mạch in công ty sản xuất 55 Hình 4.1 Phần mềm Arduino IDE 57 Hình 4.2 Lưu đồ giải thuật 59 Hình 5.1 Mặt mạch thực tế 70 Hình 5.2 Mặt mạch thực tế 70 Hình 5.3 Mơ hình 71 viii DANH SÁCH BẢNG Bảng 1.1 Sản phẩm Lumi Bảng 1.2 Sản phẩm BKAV Bảng 1.3 Sản phẩm ACIS Bảng 2.1 Mô tả chức chân ESP8266EX 10 Bảng 2.2 Các chế độ boot up ESP8266 12 Bảng 2.3 Một số loại module ESP 13 Bảng 2.4 Tên chức chân 25LC256 25 Bảng 2.5 Mô tả chức chân IC CAP1203 28 Bảng 2.6 Mô tả chân linh kiện SN74HC04 30 ix SV: Nguyễn Văn Hà Ngô Quang Khải Khóa luận tốt nghiệp { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); if ((char)payload[0] == '1') { digitalWrite(D0, LOW); Blynk.virtualWrite(V1, 0); Serial.println("bat den"); } else { if ((char)payload[0] == '0') { digitalWrite(D0, HIGH); Blynk.virtualWrite(V1, 1); Serial.println("tat den"); } else { if ((char)payload[0] == '3') { digitalWrite(D1, LOW); Blynk.virtualWrite(V2, 0); Serial.println("bat quat"); } 61 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp else { if ((char)payload[0] == '2') { digitalWrite(D1, HIGH); Blynk.virtualWrite(V2, 1); Serial.println("tat quat"); } else { if ((char)payload[0] == '5') { digitalWrite(D2, LOW); Blynk.virtualWrite(V3, 0); Serial.println("bat dieu hoa"); } else { if ((char)payload[0] == '4') { digitalWrite(D2, HIGH); Blynk.virtualWrite(V3, 1); Serial.println("tat dieu hoa"); } else { if ((char)payload[0] == '6') { digitalWrite(D6, LOW); Blynk.virtualWrite(V4, 0); Serial.println("bat o cam "); 62 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp } else { if ((char)payload[0] == '7') { digitalWrite(D6, HIGH); Blynk.virtualWrite(V4, 1); Serial.println("tat o cam 1"); } else { if ((char)payload[0] == '8') { digitalWrite(D7, LOW); Blynk.virtualWrite(V5, 0); Serial.println("bat o cam "); } else { if ((char)payload[0] == '9') { digitalWrite(D7, HIGH); Blynk.virtualWrite(V5, 1); Serial.println("tat o cam 2"); } }}}}}}}}} } void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection "); // Create a random client ID String clientId = "ESP8266Client-"; 63 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp clientId += String(random(0xffff), HEX); // Attempt to connect if (client.connect(clientId.c_str(),"nguyenvanha", "3fe0c16a352e4fbfbc8c398b53a040e0")) { Serial.println("connected"); client.subscribe("nguyenvanha/feeds/myhome"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in seconds"); // Wait seconds before retrying delay(5000); } } } int virtualPin1; int virtualPin2; int virtualPin3; int virtualPin4; int virtualPin5; int flag1 = 0; int flag2 = 0; int flag3 = 0; int flag4 = 0; int flag5 = 0; unsigned long int preTime = 0; #define relay1 D0 #define relay2 D1 #define relay3 D2 #define relay4 D6 64 SV: Nguyễn Văn Hà Ngô Quang Khải Khóa luận tốt nghiệp #define relay5 D7 #define button1 D3 #define button2 D4 #define button3 D5 BLYNK_WRITE(V1) { virtualPin1 = param.asInt(); flag1 = 1; } BLYNK_WRITE(V2) { virtualPin2 = param.asInt(); flag2 = 1; } BLYNK_WRITE(V3) { virtualPin3 = param.asInt(); flag3 = 1; } BLYNK_WRITE(V4) { virtualPin4 = param.asInt(); flag4 = 1; } BLYNK_WRITE(V5) { virtualPin5= param.asInt(); flag5 = 1; } 65 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp //đồng lại trạng thái nguồn BLYNK_CONNECTED() { Blynk.syncVirtual(V1); Blynk.syncVirtual(V2); Blynk.syncVirtual(V3); Blynk.syncVirtual(V4); Blynk.syncVirtual(V5); } void setup() { Blynk.begin(auth, ssid, pass); pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); pinMode(relay3, OUTPUT); pinMode(relay4, OUTPUT); pinMode(relay5, OUTPUT); pinMode(button1, INPUT_PULLUP); pinMode(button2, INPUT_PULLUP); pinMode(button3, INPUT_PULLUP); Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(callback); } void loop() { Blynk.run(); BLYNK_CONNECTED(); if (!client.connected()) { 66 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp reconnect(); } client.loop(); if (flag1 == 1) { if (virtualPin1 == 0) { digitalWrite(relay1, LOW); } else digitalWrite(relay1, HIGH); } if (digitalRead(button1) == LOW) { while (digitalRead(button1) == LOW); int ledStatus = digitalRead(relay1); if (ledStatus == 0) { digitalWrite(relay1, HIGH); Blynk.virtualWrite(V1, 1); //Ghi liệu từ Nodemcu lên Blynk } else { digitalWrite(relay1, LOW); Blynk.virtualWrite(V1, 0); ////Ghi liệu từ Nodemcu lên Blynk } } if (flag2 == 1) { if (virtualPin2 == 0) { digitalWrite(relay2, LOW); } else digitalWrite(relay2, HIGH); } if (digitalRead(button2) == LOW) { while (digitalRead(button2) == LOW); int ledStatus = digitalRead(relay2); 67 SV: Nguyễn Văn Hà Ngô Quang Khải Khóa luận tốt nghiệp if (ledStatus == 0) { digitalWrite(relay2, HIGH); Blynk.virtualWrite(V2, 1); //Ghi liệu từ Nodemcu lên Blynk } else { digitalWrite(relay2, LOW); Blynk.virtualWrite(V2, 0); ////Ghi liệu từ Nodemcu lên Blynk } } if (flag3 == 1) { if (virtualPin3 == 0) { digitalWrite(relay3, LOW); } else digitalWrite(relay3, HIGH); } if (digitalRead(button3) == LOW) { while (digitalRead(button3) == LOW ); int ledStatus = digitalRead(relay3); if (ledStatus == 0) { digitalWrite(relay3, HIGH); Blynk.virtualWrite(V3, 1); //Ghi liệu từ Nodemcu lên Blynk } else { digitalWrite(relay3, LOW); Blynk.virtualWrite(V3, 0); ////Ghi liệu từ Nodemcu lên Blynk } } if (flag4 == 1) { if (virtualPin4 == 0) 68 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp { digitalWrite(relay4, LOW); Blynk.virtualWrite(V4, 0); } else { digitalWrite(relay4, HIGH); Blynk.virtualWrite(V4, 1) } } if (flag5 == 1) { if (virtualPin5 == 0) { digitalWrite(relay5, LOW); Blynk.virtualWrite(V5, 0); } else{ digitalWrite(relay5, HIGH); Blynk.virtualWrite(V5, 1);}} flag1 = 0; flag2 = 0; flag3 = 0; flag4 = 0; flag5 = 0;} 69 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC Mạch thực tế: Hình 5.1 Mặt mạch thực tế Hình 5.2 Mặt mạch thực tế 70 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp Mơ hình điều khiển: Hình 5.3 Mơ hình 71 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp Mặt đạt được: - Sử dụng thành thạo phần mềm thiết kế mạch Altium Designer Arduino IDE - Có thêm kinh nghiệm việc thiết kế, xếp dây mạch in - Kinh nghiệm hàn mạch - Biết quy trình đặt mạch sản xuất mạch - Thành thạo lập trình ngơn ngữ C, C++ - Ứng dụng IoT vào thực tế - Kỹ mềm, khả làm việc nhóm, tin học ứng dụng Mặt chưa đạt được: - Mơ hình kích thước tương đối lớn cần thu nhỏ, cịn thiếu vài tính - Board sử dụng ESP8266EX chúng em làm lần đầu nên khơng tránh sai sót nên mạch khơng nạp code Sau tìm hiểu, chúng em tìm nguyên nhân lỗi đứt mạch PCB thời gian ngắn chúng em khắc phục Chúng em cống gắng hồn thiện thời gian gần 72 SV: Nguyễn Văn Hà Ngô Quang Khải Khóa luận tốt nghiệp TÀI LIỆU THAM KHẢO [1] https://www.digistar.vn/tim-hieu-ve-internet-of-things/ [2] http://htelectronics.vn/huong-dan-su-dung-esp8266-trong-cac-ung-dunginternet-of-things/ [3] https://esp8266.vn/introduction/esp-module/ [4] https://advancecad.edu.vn/phan-mem-thiet-ke-mach-in-altium-designer-18full/ [5] https://vi.wikipedia.org/wiki/Arduino [6] https://lumi.vn/ [7] https://www.microchip.com/ [8] http://arduino.vn/tags/esp8266 [9] https://www.stdio.vn/articles/huong-dan-su-dung-module-wifi-esp8266-v1540 [10] http://www.smarthome.com.vn/ [11] https://iotmakervn.github.io/iot-starter-book/ [12] http://luanvanviet.org/index.php/tin-tuc/98-tai-lieu-huong-dan-sinh-vienkhi-lam-luan-van-tot-nghiep [13] http://arduino.vn/bai-viet/1523-esp8266-ket-noi-internet-phan-4-ket-noiinternet-cho-du-khong-can-nat-port-khong-can [14] https://hqdt.vn/baiviet/dong-cat-thiet-bi-xoay-chieu-bang-triac1481901957.html [15] http://www.dientuvietnam.net/forums/forum/%C4%90i%E1%BB%87nt%E1%BB%AD-%E1%BB%A9ngd%E1%BB%A5ng/%C4%90i%E1%BB%87n-t%E1%BB%ADc%C3%B4ng-su%E1%BA%A5t/ngu%E1%BB%93n/189299th%E1%BA%AFc-m%E1%BA%AFc-m%E1%BA%A1chchuy%E1%BB%83n-220v-ac-sang-5v-dc 73 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp [16] http://www.dientuvietnam.net/forums/forum/%C4%90i%E1%BB%87nt%E1%BB%AD-%E1%BB%A9ngd%E1%BB%A5ng/%C4%90i%E1%BB%87n-t%E1%BB%ADc%C3%B4ng-su%E1%BA%A5t/212252-thi%E1%BA%BFtk%E1%BA%BF-ho%C3%A0n-ch%E1%BB%89nh-m%E1%BA%A1chngu%E1%BB%93n-xung-flyback-%C4%91%C6%A1n-gi%E1%BA%A3nnh%E1%BA%A5t [18] https://machdienlythu.vn/relay-dien-tu-su-dung-triac-de-dong-cat-thiet-bi/ [19] https://tapit.vn/huong-dan-nap-code-cho-esp8266-su-dung-usb-ttl-vaarduino-ide/ [20] https://www.espressif.com/sites/default/files/documentation/0aesp8266ex_datasheet_en.pdf [21] https://www.espressif.com/ 74 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp LỜI CẢM ƠN Với lòng biết ơn vô sâu sắc, chúng em xin gửi lời cảm ơn chân thành đến quý thầy cô trường đại học Cơng nghiệp Tp Hồ Chí Minh nói chung thầy khoa kĩ thuật điện nói riêng dùng tri thức quý báu tâm huyết để truyền đạt cho chúng em suốt thời gian học tập trường Đặc biệt, chúng em xin chân thành cảm ơn giảng viên hướng dẫn thầy TS Phạm Công Duy tận tâm bảo, hỗ trợ cho chúng em qua buổi thảo luận, trao đổi đề tài mà chúng em nghiên cứu, thực Nhờ có hướng dẫn, dạy bảo mà khóa luận chúng em hồn thiện thành cơng Một lần nữa, chúng em xin gửi lời cảm ơn chân thành đến thầy Tuy cố gắng tìm tịi, học hỏi, nghiên cứu, hạn chế mặt kiến thức khoa học công nghệ nên chúng em khơng thể tránh thiếu sót mắc phải số lỗi Vì chúng em mong nhận bảo, góp ý tận tình thầy khoa giúp chúng em bổ sung hoàn thiện kiến thức thân Chúng em khơng biết nói hơn, xin gửi lời cảm ơn chân thành lời chúc sức khỏe đến thầy, quý thầy cô khoa Công Nghệ Điện trường Đại học Công nghiệp TP.HCM Chúng em xin chân thành cảm ơn! 75 ... Quang Khải MSSV: 15070571 (2): Nguyễn Văn Hà MSSV: 15050441 Tên đề tài ĐIỀU KHIỂN ĐÈN, QUẠT, ĐIỀU HÒA QUA SMARTPHONE Nhiệm vụ (Nội dung số liệu ban đầu) - Lựa chọn vi điều khiển thích hợp - Điều. .. nhận tín hiệu điều khiển relay kín mạch hở mạch để tắt mở đèn, quạt, điều hòa 40 SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp 3.2.1 Thiết kế mạch điều khiển Mạch điều khiển: Hình 3.1... - Điều khiển thiết bị điện nhà qua điện thoại thông minh - Giá: 4.950.000 VND trường SV: Nguyễn Văn Hà Ngơ Quang Khải Khóa luận tốt nghiệp Ưu điểm: - Điều khiển từ xa qua smartphone - Điều khiển