(Luận văn thạc sĩ) thiết kế và thi công mô hình điều khiển các thiết bị điện trong nhà

119 6 0
(Luận văn thạc sĩ) thiết kế và thi công mô hình điều khiển các thiết bị điện trong nhà

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỆN TỬ TRUYỀN THÔNG THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ GVHD:NGUYỄN TRƯỜNG AN SVTH: NGUYỄN VĂN PHÚC MSSV: 14141387 SKL007229 Tp Hồ Chí Minh, tháng 08/2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍMINH KHOA ĐÀO TẠO CHẤT LƯƠNGG̣ CAO ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ SVTH : NGUYỄN TRƯỜNG AN MSSV : 14141387 Khoá : 2014 Ngành : CNKT ĐIỆN TỬ TRUYỀN THÔNG GVHD: ThS NGUYỄN VĂN PHÚC Tp Hồ ChíMinh, tháng năm 2020 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tư ̣do – Hạnh phúc *** Tp Hồ Chí Minh, ngày 12 tháng năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Trường An MSSV: 14141387 Ngành: CNKT Điện Tử Truyền Thông Lớp: 14141CLVT Giảng viên hướng dẫn: ThS.Nguyễn Văn Phúc ĐT: 0378989583 Ngày nhận đề tài: 26/3/2020 Ngày nộp đề tài: 12/8/2020 Tên đề tài: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ Các số liệu, tài liệu ban đầu: - Sử dụng Smartphone Sử dụng Arduino Mega 2560 Sử dụng Node MCU ESP8266 Sử dụng ESP8266 Sử dụng hai LCD 16x2 + I2C Sử dụng RFID Sử dụng Keypad Sử dụng cảm biến chuyển động,cảm biến quang,hồng ngoại,khí gas,cháy,độ ẩm Sử dụng ba module Relay kênh Sử dụng hai Servo Sử dụng mười nút nhấn hai chân hai nút nhấn bập bên Nội dung thưc̣ đề tài: - Tìm hiểu giao tiếp ESP8266 Arduino Mega 2560 Blynk - Tìm hiểu giao tiếp Node MCU ESP 8266 với Blynk - Tìm hiểu cách cập nhật liệu đồng liệu từ phần cứng với Blynk - Thiết kế thi cơng mơ hình điều khiển - Chỉnh sửa hồn thiện mơ hình - Đánh giá kết thực Sản phẩm: - Hệ thống đạt yêu cầu đề Hệ thống có tính ổn định TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tư ̣do – Hạnh phúc *** -Tp Hồ Chí Minh, ngày 12 tháng năm 2020 ́ PHIÊU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN +Họ vàtên Sinh viên: Nguyễn Trường An MSSV: 14141387 Ngành: CNKT Điện Tử Truyền Thông Tên đề tài: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ Họ vàtên Giáo viên hướng dẫn: ThS.Nguyễn Văn Phúc NHÂṆ XÉT Về nội dung đề tài & khối lượng thưc̣ hiện: Ưu điểm: Khuyết điểm: Đề nghi c ̣ ho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng Giáo viên hướng dẫn (Ký & ghi rõ họ tên) năm 20… CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* ́ PHIÊU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ vàtên Sinh viên: Nguyễn Trường An MSSV: 14141387 Ngành: CNKT Điện Tử Truyền Thông Tên đề tài: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ Họ vàtên Giáo viên phản biện: ThS.Nguyễn Ngô Lâm NHÂṆ XÉT Về nội dung đề tài & khối lượng thưc̣ hiện: Ưu điểm: Khuyết điểm: Đề nghi c̣ ho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 20… Giáo viên phản biện (Ký & ghi rõ họ tên) LỜI CẢM ƠN Để hoàn thành tốt đồ án tốt nghiệp, em xin gửi lời chân thành cảm ơn thầy cô Khoa Đào Tạo Chất Lượng Cao tạo điều kiện tốt cho em hoàn thành đề tài Đặc biệt em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Văn Phúc trực tiếp hướng dẫn tận tình giúp đỡ tạo điều kiện để hoàn thành tốt đề tài Cuối em xin gửi lời cảm ơn đến gia đình, chổ dựa nguồn động viên tinh thần giúp em vượt qua khó khăn học tập q trình nghiên cứu để hồn thành đồ án tốt nghiệp Em xin chân thành cảm ơn ! i TĨM TẮT Ngày nay, việc ứng dụng cơng nghệ thơng tin vào việc quản lý nhằm góp phần phục vụ nâng cao chất lượng sống người ngày trọng nhiều Từ đó, việc đời ứng dụng thiết bị thơng minh, có kết nối internet nhằm thuận tiện cho việc theo dõi điều khiển thiết bị nhà phát triển theo Từ nhu cầu thực tế đó, người thực định thực đề tài: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ Đề tài sử dụng điện thoại thông minh kết hợp với dụng ứng dụng Blynk có kết nối Internet để điều khiển thiết bị đèn, quạt thông qua NodeMCU ESP8266 Arduino Mega2560 Hệ thống có hiển thị thơng số nhiệt độ, độ ẩm LCD cập nhật thơng số ứng dụng giúp người sử dụng dễ giám sát nhiệt độ, độ ẩm nhà Về khả bảo mật hệ thống cịn có mở cửa bằng thẻ từ RFID sử dụng Keypad để nhập mật mã, muốn vào cửa phải quẹt thẻ để mở cửa, thẻ hay quên thẻ có thẻ nhập mật mã để vào, quẹt thẻ hay nhập mật mã sai lần hệ thống khóa 60s đồng thời phát tiếng “bíp” để cảnh báo Còn khả giám sát an tồn cháy nổ hệ thống cịn có khả gửi tin nhắn phát có khí Gas rò rỉ đồng thời bật quạt hút khí Gas đồng thời thực gọi thơng báo có cháy xảy ii { delay(100); if (digitalRead(BUTTON4) != 0) { VIRTUAL_PIN4 = !VIRTUAL_PIN4; digitalWrite(OUT4, VIRTUAL_PIN4); Blynk.virtualWrite(V4, VIRTUAL_PIN4); Serial.println("In Here" + String(VIRTUAL_PIN4)); } } if (digitalRead(BUTTON5) == 0) { delay(100); if (digitalRead(BUTTON5) != 0) { VIRTUAL_PIN5 = !VIRTUAL_PIN5; digitalWrite(OUT5, VIRTUAL_PIN5); Blynk.virtualWrite(V5, VIRTUAL_PIN5); Serial.println("In Here" + String(VIRTUAL_PIN5)); } } if (digitalRead(BUTTON6) == 0) { delay(100); if (digitalRead(BUTTON6) != 0) { VIRTUAL_PIN6 = !VIRTUAL_PIN6; digitalWrite(OUT6, VIRTUAL_PIN6); Blynk.virtualWrite(V6, VIRTUAL_PIN6); Serial.println("In Here" + String(VIRTUAL_PIN6)); 87 } } if (digitalRead(BUTTON7) == 0) { delay(100); if (digitalRead(BUTTON7) != 0) { VIRTUAL_PIN7 = !VIRTUAL_PIN7; digitalWrite(OUT7, VIRTUAL_PIN7); Blynk.virtualWrite(V7, VIRTUAL_PIN7); Serial.println("In Here" + String(VIRTUAL_PIN7)); } } if ((digitalRead(BUTTON8) == 0)||(digitalRead(hongngoai)==0)) { delay(100); if ((digitalRead(BUTTON8) != 0)||(digitalRead(hongngoai)!=0)) { VIRTUAL_PIN8 = !VIRTUAL_PIN8; digitalWrite(OUT8, VIRTUAL_PIN8); Blynk.virtualWrite(V8, VIRTUAL_PIN8); Serial.println("In Here" + String(VIRTUAL_PIN8)); delay(2000); } } if (digitalRead(BUTTON9) == 0) { delay(100); if (digitalRead(BUTTON9) != 0) { 88 VIRTUAL_PIN9 = !VIRTUAL_PIN9; Blynk.virtualWrite(V9, VIRTUAL_PIN9); digitalWrite(OUT9, !VIRTUAL_PIN9); digitalWrite(OUT10,VIRTUAL_PIN9); delay(2500); digitalWrite(OUT9, VIRTUAL_PIN9); digitalWrite(OUT10,VIRTUAL_PIN9); Serial.println("In Here" + String(VIRTUAL_PIN9)); } } if (digitalRead(BUTTON10) == 0)// DIEU KHIEN CUA CONG { delay(100); if (digitalRead(BUTTON10) != 0) { if(c==0){ c=1; servo.write(90); VIRTUAL_PIN10 = !VIRTUAL_PIN10; Blynk.virtualWrite(V10, VIRTUAL_PIN10); Serial.println("In Here" + String(VIRTUAL_PIN10)); } else { c=0; servo.write(0); VIRTUAL_PIN10 = !VIRTUAL_PIN10; Blynk.virtualWrite(V10, VIRTUAL_PIN10); Serial.println("In Here" + String(VIRTUAL_PIN10)); } } 89 } if (digitalRead(BUTTON11) == 0)// DIEU KHIEN CUA CONG { delay(100); if (digitalRead(BUTTON11) != 0) { VIRTUAL_PIN11 = !VIRTUAL_PIN11; digitalWrite(OUT11, VIRTUAL_PIN11); Blynk.virtualWrite(V11, VIRTUAL_PIN11); Serial.println("In Here" + String(VIRTUAL_PIN11)); } } } 90 CODE ARDUINO NANO #include #define SERVO_PIN Servo gServo; //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell /* Sambungan Module RFID RC-522 ke Arduino * MOSI: Pin 11 * MISO: Pin 12 * SCK : Pin 13 * SS/SDA: Pin 10 * RST: Pin * RQ: Tidak digunakan */ //#include #include // i2C Conection Library #include //Memanggil i2C LCD Library #include //http://www.arduino.cc/playground/uploads/Code/Password.zip #include //http://www.arduino.cc/playground/uploads/Code/Keypad.zip #include #include 91 #define SS_PIN 10 #define RST_PIN RFID rfid(SS_PIN,RST_PIN); int serNum[5]; //Variable buffer Scan Card int cards[][5] = { //ID Kartu yang diperbolehkan masuk {233,250,219,110,166},{153,216,163,110,140} }; bool access = false; LiquidCrystal_I2C lcd(0x27, 16, 2); Password password = Password("1234"); //< TULIS PASSWORD SISTEM ANDA DISINI const byte ROWS = 4; // Four rows const byte COLS = 4; // columns // Define the Keymap char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = { 6,5,4,3 };// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins byte colPins[COLS] = { A3,A2,A1,A0, };// Connect keypad COL0, COL1 and COL2 to these Arduino pins 92 // Create the Keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); const int buzzer = 7; //Passive buzzer ke Pin D7 dan GND int alarm = 0; uint8_t alarmStat = 0; uint8_t maxError = 5; unsigned long previousMillis = 0; const long interval = 1000; uint8_t pwMode=0; uint8_t pwPos=0; void setup(){ Serial.begin(9600); lcd.begin(); SPI.begin(); rfid.init(); keypad.addEventListener(keypadEvent); //add an event listener for this keypad gServo.attach(SERVO_PIN); gServo.write(0); tone (buzzer,1200); lcd.setCursor (0,0); lcd.print(F(" RFID System ")); lcd.setCursor (0,1); 93 lcd.print(F(" Control Access ")); delay (2000); lcd.clear(); noTone (buzzer); } void loop(){ keypad.getKey(); //Reading Keypad if (alarm >= maxError){ alarmStat = 1; } if (alarmStat == && pwMode == 0){ lcd.setCursor (0,0); lcd.print(F(" -System Ready- ")); unsigned long currentMillis = millis(); //Membuat perubahan tulisan pada LCD tanpa menggunakan delay //Pada sistem stanby sama sekali tidak boleh ada delay untuk menghindari Keypad NGADAT if (currentMillis - previousMillis >= interval) { //previousMillis = currentMillis; lcd.setCursor (0,1); lcd.print(F(" Scan Your Card ")); } if (currentMillis - previousMillis >= (2*interval)) { previousMillis = currentMillis; lcd.setCursor (0,1); lcd.print(F(" Enter Password ")); 94 } if(rfid.isCard()){ if(rfid.readCardSerial()){ Serial.print(rfid.serNum[0]); Serial.print(" "); Serial.print(rfid.serNum[1]); Serial.print(" "); Serial.print(rfid.serNum[2]); Serial.print(" "); Serial.print(rfid.serNum[3]); Serial.print(" "); Serial.print(rfid.serNum[4]); Serial.println(""); for(int x = 0; x < sizeof(cards); x++) { for(int i = 0; i < sizeof(rfid.serNum); i+ + ){ if(rfid.serNum[i] != cards[x][i]) { access = false; break; } else { access = true; } } if(access) break; } } if(access){ 95 Serial.println("Welcome!"); lcd.setCursor (0,0); lcd.print(F(" Access Accepted ")); lcd.setCursor (0,1); lcd.print("ID:"); lcd.print(rfid.serNum[0]); lcd.print(rfid.serNum[1]); lcd.print(rfid.serNum[2]); lcd.print(rfid.serNum[3]); lcd.print(rfid.serNum[4]); ACCEPT (); } else { alarm = alarm+1; Serial.println("Not allowed!"); lcd.setCursor (0,0); lcd.print(F(" Access Denied ")); lcd.setCursor (0,1); lcd.print("ID:"); lcd.print(rfid.serNum[0]); lcd.print(rfid.serNum[1]); lcd.print(rfid.serNum[2]); lcd.print(rfid.serNum[3]); lcd.print(rfid.serNum[4]); RIJECT (); } } //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell rfid.halt(); } 96 if (alarmStat == 1) { lcd.setCursor (0,0); lcd.print(F("-System LOCKED- ")); lcd.setCursor (0,1); lcd.print(F(" Please Wait ")); for(int i=60; i>0; i ){ tone (buzzer,1800); lcd.setCursor (13,1); lcd.print(i); lcd.print(F(" "));delay (1000);} noTone (buzzer); alarmStat = 0; alarm = 0; } } //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell void keypadEvent(KeypadEvent eKey){ switch (keypad.getState()){ case PRESSED: Serial.print("Pressed: "); Serial.println(eKey); pwMode =1; pwPos=pwPos+1; if(pwPos==1){lcd.clear();} lcd.setCursor (0,0); lcd.print(F("Password Entered")); if(pwPos0; i ){ lcd.setCursor (15,1); lcd.print(i); delay (1000); } gServo.write(0); pwMode =0; 99 lcd.clear();} //Coding berikut dibuat oleh Dani untuk www.belajarduino.com //Semoga bermanfaat bagi yang sedang belajar RFID system //Support by RAJACELL - BEKASI //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell void RIJECT () { tone (buzzer,900); delay(200); noTone(buzzer); delay(200); tone (buzzer,900); delay(200); noTone (buzzer); delay(500); pwMode =0; lcd.clear(); } 100 ... dõi điều khiển thi? ??t bị nhà phát triển theo Từ nhu cầu thực tế đó, người thực định thực đề tài: THI? ??T KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN CÁC THI? ??T BỊ ĐIỆN TRONG NHÀ Đề tài sử dụng điện thoại... người điều khiển biết tình trang hoạt động thi? ??t bị Hệ thống hoạt động 24/24 đảm bảo cho thi? ??t bị điều khiển “mọi lúc,mọi nơi” Từ thực tế nhu cầu ngày cao việc điều khiển giám sát thi? ??t bị điện nhà. .. tài: ? ?THI? ??T KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN CÁC THI? ??T BỊ ĐIỆN TRONG NHÀ” 1.2 TÍNH CẤP THI? ??T CỦA ĐỀ TÀI Đề tài đề cập đến vấn đề tự động hóa, tiện dụng thời buổi cơng nghệ, việc quản lý thi? ??t

Ngày đăng: 30/12/2021, 16:39