Thiết kế và thi công mô hình thu thập thông tin và gọi hỗ trợ sản xuất trong xưởng may, sử dụng bảng Led để hiển thị các vấn đề liên quan đến sự cố xảy ra và sau đó đưa dữ liệu lên cơ sở dữ liệu thông qua mạng Wi-Fi. Nội dung thực hiền gồm: tìm hiểu các mô hình báo lỗi hiện nay, cách truyền dữ liệu không dây giữa các Module ESP với nhau, thiết kế giao diện các trang web, thiết kế thi công mô hình, viết chương trình điều khiển, viết báo cáo.
i TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày tháng năm 20 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Nguyễn Lệ Hằng MSSV: 15150063 Nguyễn Thị Tươi MSSV: 15141326 Chuyên ngành: Điện tử công nghiệp Mã ngành: 141 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2015 Lớp: 15141DT2C Họ tên sinh viên: I TÊN ĐỀ TÀI: HỆ THỐNG THU THẬP THÔNG TIN VÀ GỌI HỖ TRỢ SẢN XUẤT TRONG XƯỞNG MAY DÙNG CÔNG NGHỆ KHÔNG DÂY II NHIỆM VỤ Các số liệu ban đầu: Đối tượng nghiên cứu xưởng may, công nghệ không dây, ứng dụng hệ thống gọi hỗ trợ sản xuất Kiến thức ESP8266, LCD, Led đoạn, kiến thức lập trình cho vi điều khiển, ngôn ngữ để viết web Nội dung thực hiện: Thiết kế xây dựng hệ thống thu thập thông tin gọi hỗ trợ sản xuất xưởng may dùng cơng nghệ khơng dây gồm: tìm hiểu mơ hình báo lỗi nay, cách truyền liệu không dây Module ESP với nhau, thiết kế giao diện trang web, thiết kế thi cơng mơ hình, viết chương trình điều khiển, viết báo cáo III NGÀY GIAO NHIỆM VỤ: 02/03/2019 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/07/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: GVC ThS Trương Ngọc Anh CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 13 tháng năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Nguyễn Lệ Hằng Lớp:15141DT2C MSSV: 15150063 Họ tên sinh viên 2: Nguyễn Thị Tươi Lớp: 15141DT2C MSSV: 15141326 Tên đề tài: Hệ thống thu thập thông tin gọi hỗ trợ sản xuất xưởng may dùng công nghệ không dây Tuần/ngày Tuần Nội dung cần thực Xác nhận GVHD Gặp GV môn để nghe phổ biến yêu cầu làm đồ án, nhận giấy giới thiệu làm đồ án Gặp GVHD để (18/2 – 23/2) Tuần (25/2 – 2/3) Tuần chọn đề tài GVHD tiến hành xét duyệt đề tài viết đề cương nộp lại Tìm hiểu thực trạng mơ hình báo lỗi đặc biệt xưởng may Các loại máy may (4/3 – 9/3) xưởng may lỗi tương ứng - Tìm hiểu Module Led đoạn quét, ma trận phím Tuần (11/3 – 16/3) - Mô hoạt động proteus - Kết nối Module thực tế để xem hoạt động - Tìm hiểu ESP8266, cách giao tiếp hai Tuần (18/3 – 23/3) ESP8266 với - Giao tiếp với hai Module ESP8266 thực tế: server + client iii - Tìm hiểu bước để tạo trang web - Giao tiếp với ba Module ESP8266 thực tế: server + clients Tuần (25/3 – 30/3) - Nghiên cứu, tìm hiểu cách đưa liệu lên googlesheet thơng qua ESP8266 - Tìm hiểu cách tạo sở liệu dùng MyPHPAdmin - Nghiên cứu, tìm hiểu cách đưa liệu lên googlesheet thông qua ESP8266 Tuần (1/4 – 6/4) - Lên ý tưởng cho trang web thống nội dung hiển thị lên web - Tìm hiểu ngơn ngữ HTML vận dụng để tạo trang web Tuần (8/4 – 13/4) Tuần Tìm hiểu ngơn ngữ CSS để thêm màu sắc, kiểu cách cho trang web viết sử dụng HTML - Tìm hiểu ngơn ngữ JavaScript để áp dụng vô việc kiểm tra thông tin đăng nhập người dùng (15/4 – 20/4) Tuần 10 (22/4 – 27/4) - Tìm hiểu ngơn ngữ SQL để truy vấn, làm việc với liệu có sở liệu - Tìm hiểu Module I2C cách thức hoạt động - Tìm hiểu ngơn ngữ PHP kết hợp với SQL để kiểm tra thông tin đăng nhập vơ trang web giám sát Tuần 11 - Tìm hiểu LCD16x2 kết hợp với Module I2C để (29/4 – 4/5) hiển thị nội dung theo yêu cầu - Hoàn thành trang web giới thiệu, trang đăng nhập tài khoản người dùng iv - Tìm hiểu cách đưa liệu lên sở liệu thông qua ESP8266 Tuần 12 (6/5 – 11/5) - Xây dựng trang web hiển thị trình hoạt động hệ thống - Lấy liệu từ sở liệu để hiển thi lên trang web giám sát -Thiết kế, lắp ráp mơ hình hệ thống -Chạy kết hợp Module với gửi liệu lên sở liệu Tuần 13 (13/5 – 18/5) - Kiểm tra hoạt động phần cứng liệu hiển thị web giám sát yêu cầu chưa -Thêm chức xuất file excel liệu theo yêu cầu người dùng -Tiếp tục hoàn thiện lại trang web Tuần 14 -Viết báo cáo đồ án tốt nghiêp (20/5 – 25/5) -Kiểm tra hoạt động hệ thống -Tiếp tục viết báo cáo Tuần 15 -Kiểm tra lại hệ thống để đảm bảo hệ thống làm việc với yêu cầu đặt (27/5 – 1/6) -Kiểm tra lại hiển thị trang web giám sát để đảm bảo với yêu cầu Tuần 16 (3/6 – 8/6) Hoàn thiện ĐATN gửi cho GVHD xem xét góp ý lần cuối trước in báo cáo Tuần 17 Viết tóm tắt báo cáo đồ án tốt nghiệp (10/6 – 15/6) Tuần 18 Tiếp tục hoàn thiện báo cáo (17/6 – 22/6) v Tuần 19 (24/6 – 29/6) Tuần 20 (1/7 – 6/7) -Làm slide thuyết trình -In giấy tờ, phiếu điểm để bảo vệ -Nộp ĐATN vào ngày 10/6 -Chuẩn bị cho ngày bảo vệ GV HƯỚNG DẪN ThS Trương Ngọc Anh vi LỜI CAM ĐOAN Đề tài nhóm chúng em thực suốt học kỳ Trong trình thực nhóm tham khảo số tài liệu trước để có thêm thơng tin kiến thức phục vụ cho việc làm đề tài Nhóm cam kết khơng chép nội dung tài liệu khác Nếu có gian lận việc làm đề tài nhóm xin chịu trách nhiệm theo quy định Họ tên sinh viên Họ tên sinh viên Nguyễn Lệ Hằng Nguyễn Thị Tươi vii LỜI CẢM ƠN Nhóm xin gửi lời cảm ơn chân thành đến thầy Trương Ngọc Anh giảng viên hướng dẫn nhóm việc thực đồ án tốt nghiệp học kỳ Nhờ dẫn tận tình định hướng thầy nhóm gặp khó khăn giúp nhóm tìm hướng giải khó khăn q trình thực để hồn thành đề tài Nhóm xin gửi lời cảm ơn đến thầy Nguyễn Thanh Giàu hỗ trợ chúng em trình làm đồ án tốt nghiệp Nhóm gửi lời cảm ơn đến tồn thầy cô giảng dạy chúng em suốt trình học trường Đặc biệt, giảng viên khoa Điện – Điện tử dạy bảo, chia sẻ kiến thức chuyên ngành để nhóm áp dụng vô đồ án tốt nghiệp cho cơng việc sau thân Nhóm cảm ơn đến bạn bè, anh chị có chia sẻ, trao đổi kiến thức, kinh nghiệm thực tế người cho nhóm gặp khó khăn Và cuối lời cảm ơn đến bậc phụ huynh, người thân gia đình Nhờ quan tâm, ủng hộ lời động viên người giúp nhóm hồn thành xong chương trình đại học để có kiến thức vào đời Xin chân thành cảm ơn! Họ tên sinh viên Họ tên sinh viên Nguyễn Lệ Hằng Nguyễn Thị Tươi viii MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình thực đồ án tốt nghiệp iii Lời cam đoan vii Lời cảm ơn viii Mục lục ix Liệt kê hình vẽ xii Liệt kê bảng xv Tóm tắt xvi CHƯƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ CÁC LOẠI MÁY MAY 2.1.1 Máy may kim (MM1K) 2.1.2 Máy đính cúc (MĐC) 2.2 GIỚI THIỆU MODULE ESP8266 2.2.1 Sơ đồ chân ESP8266 2.2.2 Thông số phần cứng 2.2.3 Các loại Module ESP8266 thị trường ix 2.3 MODULE ESP-12E NODE MCU 2.4 MODULE LED ĐOẠN MAX7129 2.5 LCD 1602 VÀ MODULE I2C 12 2.5.1 LCD1602 12 2.5.2 Module I2C 13 2.6 MA TRẬN PHÍM 4X4 14 2.7 KHÁI QUÁT VỀ MẠNG KHÔNG DÂY WI-FI 15 2.7.1 Giới thiệu 15 2.7.2 Nguyên tắc hoạt động 15 2.7.3 Một số chuẩn Wi-Fi 16 2.8 WEBSERVER VÀ CƠ SỞ DỮ LIỆU 17 2.8.1 Tổng quan Website ngôn ngữ lập trình Website 17 2.8.2 Khái quát ngôn ngữ HTML 18 2.8.3 Khái quát ngôn ngữ CSS 19 2.8.4 Khái quát ngôn ngữ JavaScript 19 2.8.5 Khái quát ngôn ngữ PHP 20 2.8.6 Khái quát sở liệu SQL 20 2.8.7 Khái quát phpMyAdmin 21 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 23 3.1 GIỚI THIỆU 23 3.2 TÍNH TỐN VÀ THIẾT KẾ PHẦN CỨNG 23 3.2.1 Thiết kế sơ đồ khối hệ thống 23 3.2.2 Tính tốn thiết kế mạch 27 3.2.3 Sơ đồ nguyên lý toàn mạch 32 3.3 THIẾT KẾ PHẦN MỀM 33 x PHỤ LỤC } if (i==4){ tem = 4; loi (tem); while (analogRead(A0) < 1000) {} } if (i==5){ tem = 5; loi (tem); while (analogRead(A0) < 1000) {} } if (i==14){ //Phím xử lý ThongBaoNhanPhim(); if ((tem == && loi1 == 1) || (tem == && loi2== 1) || (tem == && loi3== 1) || (tem == && loi4== 1) || (tem == && loi5== 1)){ String string_tem = String(tem, DEC); Guisever (may + " loi " +string_tem + " Dang sua"); if (s==0){ t1d1 = "Chon loi: " + string_tem + " BD "; digitalWrite(ledPin3, LOW); switch (tem){ case 1: tt1 = 1; break; case 2: tt2 = 1; break; case 3: tt3 = 1; break; case 4: tt4 = 1; break; case 5: tt5 = 1; break; default: break; } } else digitalWrite(ledPin3, HIGH); t1d2 = ("Loi:" + string1 + string2 + string3 + string4 + string5 + " "); chontrang (trang); sendData1(tem, may, "1"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 82 PHỤ LỤC Kiemtraketnoiweb (f); digitalWrite(ledPin2, HIGH); Serial.println("Key Pressed dang sua: "); } } if (i==15){ //Phím xử lý xong ThongBaoNhanPhim(); if ((tem == && tt1 == 1) || (tem == && tt2== 1) || (tem == && tt3== 1) || (tem == && tt4== 1) || (tem == && tt5== 1)){ String string_tem = String(tem, DEC); chontrang (trang); Guisever (may +" loi " + string_tem + " Sua xong"); if (s==0){ digitalWrite(ledPin3, LOW); t1d1 = "Chon loi: " + string_tem + " KT "; switch (tem){ case 1: string1 = ' '; loi1 = 0; tt1 = 0; chontrang (trang); break; case 2: string2 = ' '; loi2 = 0; tt2 = 0; chontrang (trang); break; case 3: string3 = ' '; loi3 = 0; tt3 = 0; chontrang (trang); break; case 4: string4 = ' '; loi4 = 0; tt4 = 0; chontrang (trang); break; case 5: string5 = ' '; loi5 = 0; tt5 = 0; chontrang (trang); break; default: break; } } else BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 83 PHỤ LỤC digitalWrite(ledPin3, HIGH); t1d2 = ("Loi:" + string1 + string2 + string3 + string4 + string5 + " "); chontrang (trang); sendData1(tem, may, "2"); Kiemtraketnoiweb (f); if (loi1 == && loi2 == && loi3 == && loi4 == && loi5 ==0 ){ digitalWrite(ledPin1, LOW); } digitalWrite(ledPin2, LOW); Serial.println("Key Pressed sua xong: "); } } if (i == 13){ //Phím Enter ThongBaoNhanPhim(); if ((tem == && loi1 == 0) || (tem == && loi2== 0) || (tem == && loi3== 0) || (tem == && loi4== 0) || (tem == && loi5== 0)){ String string_tem = String(tem, DEC); Guisever (may +" loi " + string_tem); if (s==0){ digitalWrite(ledPin3, LOW); switch (tem){ case 1: string1 = '1'; loi1 = 1; chontrang (trang); break; case 2: string2 = '2'; loi2 = 1; chontrang (trang); break; case 3: string3 = '3'; loi3 = 1; chontrang (trang); break; case 4: string4 = '4'; loi4 = 1; chontrang (trang); break; case 5: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 84 PHỤ LỤC string5 = '5'; loi5 = 1; chontrang (trang); break; default: break; } } else digitalWrite(ledPin3, HIGH); sendData1(tem, may, "0"); t1d2 = ("Loi:" + string1 + string2 + string3 + string4 + string5 + " "); chontrang (trang); Kiemtraketnoiweb (f); chontrang (trang); if (loi1 == || loi2 == || loi3 == 1|| loi4 == || loi5 == 1){ digitalWrite(ledPin1, HIGH); } } } while (analogRead(A0) < 1000) {delay(100);} } } } } void ThongBaoNhanPhim() { t1d2 = "Phim duoc nhan "; chontrang (trang); delay (400); t1d2 = ("Loi:" + string1 + string2 + string3 + string4 + string5 + " "); chontrang (trang); } void loi (int tem) { chontrang (trang); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 85 PHỤ LỤC string_tem = String(tem, DEC); t1d1 = "Chon loi: " + string_tem + " "; Serial.println("Key Pressed "+ string_tem +": "); chontrang (trang); } void Kiemtraketnoiweb (byte f) { if (f !=1) { lcd.setCursor(15, 1); lcd.write(2); chontrang (trang); Guisever ("C"); } else { lcd.setCursor(15, 1); lcd.write(3); //t1d2 = "Mat Ket Noi Web"; chontrang (trang); Guisever ("K"); } } void chontrang (int trang) { if (trang==1) { lcd.setCursor(0, 0); // Move the cursor characters to the right and lcd.print(t1d1); lcd.setCursor(0, 1); // Move the cursor to the next line and print lcd.print(t1d2); // WORLD } if (trang == 2) { lcd.setCursor(0, 0); // Move the cursor characters to the right and BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 86 PHỤ LỤC lcd.print(t2d1); lcd.setCursor(0, 1); // Move the cursor to the next line and print lcd.print(t2d2); // lcd.print("Loi:" + string1 + string2 + string3 + string4 + string5 + " "); // WORLD } } void Guisever (String data) { if (!client.connect(server, 80)) { s = 1; Serial.println("connection sever failed"); return; } else { s =0; client.println(data + "\r"); answer = client.readStringUntil('\r'); // receives the answer from the sever nhận câu tl từ máy chủ Serial.println("from server: " + answer); client.flush(); for (int j = 0; (j < 1); j++) { if (answer == (data)){ Serial.println("thoat"); break;} client.connect(server, 80); delay (200); client.println(data + "\r"); answer = client.readStringUntil('\r'); //nhận trả lời từ máy chủ Serial.println("from server: " + answer); client.flush(); } } } void sendData1(int loi, String var1, String var2) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 87 PHỤ LỤC { Serial.print("connecting to "); Serial.println(host); WiFiClient client; const int httpPort = 80; if (!client.connect(host, httpPort)) { f = 1; Serial.println("connection web failed"); return; } else { f = 0; // We now create a URI for the request String url = "/them_data.php?loi="; url += loi; url += "&var1="; url += var1; url += "&var2="; url += var2; Serial.print("Requesting URL: "); Serial.println(url); // This will send the request to the server client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); unsigned long timeout = millis(); while (client.available() == 0) { if (millis() - timeout > 5000) { Serial.println(">>> Client Timeout !"); client.stop(); return; } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 88 PHỤ LỤC } } Chương trình điểu khiển khối hiển thị phòng giám sát #include #include #include LedControl mydisplay2 = LedControl(14, 12, 13, 1); //Chân kết nối với ESP LedControl mydisplay1 = LedControl(16, 5, 4, 1); String request; byte ledPin = 2; char ssid[] = "EXID"; char pass[] = "12345689"; WiFiServer server(80); IPAddress ip(192, 168, 43, 75); //Địa IP esp làm server IPAddress gateway(192,168,43,1); // gateway network IPAddress subnet(255,255,255,0); // subnet mask network void setup() { Serial.begin(115200); WiFi.config(ip, gateway, subnet); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } server.begin(); //Bắt đàu Server pinMode(ledPin, OUTPUT); mydisplay1.shutdown(0, false); mydisplay1.setIntensity(0, 15); //Đặt độ sang cho led mydisplay1.setChar(0, 0, '-', false); mydisplay1.setChar(0, 1, '-', false); mydisplay1.setChar(0, 2, '-', false); mydisplay1.setChar(0, 3, '-', false); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 89 PHỤ LỤC mydisplay1.setChar(0, 4, '-', false); mydisplay1.setChar(0, 5, ' ', false); mydisplay1.setChar(0, 6, ' ', false); mydisplay1.setChar(0, 7, 'a', false); mydisplay2.shutdown(0, false); mydisplay2.setIntensity(0, 15); mydisplay2.setChar(0, 0, '-', false); mydisplay2.setChar(0, 1, '-', false); mydisplay2.setChar(0, 2, '-', false); mydisplay2.setChar(0, 3, '-', false); mydisplay2.setChar(0, 4, '-', false); mydisplay2.setChar(0, 5, ' ', false); mydisplay2.setChar(0, 6, ' ', false); mydisplay2.setChar(0, 7, 'b', false); } void loop () { //Kết nối với esp client WiFiClient client = server.available(); if (client) { if (client.connected()) { digitalWrite(ledPin, LOW); Serial.println("."); request = client.readStringUntil('\r'); //nhận tin nhắn từ esp khac Serial.print("From client: "); Serial.println(request); client.flush(); client.println(request); //Gửi phản hồi lại cho esp client if (request == "K"){ mydisplay2.setChar(0, 6, 'o', true); mydisplay1.setChar(0, 6, 'o', true); } if (request == "C"){ mydisplay2.setChar(0, 6, ' ', false); mydisplay1.setChar(0, 6, ' ', false); } for (int j = 1; (j < 6); j++){ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 90 PHỤ LỤC String string_j = String(j, DEC); if (request == "A loi " + string_j){ mydisplay1.setDigit(0, j-1, j, false); } if (request == "B loi " + string_j){ mydisplay1.setDigit(0, j-1, j, false); } if (request == "A loi " + string_j + " Dang sua"){ mydisplay1.setDigit(0, j-1, j, true); } if (request == "B loi " + string_j + " Dang sua"){ mydisplay1.setDigit(0, j-1, j, true); } if (request == "A loi " + string_j + " Sua xong"){ mydisplay1.setChar(0, j-1, '-', false); } if (request == "B loi " + string_j + " Sua xong"){ mydisplay1.setChar(0, j-1, '-', false); } } digitalWrite(ledPin, HIGH); } client.stop(); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 91 PHỤ LỤC Chương trình trang giới thiệu đề tài web Tên file: index.php I'm HANG h1{ font-size: 24pt; text-align: center; color:red; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } h2{ font-size: 22pt; text-align: center; color: red; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } h3{ font-size: 18pt; text-align: center; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } h4{ font-size: 20pt; text-align:center; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } button{ width: 200px; height: 70px; left: 800px; float: left ; top: 0.001px; font-size: 15pt; position: relative; background-color: aqua; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } p{ font-size: 16pt; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 92 PHỤ LỤC #img{ float: center; } TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP Đề tài: Hệ thống thu thập thông tin gọi hỗ trợ sản xuất xưởng may dùng công nghệ không dâyNhấn để tiếp tục GVHD:ThS.Trương Ngọc Anh SVTH: Nguyễn Lệ Hằng 15150063 Nguyễn Thị Tươi 15141326
Chương trình trang đăng nhập Tên file: Login_form.php Log_in{ font-size: 19pt; text-align: left; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } form{ width: 500px; height: 450px; position: relative; left: 400px; top: 70px; } #ten_truong{ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 93 PHỤ LỤC float: left; width: 400px; height: 100px; border: 1px solid none; } #tac_gia{ margin-top: 130px; margin-bottom: 5px; height: 50px; border: 1px solid none; } #p1{ font-size: 12pt; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; float: right; } #p2{ font-size: 12pt; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; float: left; } function checkInput() { var name = document.forms["LoginForm"]["Name"]; var password = document.forms["LoginForm"]["Password"]; if (name.value == "") { window.alert("Please enter your name."); name.focus(); return false; } if (password.value == "") { window.alert("Please enter your password."); name.focus(); return false; } return true; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 94 PHỤ LỤC Đăng nhậpTên:
Mật khẩu: