Thiết kế chế tạo bộ điều khiển hệ thống tưới cây café từ xa qua mạng điện thoại

82 213 1
Thiết kế chế tạo bộ điều khiển hệ thống tưới cây café từ xa qua mạng điện thoại

Đ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 NHA TRANG KHOA ĐIỆN – ĐIỆN TỬ - - ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ CHẾ TẠO BỘ ĐIỀU KHIỂN HỆ THỘNG TƯỚI CÂY CAFÉ TỪ XA QUA MẠNG ĐIỆN THOẠI Giảng viên hướng dẫn: ThS Nhữ Khải Hoàn Sinh viên thực hiện: Mã số sinh viên: Nguyễn Thành Đạt 56135052 Khánh Hòa, ngày … tháng 07 năm 2018  BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA ĐIỆN – ĐIỆN TỬ - - ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ CHẾ TẠO BỘ ĐIỀU KHIỂN HỆ THỘNG TƯỚI CÂY CAFÉ TỪ XA QUA MẠNG ĐIỆN THOẠI Giảng viên hướng dẫn: ThS Nhữ Khải Hoàn Sinh viên thực hiện: Nguyễn Thành Đạt Mã số sinh viên: 56135052 Khánh Hòa, ngày … tháng 07 năm 2018  LỜI CAM ĐOAN Tôi: Nguyễn Thành Đạt xin cam đoan:  Đồ án tốt nghiệp thành từ nghiên cứu hoàn toàn thực tế sở số liệu thực tế thực theo hướng dẫn giáo viên hướng dẫn  Đồ án thực hoàn toàn mới, thành riêng tôi, không chép theo đồ án tương tự  Mọi tham khảo sử dụng đồ án trích dẫn nguồn tài liệu báo cáo danh mục tài liệu tham khảo  Mọi chép không hợp lệ, vi phạm quy chế nhà trường, xin hoàn toàn chịu trách nhiệm Tp Nha Trang, ngày….tháng….Năm 2018 Ký tên i LỜI CẢM ƠN Trong trình thực đề tài: “Thiết kế chế tạo điều khiển hệ thộng tưới café từ xa qua mạng điện thoại” em xin chân thành cảm ơn đến quý Thầy, Cô giáo môn, khoa Điện – Điện tử tận tình giảng dạy, cung cấp cho em nhiều kiến thức suốt trình học tập trường đại học Nha Trang Xin gửi lời cảm ơn sâu sắc đến Thầy giáo Nhữ Khải Hoàn trực tiếp hướng dẫn đồ án cho em Cảm ơn Thầy tận tình bảo, hướng dẫn, cung cấp tài liệu, kinh nghiệm, học quý giá tạo điều kiện thuận lợi cho em hoàn thành đồ án Em xin chân thành cảm ơn gia đình bạn bè giúp đỡ mặt tinh thần vật chất để em hồn thành tốt đồ án Một lần em xin kính chúc quý Thầy, Cô người mạnh khỏe, hạnh phúc ngày thành công sống Xin chân thành cảm ơn! Khánh Hòa,Ngày 03 Tháng 07 Năm 2018 Sinh viên thực Nguyễn Thành Đạt ii MỤC LỤC LỜI CAM ĐOAN .i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC HÌNH v DANH MỤC BẢNG vii LỜI NÓI ĐẦU CHƯƠNG I: DẪN NHẬP VÀ CƠ SỞ LÝ THUYẾT 1.1 Tổng quan tình hình nghiên cứu 1.2 Tính cấp thiết 1.3 Hướng giải 1.4 Giới hạn đề tài CHƯƠNG 2: TỔNG QUÁT VỀ HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG 2.1 Khái niệm hệ thống tự động 2.2 Vai trò tự động hóa q trình sản xuất 2.3 Ứng dụng tự động hóa tưới tiêu cho trồng 2.4 Nhiệm vụ thiết kế hệ hống tưới nước tự động 2.4.1 Tổng quan thiết kế hệ thống tưới 2.4.2 Thiết kế hệ thống tưới 10 2.4.3 Thiết kế hệ thống điện tử tự động 11 CHƯƠNG 3: GIỚI THIỆU VỀ CÁC PHẦN TRONG MẠCH ĐIỀU KHIỂN 12 3.1 Giới thiệu chung Arduino 12 3.2 Board arduino uno R3 13 3.3 Giới thiệu module relay 12VDC 17 3.4 Module thời gian thực 18 3.5 I2C LCD 21 3.6 Module Sim 800A 23 3.6.3 Khảo sát tập lệnh AT Command Module SIM800A 26 3.6 Động chiều 24VDC 35 3.7 Nguồn adaptor 35 3.8 Arduino ide lập trình cho arduino 37 CHƯƠNG IV: THIẾT KẾ, LẬP TRÌNH, THI CƠNG MẠCH TRONG THỰC TẾ 40 iii 4.1 Thiết kế 40 4.1.1 Yêu cầu thiết kế 40 4.1.2 Phương án thiết kế 40 4.2 Sơ đồ khối hệ thống 41 4.3 Sơ đồ mạch nguyên lý 42 4.3 Lưu đồ thuật toán 44 4.3 Thi công mạch 51 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN ĐỀ TÀI 58 PHỤ LỤC 59 iv DANH MỤC HÌNH Hình 2.1: Cơng nghệ đời sống Hình 2.2: Tưới tiêu sản xuất Hình 2.3: Cách bố trí thiết kế hệ thống Hình 3.1: Những thành viên khởi xướng Arduino 12 Hình 3.2 Mạch Arduino 13 Hình 3.3: Vi điều khiển Atmega328 14 Hình 3.4: Các chân Arduino 15 Hình 3.5: Module relay 12VDC 17 Hình 3.6: Module thời gian DS1307 18 Hình 3.7: Sơ đồ chân DS1307 19 Hình 3.8: Sơ đồ chân IC24c32 20 Hình 3.9: Sơ đồ nguyên lý DS1307 20 Hình 3.10: Sơ đồ nối dây Module DS1307 với Arduino 21 Hình 3.11: Hình ảnh I2C 21 Hình 3.12: Hình ảnh LCD 23 Hình 3.13: Module Sim800A 24 Hình 3.14: Sơ đồ nguyên lý Sim800A 25 Hình 3.15: Cấu hình mặc định cho SIM800A 28 Hình 3.16: cấu hình xóa tin nhắn sim 800A 29 Hình 3.17: cấu hình gọi cho sim 800A 30 Hình 3.18: cấu hình đọc tin nhắn 32 Hình 3.19: Cấu hình gửi tin nhắn 34 Hình 3.20: máy bơm nước 1,2A, 24V 35 Hình 3.21: Adaptor 24V, 1.2A 36 Hình 3.22: Giao diện app Arduino 37 Hình 3.23: ý nghĩa nút lệnh 37 Hình 3.24: Kiểm tra COM, PORT 39 Hình 4.1: Sơ đồ khối hệ thống 41 Hình 4.2: Sơ đồ mạch nguyên lý 42 Hình 4.3: Lưu đồ giải thuật chương trình 44 Hình 4.4: Lưu đồ bật tắt máy bơm nút nhấn 45 v Hình 4.5: Lưu đồ chương trình xử lý liệu từ Module Sim 46 Hình 4.6: Lưu đồ chương trình xử lý tin nhắn đến 46 Hình 4.7: Lưu đồ gửi tin nhắn 47 Hình 4.8: Lưu đồ xử lý gọi 48 Hình 4.9: Lưu đồ chương trình hẹn 49 Hình 4.10: Lưu đồ chương trình tắt máy bơm 50 Hình 4.11: Mơ hình ban đầu 51 Hình 4.12: Mơ hình hoàn thiện 51 Hình 4.13: Hình ảnh đo đạc kiểm tra mạch 52 Hình 4.14: Kiểm tra Code Arduino 53 Hình 4.15: Kiểm tra Code Thời gian thực 53 Hình 4.16: Mạch hoàn thiện 54 Hình 4.17: Kiêm tra mạch hồn thiện 54 Hình 4.18: Cú pháp tin nhắn 55 Hình 4.19: Cuộc gọi đến 56 Hình 4.20: Khi cú pháp 57 vi DANH MỤC BẢNG Bảng 3.1: Thông số kỹ thuật Arduino 14 Bảng 3.2: Thông số chức module relay 17 Bảng 3.4: Thông tin kỹ thuật Module DS1307 18 Bảng 3.5: Thông số kỹ thuật máy bơm 35 Bảng 3.6: Thông số kỹ thuật Adaptor 36 vii LỜI NÓI ĐẦU Tới nay, 62 năm sau bóng bán dẫn phát minh, linh kiện nhỏ bé tương ứng với trạng thái bật – tắt thay đổi giới có mặt thiết bị điện tử đại điện thoại di động, máy tính, máy nghe nhạc… Những máy tính điện tử ENIAC dùng ống chân khơng, tương tự bóng đèn điện, để tính tốn Máy tính đặt phòng lớn cần nhiều chuyên viên vận hành Ngày công nghệ chế tạo linh kiện bán dẫn có phát triển thực bùng nổ, đậm nét để hỗ trợ cho phát triển công nghệ thông tin, tự động hóa cơng nghiệp … Với độ tích hợp ngày cao, công suất tiêu tán bé hơn, thông minh hơn, làm thay đổi hẳn cấu trúc cơng nghiệp Chính phát triển vượt bậc cơng nghệ bán dẫn ứng dụng triệt để, khơng ngừng khoa học kĩ thuật tiên tiến làm giới thay đổi ngày theo hướng đại hơn, văn minh … Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật độ xác cao, tốc độ nhanh, gọn nhẹ Đó yếu tố cần thiết góp phần cho hoạt động người đạt hiệu cao Chính lẽ mà ngày điện tử trở thành ngành khoa học đa nhiệm vụ, đa chức Công nghệ điện tử trở thành lĩnh vực thiếu giới đại Điện tử đáp ứng nhu cầu, đòi hỏi ngày cao không ngừng từ tất lĩnh vực công – nông – ngư – nghiệp nhu cầu thiết yếu đời sống hàng ngày người Một ứng dụng quan trọng đặc trưng công nghệ điện tử kỹ thuật tự động điều khiển từ xa Nó góp phần lớn việc điều khiển thiết bị từ xa, ứng dụng rộng rãi lĩnh vực đời sống Công nghệ điện tử trở thành khâu mấu chốt hệ thống thơng tin liên lạc Các ứng dụng hệ thống thông tin liên lạc vào lĩnh vực văn hóa, kinh tế, khoa học, đặc biệt khoa học không gian ngày phổ biến rộng rãi giữ vai trò khơng thể thiếu Chính mà xã hội lồi người phát triển khơng ngừng Thêm vào năm gần đây, mạng internet phát triển mạnh mẽ, có nhiều nhà cung cấp dịch vụ đời, bên cạnh máy tính ngày có chất lượng cải tiến đồng thời giá thành vừa phải tầng lớp xã hội tạo bước ngoặt quan trọng lĩnh vực thông tin để đáp ứng nhu cầu nhiều mặt người PHỤ LỤC  Tài liệu tham khảo [1] http://giaiphaptuoi.vn/san-pham-190/dieu-khien-tu-dong/tat-mo-he-thong-tuoibang-tin-nhan-hoac-dien-thoai.html Truy cập lần cuối ngày 04-05-2018 [2] http://hshop.vn/products/mach-thoi-gian-thuc-rtc-ds1307 Truy cập lần cuối ngày 06-05-2018 [3] https://mayphunsuongdailoan.com/san-pham/bo-chuyen-nguon-adaptor-24vmay-phun-suong Truy cập lần cuối ngày 25-04-2018 [4] https://chotroihn.vn/module-ds1307-24c32-rtc-i2c-k1c5-1-17g Truy cập lần cuối ngày 18-04-2018 [5] http://linhkienhanoi.com/chi-tiet/module-relay-5v-1-kenh Truy cập lần cuối ngày 14-04-2018 [6] https://bomnuocmini.com/may-bom-phun-suong-24v Truy cập lần cuối ngày 10-04-2018 [7] https://vi.wikipedia.org/wiki/Arduino Truy cập lần cuối ngày 05-04-2018 [8] http://arduino.vn/bai-viet/1107-gioi-thieu-ve-module-lm2596-giai-thuong-tuan4v Truy cập lần cuối ngày 05-05-2018 [9] http://www.alldatasheet.com/view.jsp?Searchword=Lm2596 Truy cập lần cuối ngày 13-05-2018 [10] https://123doc.org/document/2561295-nghien-cuu-thiet-ke-che-tao-moduledong-ngat-thiet-bi-dien-qua-mang-di-dong-gsm.htm Truy cập lần cuối ngày 12-06-2018 [11] http://doc.edu.vn/tai-lieu/do-an-thiet-ke-he-thong-tuoi-cay-tu-dong-94462/ Truy cập lần cuối ngày 13-06-2018 [12] https://123doc.org/document/2488199-do-an-tot-nghiep-co-dien-tu-he-thongtuoi-cay-tu-dong-theo-do-am.htm Truy cập lần cuối ngày 10-06-2018 [13] http://arduino.vn/search/node Truy cập lần cuối ngày 10-06-2018  Code thời gian thực #include /* Địa DS1307 */ const byte DS1307 = 0x68; /* Số byte liệu đọc từ DS1307 */ const byte NumberOfFields = 7; /* khai báo biến thời gian */ int second, minute, hour, day, wday, month, year; void setup() { Wire.begin(); /* cài đặt thời gian cho module */ setTime(21, 19, 45, 6, 8, 6, 18); // 12:30:45 CN 08-02-2015 Serial.begin(9600); } void loop() { /* Đọc liệu DS1307 */ readDS1307(); /* Hiển thị thời gian Serial monitor */ digitalClockDisplay(); delay(1000); } void readDS1307() { Wire.beginTransmission(DS1307); 60 Wire.write((byte)0x00); Wire.endTransmission(); Wire.requestFrom(DS1307, NumberOfFields); second = bcd2dec(Wire.read() & 0x7f); minute = bcd2dec(Wire.read() ); hour = bcd2dec(Wire.read() & 0x3f); // chế độ 24h wday = bcd2dec(Wire.read() ); day = bcd2dec(Wire.read() ); month = bcd2dec(Wire.read() ); year = bcd2dec(Wire.read() ); year += 2000; } /* Chuyển từ format BCD (Binary-Coded Decimal) sang Decimal */ int bcd2dec(byte num) { return ((num/16 * 10) + (num % 16)); } /* Chuyển từ Decimal sang BCD */ int dec2bcd(byte num) { return ((num/10 * 16) + (num % 10)); } void digitalClockDisplay(){ // digital clock display of the time Serial.print(hour); printDigits(minute); printDigits(second); Serial.print(" "); Serial.print(day); Serial.print(" "); 61 Serial.print(month); Serial.print(" "); Serial.print(year); Serial.println(); } void printDigits(int digits){ // thành phần thời gian ngăn chách dấu : Serial.print(":"); if(digits < 10) Serial.print('0'); Serial.print(digits); } /* cài đặt thời gian cho DS1307 */ void setTime(byte hr, byte min, byte sec, byte wd, byte d, byte mth, byte yr) { Wire.beginTransmission(DS1307); Wire.write(byte(0x00)); // đặt lại pointer Wire.write(dec2bcd(sec)); Wire.write(dec2bcd(min)); Wire.write(dec2bcd(hr)); Wire.write(dec2bcd(wd)); // day of week: Sunday = 1, Saturday = Wire.write(dec2bcd(d)); Wire.write(dec2bcd(mth)); Wire.write(dec2bcd(yr)); Wire.endTransmission(); } 62  Code tưới tiêu tự động #include #include #include #include LiquidCrystal_I2C lcd(0x3f,16,2); String tin_nhan,dlgoi,dlnt; int goi=0,dem=0,g=0,bdguitin=0,guitinnhan=0,thongbaoguitinnhan=0; unsigned long thoigianbatmaybom=0; char a=34,b=0x1A; SoftwareSerial SIM800(2, 3); // RX, TX /* Địa DS1307 */ const byte DS1307 = 0x68; /* Số byte liệu đọc từ DS1307 */ const byte NumberOfFields = 7; /* khai báo biến thời gian */ int second, minute, hour, day, wday, month, year,hengio1=21,henphut1=10,thoigianhengio1=1,maybom=0; void setup() { pinMode(10, OUTPUT); pinMode(13,INPUT_PULLUP); digitalWrite(10,HIGH); hengio1=EEPROM.read(0); delay(5); henphut1=EEPROM.read(1); delay(5); thoigianhengio1=EEPROM.read(2); delay(5); delay(1000); //setTime(12, 30, 45, 1, 8, 2, 15); // 12:30:45 CN 08-02-2015 //setTime(15, 17, 45, 7, 19, 5, 18); // 12:30:45 CN 08-02-2015 Serial.begin(9600); SIM800.begin(9600); delay(500); lcd.init(); //Khởi động hình Bắt đầu cho phép Arduino sử dụng hình, giống dht.begin() chương trình trê lcd.backlight(); //Bật đèn lcd.setCursor(0,0); lcd.print("DATN"); lcd.setCursor(5,0); lcd.print("HT "); digitalWrite(10,HIGH); delay(3000); Wire.begin(); lcd.setCursor(5,1); lcd.print("HG "); lcd.print(hengio1); lcd.print(":"); lcd.print(henphut1); lcd.print(" "); lcd.print(thoigianhengio1); lcd.setCursor(0,1); lcd.print("OFF"); delay(100); // SIM800.println("AT"); // delay(100); // SIM800.println("ATE0"); // delay(100); // SIM800.println("AT+IPR=9600"); // delay(100); // SIM800.println("AT+CLIP=1"); // delay(1000); // SIM800.println("AT+CMGF=1"); // delay(1000); // SIM800.println("AT&W"); // delay(3000); // Serial.println("San sang!!!"); } void loop() { if(maybom==0) { if(digitalRead(13)==LOW) { delay(5); if(digitalRead(13)==LOW) { while(digitalRead(13)==LOW); { maybom=1; digitalWrite(10,LOW); lcd.setCursor(0,1); lcd.print("ON "); } } } } if(maybom==1) { if(digitalRead(13)==LOW) { delay(5); if(digitalRead(13)==LOW) { while(digitalRead(13)==LOW); { maybom=0; digitalWrite(10,HIGH); lcd.setCursor(0,1); lcd.print("OFF "); } } } } if(maybom==0) { /* Đọc liệu DS1307 */ readDS1307(); /* Hiển thị thời gian Serial monitor */ digitalClockDisplay(); delay(100); hengio(hengio1,henphut1); if(millis()>(thoigianbatmaybom+2000+(thoigianhengio1-1)*60000)) { digitalWrite(10,HIGH); //Serial.println("tắt may bom"); lcd.setCursor(0,1); lcd.print("OFF"); } delay(100); } if(guitinnhan==1) { SIM800.print(hengio1); SIM800.print(":"); SIM800.print(henphut1); SIM800.print(" '"); SIM800.print(thoigianhengio1); SIM800.println(b); delay(1000); guitinnhan=0; } if(bdguitin==1) { SIM800.print("AT+CMGS="); SIM800.print(a); SIM800.print("0986721296"); SIM800.println(a); bdguitin=0; thongbaoguitinnhan=1; } } void batmaybom() { //Serial.println("bat may bom"); digitalWrite(10,LOW); lcd.setCursor(0,1); lcd.print("ON "); if(g==1) { thoigianbatmaybom=millis()+58000; g=0; } else thoigianbatmaybom=millis(); } void readDS1307() { Wire.beginTransmission(DS1307); Wire.write((byte)0x00); Wire.endTransmission(); Wire.requestFrom(DS1307, NumberOfFields); second = bcd2dec(Wire.read() & 0x7f); minute = bcd2dec(Wire.read() ); hour = bcd2dec(Wire.read() & 0x3f); // chế độ 24h wday = bcd2dec(Wire.read() ); day = bcd2dec(Wire.read() ); month = bcd2dec(Wire.read() ); year = bcd2dec(Wire.read() ); year += 2000; } /* Chuyển từ format BCD (Binary-Coded Decimal) sang Decimal */ int bcd2dec(byte num) { return ((num/16 * 10) + (num % 16)); } /* Chuyển từ Decimal sang BCD */ int dec2bcd(byte num) { return ((num/10 * 16) + (num % 10)); } void digitalClockDisplay(){ // digital clock display of the time lcd.setCursor(8,0); lcd.print(" "); lcd.setCursor(8,0); lcd.print(hour); lcd.print(":"); lcd.print(minute); lcd.print(":"); lcd.print(second); } void hengio(int gio1, int phut1) { if((gio1 == hour) && (phut1 == minute)) { batmaybom(); //Serial.println("TB1_ON"); } } //////////////////// void printDigits(int digits){ // thành phần thời gian ngăn chách dấu : Serial.print(":"); if(digits < 10) Serial.print('0'); Serial.print(digits); } //////////////////////////////////////////////////////////////////////////////// /* cài đặt thời gian cho DS1307 */ void setTime(byte hr, byte min, byte sec, byte wd, byte d, byte mth, byte yr) { Wire.beginTransmission(DS1307); Wire.write(byte(0x00)); // đặt lại pointer Wire.write(dec2bcd(sec)); Wire.write(dec2bcd(min)); Wire.write(dec2bcd(hr)); Wire.write(dec2bcd(wd)); // day of week: Sunday = 1, Saturday = Wire.write(dec2bcd(d)); 70 Wire.write(dec2bcd(mth)); Wire.write(dec2bcd(yr)); Wire.endTransmission(); } void serialEvent() { while (Serial.available()) { char inchar = (char)Serial.read(); Serial.print(inchar); if(inchar=='>' && baotromguitinnhan==1) { guitinnhan=1; thongbaoguitinnhan=0; } if(inchar=='R') { inchar = (char)Serial.read(); if(inchar=='I') goi=1; } if(inchar=='@') { inchar=(char)Serial.read(); dlnt+=inchar; inchar=(char)Serial.read(); dlnt+=inchar; hengio1=dlnt.toInt(); EEPROM.write(0, hengio1); delay(5); dlnt=""; } if(inchar=='#') { inchar=(char)Serial.read(); dlnt+=inchar; inchar=(char)Serial.read(); dlnt+=inchar; henphut1=dlnt.toInt(); EEPROM.write(1, henphut1); delay(5); dlnt=""; } if(inchar=='$') { inchar=(char)Serial.read(); dlnt+=inchar; inchar=(char)Serial.read(); dlnt+=inchar; thoigianhengio1=dlnt.toInt(); EEPROM.write(2, thoigianhengio1); delay(5); dlnt=""; lcd.setCursor(8,1); lcd.print(" "); lcd.setCursor(8,1); lcd.print(hengio1); lcd.print(":"); lcd.print(henphut1); lcd.print(" "); lcd.print(thoigianhengio1); delay(5); bdguitin=1; } //} if(goi==1) { dem++; dlgoi +=inchar; if(dem==10) dlgoi=""; } if(dem==26) { goi=0; dem=0; SIM800.println("ATH"); Serial.println(dlgoi); if(dlgoi.indexOf("0986721296") != -1) { g=1; batmaybom(); } dlgoi=""; } } } ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA ĐIỆN – ĐIỆN TỬ - - ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ CHẾ TẠO BỘ ĐIỀU KHIỂN HỆ THỘNG TƯỚI CÂY CAFÉ TỪ XA QUA MẠNG ĐIỆN THOẠI Giảng... liên quan tác động qua lại lẫn để huy, tự hiệu chỉnh điều khiển hệ thống khác Hệ thống điều khiển tự động xuất ngày phổ biến như:  Hệ thống điều hồ khơng khí  Hệ thống điều chỉnh độ ẩm  Hệ thống. .. học suốt năm học vừa rồi, với tìm hiểu em thiết bị điện tử, em định xin thực đề tài: Thiết kế chế tạo điều khiển hệ thộng tưới café từ xa qua mạng điện thoại thầy Nhữ Khải Hoàn hướng dẫn Đề tài

Ngày đăng: 25/12/2018, 23:51