Được sự phân công của quý thầy cô khoa Kỹ Thuật Công Nghệ, trường Đại Học Tây Đô, sau gần ba tháng thực hiện em đã hoàn thành luận văn tốt nghiệp với đề tài “Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng Internet trên phần mềm điện thoại thông minh”. Để hoàn thành nhiệm vụ được giao, ngoài sự học tập, nghiên cứu của bản thân còn có sự hướng dẫn tận tình của thầy cô. Đặc biệt, em xin chân thành cảm ơn thầy Th.s Đỗ Chí Tâm người đã hướng dẫn, chỉ bảo cho em trong suốt thời gian qua, để em có thể hoàn thành tốt được bài luận văn. Thầy đã định hướng, giúp đỡ cho em để em có thể hoàn thành tốt nhiệm vụ. Một lần nữa em xin chân thành cảm ơn thầy và chúc thầy dồi dào sức khoẻ. Tuy nhiên, vì kiến thức chuyên môn còn hạn chế và bản thân còn thiếu nhiều kinh nghiệm thực tiễn nên nội dung của luận văn không tránh khỏi những thiếu xót, nên em rất mong nhận được sự góp ý, chỉ bảo thêm của quý thầy cô để luận văn này được hoàn thiện hơn. Một lần nữa em xin gửi đến quý thầy lời cảm ơn chân thành và sâu sắc nhất.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC TÂY ĐÔ o0o LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA THÔNG QUA MẠNG INTERNET TRÊN PHẦN MỀM ĐIỆN THOẠI THÔNG MINH SINH VIÊN THỰC HIỆN CÁN BỘ HƯỚNG DẪN TRẦN VÕ BÃO Thạc sĩ: ĐỖ CHÍ TÂM MSSV: 15D520201001 KỸ THUẬT ĐIỆN – ĐIỆN TỬ 10 Cần Thơ 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC TÂY ĐÔ o0o LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA THÔNG QUA MẠNG INTERNET TRÊN PHẦN MỀM ĐIỆN THOẠI THÔNG MINH SINH VIÊN THỰC HIỆN CÁN BỘ HƯỚNG DẪN TRẦN VÕ BÃO Thạc sĩ: ĐỖ CHÍ TÂM MSSV: 15D520201001 KỸ THUẬT ĐIỆN – ĐIỆN TỬ 10 CÁN BỘ PHẢN BIỆN Tiến sĩ: TRẦN VĂN TẤN Luận văn bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Điện – Điện tử khoa Kỹ Thuật Công Nghệ, Trường Đại học Tây Đô vào ngày 25 tháng năm 2019 Mã số đề tài: Cần Thơ 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc TRƯỜNG ĐẠI HỌC TÂY ĐÔ *** CHẤP NHẬN LUẬN VĂN ĐẠI HỌC CỦA HỘI ĐỒNG Luận văn đại học Thiết kế điều khiển thiết bị điện từ xa thông qua mạng internet phần mềm điện thoại thông minh sinh viên Trần Võ Bão, mã số sinh viên: 15D520201001, thực báo cáo chỉnh sửa theo góp ý Hội đồng chấm luận văn đại học thông qua _ _ Th.s Đỗ Chí Tâm Ts Trần Văn Tấn Giảng viên hướng dẫn Phản biện Đặng Kim Sản Thư ký Cần Thơ, ngày … tháng …… năm 20… _ Nguyễn Vĩnh Thành Chủ tịch Hội đồng KHOA KỸ THUẬT – CÔNG NGHỆ BỘ MÔN ĐIỆN – ĐIỆN TỬ XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN Sinh viên thực hiện: Trần Võ Bão Mã số sinh viên: 15D520201001 Lớp: Đại học Kỹ thuật Điện - Điện Tử 10 Niên khóa: 2015 – 2019 Đã thực đề tài luận văn tốt nghiệp” Thiết kế điều khiển thiết bị điện từ xa thông qua mạng Internet phần mềm điện thoại thông minh” Dưới hướng dẫn Th.s Đỗ Chí Tâm …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ………………………………………………………………………………… Cần Thơ, ngày tháng năm 2019 XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN Th.s Đỗ Chí Tâm NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Cần Thơ, ngày tháng năm 2019 GIẢNG VIÊN PHẢN BIỆN Ts Trần Văn Tấn LỜI CẢM ƠN Được phân công quý thầy cô khoa Kỹ Thuật - Công Nghệ, trường Đại Học Tây Đơ, sau gần ba tháng thực em hồn thành luận văn tốt nghiệp với đề tài “Thiết kế điều khiển thiết bị điện từ xa thông qua mạng Internet phần mềm điện thoại thông minh” Để hoàn thành nhiệm vụ giao, học tập, nghiên cứu thân cịn có hướng dẫn tận tình thầy Đặc biệt, em xin chân thành cảm ơn thầy Th.s Đỗ Chí Tâm người hướng dẫn, bảo cho em suốt thời gian qua, để em hồn thành tốt luận văn Thầy định hướng, giúp đỡ cho em để em hồn thành tốt nhiệm vụ Một lần em xin chân thành cảm ơn thầy chúc thầy dồi sức khoẻ Tuy nhiên, kiến thức chun mơn cịn hạn chế thân cịn thiếu nhiều kinh nghiệm thực tiễn nên nội dung luận văn khơng tránh khỏi thiếu xót, nên em mong nhận góp ý, bảo thêm q thầy để luận văn hồn thiện Một lần em xin gửi đến quý thầy lời cảm ơn chân thành sâu sắc Cần Thơ, ngày 25 tháng năm 2019 Sinh viên thực Trần Võ Bão i LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM MỤC LỤC TĨM TẮT PHẦN MỞ ĐẦU Lý chọn đề tài 2 Tình hình nghiên cứu nước liên quan tới đề tài Tình hình nghiên cứu nước liên quan tới đề tài 4 Tính cấp thiết đề tài 5 Mục tiêu nghiên cứu 6 Nhiệm vụ nghiên cứu Nội dung nghiên cứu Phương pháp nghiên cứu 8.1 Phương pháp nghiên cứu tài liệu 8.2 Phương pháp nghiên cứu thực tiễn Đối tượng nghiên cứu 10 Phạm vi nghiên cứu PHẦN NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT GIỚI THIỆU CÁC LINH KIỆN, MODULE ĐƯỢC SỬ DỤNG 1.1 Sơ lược vi điều khiển 1.2 Vi điều khiển dùng đề tài: ESP8266 1.2.1 Giới thiệu 1.2.2 Tổng quan ESP8266 1.3 Nguồn xung AC - DC 5VDC - 2A 17 1.3.1 Mô tả 17 1.3.2 Thông số kỹ thuật 17 1.3.3 Ứng dụng 17 1.3.4 Hình ảnh thực tế 17 1.4 Module cảm biến nhiệt độ, độ ẩm DHT11 18 1.4.1 Mô tả 18 1.4.2 Thông số kỹ thuật 18 1.4.3 Tính ứng dụng 18 1.4.4 Hình ảnh 18 1.5 Module RF 315 MHz 19 1.5.1 Mô tả phần phát 19 1.5.2 Thông số kỹ thuật 19 1.5.3 Tính ứng dụng 19 1.5.4 Hình ảnh 19 1.5.5 Mô tả phần thu 20 1.5.6 Thông số kỹ thuật 20 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM 1.6 Cảm biến ánh sáng 22 1.6.1 Mô tả 22 1.6.2 Nguyên lý hoạt động 22 1.6.3 Tính ứng dụng 22 1.6.4 Hình ảnh 22 1.7 LCD 16 x 23 1.7.1 Mô tả 23 1.7.2 Tính ứng dụng 23 1.7.3 Thông số 23 1.7.4 Hình ảnh 24 1.8 Module I2C cho LCD 24 1.8.1 Mô tả 24 1.8.2 Tính ứng dụng 25 1.8.3 Thông số kỹ thuật 25 1.8.4 Hình ảnh 25 1.9 Transistor 25 1.9.1 Mô tả 25 1.9.2 Tính ứng dụng 26 1.9.3 Phân loại 26 1.9.4 Hình ảnh 26 1.10 Relay 27 1.10.1 Mô tả 27 1.10.2 Tính ứng dụng 27 1.10.3 Thông số Relay SRD-05VDC-SL-C 28 1.10.4 Hình ảnh 28 CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG 29 2.1 Sơ đồ khối 29 2.2 Chức khối điều khiển 30 2.2.1 Khối xử lý 30 2.2.2 Khối INPUT 30 2.2.3 Khối OUTPUT 31 2.3 Sơ đồ nguyên lý toàn mạch 32 2.4 Sơ đồ nguyên lý hoạt động phần 32 2.4.1 Khối vi xử lý 32 2.4.2 Khối INPUT 33 2.4.3 Khối OUTPUT 37 2.5 Sơ đồ mạch in 40 2.6 Hình ảnh mạch thực tế 40 CHƯƠNG 3: GIẢI THUẬT PHẦN MỀM 41 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM 3.1 Sơ đồ giải thuật chương trình cho điều khiển 41 3.2 Sơ đồ giải thuật chức phần 41 3.2.1 Khởi tạo chức chân 41 3.2.2 Khởi tạo EEPROM 42 3.2.3 Đọc SSID, PASS, Auth từ EEPROM 42 3.2.4 Kiểm tra chế độ 43 3.2.5 Kết nối với máy chủ Blynk 44 3.2.6 Đọc liệu từ máy chủ Blynk 44 3.2.7 Thực thi điều khiển thiết bị 44 3.3 Phần mềm thiết bị thông minh 45 3.4 Giao diện phần mềm 46 PHẦN KẾT LUẬN 47 Kết nghiên cứu 47 Những hạn chế trình nghiên cứu 47 Hướng phát triển 47 Kết luận 48 TÀI LIỆU KHAM KHẢO 49 Sách, giáo trình 49 Tài liệu tham khảo từ web 49 PHỤ LỤC 50 Phụ lục 0.1 Chương trình nạp cho vi điều khiển ESP8266 50 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM TÓM TẮT Hiện nay, với bùng nổ mạnh mẽ cách mạng lần thứ công nghệ 4.0 đời hoạt động mạnh mẽ nhiều lĩnh vực Với phát triển này, cách mạng 4.0 mang đến cho ngừời nhiều tiện ích, hệ thống tự động thông minh ứng dụng nhiều hệ thống giúp đảm bảo an tồn nâng cao hiệu suất chất lượng làm việc Các hệ thống điều khiển thiết bị quản lý từ xa giúp cho người quản lý vận hành từ xa khơng giới hạn khoảng cách địa lý Chính thế, để theo kịp cơng nghệ việc nghiên cứu cách thức hoạt động nguyên lý, đưa vào vận hành ứng dụng thực tế để đem lại hiệu sản xuất vô cần thiết Trên thị trường có nhiều thiết bị, phần mềm cho phép người dùng điều khiển, quản lý thiết bị điện gia đình giúp chúng trở nên thuận tiện thơng minh Tuy nhiên, thiết bị có giá thành rẻ có chức năng, giao diện điều khiển phức tạp nhiều hạn chế riêng Các thiết bị thông minh, tối ưu thuận tiện cho người sử dụng thường có giá thành cao khơng phù hợp với nhiều đối tượng người dùng Vì vậy, đề tài luận văn em tập trung nghiên cứu để tạo thiết bị thơng minh giúp người dùng điều khiển, quản lý thiết bị gia đình từ xa thơng qua mạng khơng dây Thiết bị có tính dùng cho việc điều khiển, quản lý có giao diện điều khiển thân thiện với người sử dụng Thiết bị hoạt động ổn định, độ bền cao giá thành phù hợp với nhiều người dùng thiết bị tương tự thị trường Trang LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM { Blynk.virtualWrite(V5, humi); } void setup() { Serial.begin(115200); dht.begin(); // SDA / SCL // Mo Serial Monitor // DTH Wire.begin(0,14); // LCD lcd.init(); // LCD lcd.noBacklight(); // LCD co sua doi timer.setInterval(50L, nutnhan1); // Timer timer.setInterval(50L, nutnhan2); // Timer timer.setInterval(50L, nutnhan3); // Timer timer.setInterval(1000L, nhietdo_doam); // Timer timer.setInterval(2000L, hien_thi_nhietdo_doam); timer.setInterval(4000L, hien_thi_trang_thai); // Serial.print("Server started"); lcd.setCursor(0,0); lcd.print(" Khoa luan // Timer // Timer // setup cac ngo vao trang thai ban dau // cot dong "); lcd.setCursor(0,1); // cot dong lcd.print("Tran Vo Bao DT10 "); delay(1000); lcd.setCursor(0,0); lcd.print("DKTB qua Internet"); lcd.setCursor(0,1); lcd.print(" Server start "); delay(1000); pinMode(out_relay1,OUTPUT); pinMode(button1,INPUT); digitalWrite(out_relay1,0); pinMode(button1,0); pinMode(out_relay2,OUTPUT); pinMode(button2,INPUT); Trang 53 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM digitalWrite(out_relay2,0); pinMode(button2,0); pinMode(out_relay3,OUTPUT); pinMode(button3,INPUT); digitalWrite(out_relay3,0); pinMode(button3,0); pinMode(A0, INPUT); // co san / them moi analogWrite(A0, 100); // for (int i = 1; i < 3; i++) // { // digitalWrite(2, HIGH); // nhap nhay led blink bao hieu delay(500); // digitalWrite(2, LOW); // delay(500); // digitalWrite(2, HIGH); // } EEPROM.begin(512); duong truyen du lieu // chay EEPROM lay ssid pass auth de dang nhap vao Wifi tao delay(10); lcd.clear(); lcd.setCursor(0,0); lcd.print(" Bat dau "); lcd.setCursor(0,1); lcd.print(" Doc EEPROM "); // Serial.println("Startup"); // Serial.println("Reading EEPROM ssid"); String esid; // lay gia tri ssid tu EEPROM for (int i = 0; i < 32; ++i) { esid += char(EEPROM.read(i)); } // Serial.print("SSID: "); // Serial.println(esid.c_str()); esid.trim(); Trang 54 LUẬN VĂN TỐT NGHIỆP // Serial.println("Reading EEPROM pass"); GVHD: Th.s ĐỖ CHÍ TÂM // lấy giá trị Pass String epass = ""; for (int i = 32; i < 96; ++i) { epass += char(EEPROM.read(i)); } // Serial.print("PASS: "); // Serial.println(epass.c_str()); epass.trim(); // Serial.println("Reading EEPROM blynk"); // lấy giá trị Auth String eblynk = ""; for (int i = 96; i < 128; ++i) { eblynk += char(EEPROM.read(i)); } // Serial.print("BLYNK: "); // Serial.println(eblynk.c_str()); eblynk.trim(); if ( esid.length() > ) { WiFi.begin(esid.c_str(), epass.c_str()); if (testWifi()) { launchWeb(0); WiFi.disconnect(); char * auth_ = new char[eblynk.length() + 1]; eblynk.toCharArray(auth_, eblynk.length() + 1); Blynk.begin(auth_, esid.c_str(), epass.c_str()); EEPROM.end(); return; } } setupAP(); EEPROM.end(); Trang 55 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM } bool testWifi(void) { int c = 0; lcd.clear(); lcd.setCursor(0,0); lcd.print("Xin vui long doi"); lcd.setCursor(0,1); lcd.print(" ket noi WiFi "); // Serial.println("Xin vui long doi ket noi WIFI"); while ( c < ) // Kiem tra dieu kien lan { if (analogRead(A0)PasswordBlynk"; content += ""; content += "Wifi"; content += ""; content += "Mat Khau"; content += ""; content += "Blynk"; content += ""; content += ""; content += ""; content += st; content += "
"; content += ""; server.send(200, "text/html", content); Trang 60 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM }); server.on("/setting", []() { String qsid = server.arg("ssid"); String qpass = server.arg("pass"); String qblynk = server.arg("blynk"); if (qsid.length() > && qpass.length() > 0) { EEPROM.begin(512); // Serial.println("clearing eeprom"); for (int i = 0; i < 128; ++i) { EEPROM.write(i, 0); } EEPROM.commit(); // Serial.println(qsid); // Serial.println(""); // Serial.println(qpass); // Serial.println(""); // Serial.println(qblynk); // Serial.println(""); // Serial.println("writing eeprom ssid:"); for (int i = 0; i < qsid.length(); ++i) { EEPROM.write(i, qsid[i]); // Serial.print("Wrote: "); // Serial.println(qsid[i]); } // Serial.println("writing eeprom pass:"); for (int i = 0; i < qpass.length(); ++i) { EEPROM.write(32 + i, qpass[i]); // Serial.print("Wrote: "); // Serial.println(qpass[i]); Trang 61 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM } // Serial.println("writing eeprom blynk:"); for (int i = 0; i < qblynk.length(); ++i) { EEPROM.write(96 + i, qblynk[i]); // Serial.print("Wrote: "); // Serial.println(qblynk[i]); } EEPROM.commit(); EEPROM.end(); pinMode(2, OUTPUT); //Chop den xanh sau khu lam xong digitalWrite(2, HIGH); digitalWrite(2, LOW); delay(500); digitalWrite(13, HIGH); content = "{\"Success\":\"Luu vao he thong Khoi dong lai ten wifi moi\"}"; statusCode = 200; } else { content = "{\"Error\":\"404 not found\"}"; statusCode = 404; lcd.clear(); lcd.setCursor(0,0); // cot dong lcd.print(" Loi ket noi 404 "); // Serial.println("Sending 404"); } server.send(statusCode, "application/json", content); }); } else if (webtype == 0) { server.on("/", []() { Trang 62 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM IPAddress ip = WiFi.localIP(); String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]); server.send(200, "application/json", "{\"IP\":\"" + ipStr + "\"}"); }); server.on("/cleareeprom", []() { content = "\r\n"; content += "XSwitchClearing the EEPROM
"; server.send(200, "text/html", content); // Serial.println("clearing eeprom"); for (int i = 0; i < 128; ++i) { EEPROM.write(i, 0); } // pinMode(2, OUTPUT); //Chop den xanh sau khu lam xong // digitalWrite(2, HIGH); // digitalWrite(2, LOW); delay(500); // digitalWrite(2, HIGH); EEPROM.commit(); }); } } void loop() { server.handleClient(); Blynk.run(); // chay blynk timer.run(); // Initiates BlynkTimer } void nhietdo_doam() { temper = dht.readTemperature(); humi = dht.readHumidity(); Trang 63 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM if (isnan(humi) || isnan(temper)) { // Serial.println("Failed to read from DHT sensor!"); // Thong bao neu khong ket noi duoc voi DHT 11 delay(1000); return; } else { nhiet_do = temper; do_am = humi; // Serial.print("Temperature: "); // Serial.println(nhiet_do); // Serial.print(" *C\t"); // Serial.print("Humidity: "); // Serial.print(do_am); // Serial.print(" %\t"); Blynk.virtualWrite(V6, nhiet_do); Blynk.virtualWrite(V7, do_am); } } void hien_thi_nhietdo_doam() { lcd.clear(); lcd.setCursor(0,0); lcd.print(" Nhiet do: "); lcd.print(nhiet_do); lcd.setCursor(13,0); lcd.print("*C "); lcd.setCursor(0,1); lcd.print(" Do am: "); lcd.print(do_am); lcd.setCursor(10,1); lcd.print("% "); Trang 64 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM } void hien_thi_trang_thai() { lcd.clear(); lcd.setCursor(0,0); lcd.print("TB1:"); lcd.setCursor(4,0); if(relay_state1==1) { lcd.print("ON "); } else { lcd.print("OFF"); } lcd.setCursor(9,0); lcd.print("TB2:"); lcd.setCursor(13,0); if(relay_state2==1) { lcd.print("ON "); } else { lcd.print("OFF"); } lcd.setCursor(0,1); lcd.print(" TB3:"); lcd.setCursor(8,1); if(relay_state3==1) { lcd.print("ON "); } else Trang 65 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM { lcd.print("OFF"); } } void nutnhan1() // ham cho nut nhan thu { if(gt_ht1==0 && gt_trc1==1) { delay(50); if(digitalRead(button1)==0) { relay_state1= !relay_state1; digitalWrite(out_relay1,relay_state1); gt_trc1= 0; // Serial.print(digitalRead(out_relay1)); // in trangj thai cua relay // Serial.print(digitalRead(button1)); // in trang thai cua nut nhan // Serial.print("ok"); Blynk.virtualWrite(V0, relay_state1); // gui gia tri den AP Blynk } } gt_ht1= digitalRead(button1); if(gt_ht1) gt_trc1= 1; relay_state1= digitalRead(out_relay1); } void nutnhan2() { if(gt_ht2==0 && gt_trc2==1) // nut nhan { delay(50); if(digitalRead(button2)==0) { relay_state2= !relay_state2; digitalWrite(out_relay2,relay_state2); gt_trc2= 0; Trang 66 LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM // Serial.print(digitalRead(out_relay2)); // Serial.print(digitalRead(button2)); // Serial.print("ok"); Blynk.virtualWrite(V1, relay_state2); // gui gia tri den AP Blynk } } gt_ht2= digitalRead(button2); if(gt_ht2) gt_trc2= 1; relay_state2= digitalRead(out_relay2); } void nutnhan3() { if(gt_ht3==0 && gt_trc3==1) // nut nhan { delay(50); if(digitalRead(button3)==0) { relay_state3= !relay_state3; digitalWrite(out_relay3,relay_state3); gt_trc3= 0; // Serial.print(digitalRead(out_relay3)); // Serial.print(digitalRead(button3)); // Serial.print("ok"); Blynk.virtualWrite(V2, relay_state3); // gui gia tri den AP Blynk } } gt_ht3= digitalRead(button3); if(gt_ht3) gt_trc3= 1; relay_state3= digitalRead(out_relay3); } Trang 67