Xem mẫu

  1. THIẾT KẾ MẠCH ĐIỀU KHIỂN THIẾT BỊ BẰNG WIFI Thái Trung Hưng, Nguyễn Quỳnh Trâm Viện Kỹ thuật HUTECH, Trường Đại học Công nghệ TP.Hồ Chí Minh GVHD: ThS. Nghiêm Hoàng Hải TÓM TẮT Đề tài tập trung nghiên cứu và chế tạo mạch điều khiển thiết bị điện từ xa bằng wifi phục vụ trong đời sống xã hội. Điều khiển thiết bị điện bằng wifi giúp chúng ta có thể bật tắt các thiết bị điện trong nhà mà không cần phải ở nhà. Để làm được mạch này cần thiết kế 3 phần chính: bộ phận thu phát wifi – bộ phận xử lý – bộ phận điều khiển. Bộ phận thu phát wifi sử dụng Kit thu phát Wifi ESP8266 NodeMCU được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT. Sau khi thu thập dữ liệu sẽ truyền đến bộ phận xử lý để xử lý, sau đó bộ phận điều khiển sẽ điều khiển các thiết bị trong nhà. Mạch sau khi được tính toán, thiết kế, chế tạo đã được lắp ráp và hoạt động tốt. Từ khóa: mạch điều khiển, mạch điều khiển bằng wifi. 1 GIỚI THIỆU Ngày nay, với sự phát triển và tiến bộ không ngừng của khoa học và công nghệ, đời sống của con người càng được cải thiện và con người càng có thêm nhiều nhu cầu điều khiển thiết bị từ xa để kiểm soát an toàn khi thiết bị hoạt động và tiết kiệm chi phí khi quên tắt thiết bị kể cả khi con người không có mặt trực tiếp ở nhà. Việc điều khiển và kiểm soát các thiết bị điện trong nhà sẽ không còn tốn thời gian nhiều như trước nữa bởi mọi thứ sẽ được điều khiển từ xa thông qua Web. Hình 1. Hình ESP 8266 tích hợp mạch nạp CP2102 Nguyên lý hoạt động của mạch: ESP 8266 NodeMCU đóng vai trò là 1 web server, khi ta nạp code vào ESP 8266 NodeMCU trong đó có phần nhập thông tin địa chỉ wifi mà ta phải nhập để ESP 8266 sẽ kết nối. Sau khi ESP8266 khởi động sẽ tiến hành dò tìm và kết nối với địa chỉ wifi đã được khai báo trong chương trình và được cấp cho 1 địa chỉ IP truy cập vào mạng. Ta có thể dùng các 286
  2. thiết bị có thể vào internet để truy cập vào địa chỉ IP mới được cấp cho ở trên để điều khiển các thiết bị thông qua giao diện web đã được lập trình. Hình 2. Sơ đồ ESP 8266 ra chân NodeMCU 2 THIẾT KẾ NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG Hình 3. Sơ đồ mạch nguyên lý 3 NỘI DUNG TÍNH TOÁN, THIẾT KẾ, THI CÔNG MẠCH Hình 4. Sơ đồ khối 287
  3. - Khối nguồn: cung cấp dòng nguồn ổn định cho thiết bị hoạt động. Mạch chọn nguồn 5VDC dùng cho Kit ESP 8266 NodeMCU, Khối Điều Khiển. - Khối Xử Lý: khối điều khiển trung tâm nhận tín hiệu từ Web để xuất tín hiệu ngõ ra cho các chân GPIO. - Khối Điều Khiển: nhận tín hiệu ở ngõ ra của khối ESP 8266 NodeMCU thực hiện đóng mở tiếp điểm điều khiển thiết bị hoạt động hay dừng. - Khối wifi: môi trường truyền lệnh của người sử dụng thông qua web đến thiết bị và ngược lại. Hình 5. Sơ đồ giải thuật Chương trình phần mềm #include const char* ssid = "cube";// tên wifi const char* password = "123456789";//pass wifi int Pin = 5; // GPIO int Pin1 = 4; WiFiServer server(80);// Port 80 void setup() { Serial.begin(115200); delay(10); pinMode(Pin, OUTPUT); digitalWrite(Pin, LOW); pinMode(Pin1, OUTPUT); digitalWrite(Pin1, LOW); // Kết nối với wifi Serial.println(); Serial.println(); Serial.print("Ket noi vao mang: "); Serial.println(ssid); 288
  4. WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("Da ket noi vao mang"); // Bắt đầu sever server.begin(); Serial.println("Khoi dong Server"); // In địa chỉ IP Serial.print("Dia chi IP lien ket: "); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { // Kiểm tra vào mạng chưa WiFiClient client = server.available(); if (!client) { return; } // Đợi Client gửi data Serial.println("Co Client moi"); while(!client.available()){ delay(1);} //Đọc yêu cầu từ Client String request = client.readStringUntil('\r'); Serial.println(request); client.flush();; //Kiểm tra yêu cầu là gì int value = LOW; if (request.indexOf("LED=ON") != -1) { digitalWrite(Pin,HIGH); value = HIGH; } if (request.indexOf("LED=OFF") != -1) { digitalWrite(Pin, LOW); value = LOW; } //digitalWrite(ledPin, value); if (request.indexOf("LED1=ON") != -1) { digitalWrite(Pin1,HIGH); value = HIGH; } if (request.indexOf("LED1=OFF") != -1) { digitalWrite(Pin1, LOW); 289
  5. value = LOW; } //Tạo giao diện cho web client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // do not forget this one client.println(""); client.println(""); client.println(""); client.println("") ; client.print("DIEU KHIEN THIET BI BANG WIFI"); client.print(""); client.println(""); client.println("THIET BI 1"); client.println(""); client.println(""); client.println(""); client.println("THIET BI 2"); client.println(""); client.println(""); client.println(""); delay(1); Serial.println("Client disonnected"); Serial.println(""); } 4 KẾT QUẢ THI CÔNG SẢN PHẨM KHÓA SỐ DÙNG PIC16F877: GIA CÔNG, LẮP RÁP, LẬP TRÌNH Kết quả gia công chế tạo là sản phẩm thực tế như Hình 6. Hình 6. Hình ảnh thực tế của mạch 290
  6. 5 KẾT LUẬN Đề tài này thực hiện việc tính toán, thiết kế và chế tạo mạch điều khiển thiết bị bằng wifi sử dụng Kit thu phát Wifi ESP8266 NodeMCU. Hoạt đông của mạch được điều khiển bằng vi điều khiển và nhận tín hiệu từ Kit thu phát. Mạch sau khi được chế tạo và lắp ráp đã hoạt động đúng yêu cầu thiết kế. Tuy nhiên vì hạn chế là trên mô hình nên chưa điều khiển được các thiết bị tải lớn, chưa ứng dụng điều khiển được các thiết bị qua app,… Do đó cần tính toán và thiết kế lại rất nhiều. Để ứng dụng vào thực tế hệ thống này còn cần được chỉnh sửa để tăng tính ổn định của sản phẩm. Ngoài ra, chúng ta còn có thể phát triển giao diện điều khiển thông qua App của các phần mềm thông dụng như Ios, Android,.... TÀI LIỆU THAM KHẢO [1] arduino.vn [2] http://www.picvietnam.com [3] http://mcu.banlinhkien.vn/threads/giao-tiep-pic16f877a-voi-srf05.102/ [4] http://tailieu.vn/tag/vi-dieu-khien-pic.html [5] http://www.dientuvietnam.net/forums/ 291
nguon tai.lieu . vn