1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI

101 117 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 6,22 MB

Nội dung

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ BÁO CÁO ĐỜ ÁN TỐT NGHIỆP Đề tài: NGHIÊN CỨU, THIẾT KẾ MÁY BÁN HÀNG TỰ ĐỘNG ỨNG DỤNG BỘ ĐIỀU KHIỂN RASPBERRY PI Giáo viên hướng dẫn: ThS Lê Ngọc Duy Sinh viên thực hiện: Dương Viết Nguyên Mã SV: 2018606266 Lớp:2018DHCODT04 Nguyễn Tấn Ngọc Mã SV: 2018605905 Lớp:2018DHCODT03 Nguyễn Văn Sớm Mã SV: 2018606161 Lớp:2018DHCODT04 Khóa 13 Hà Nội, 2022 MƠ TẢ THIẾT BỊ Mô tả nhiệm vụ công nghệ Máy bán hàng hay máy bán hàng tự động máy tự động cung cấp các mặt hàng đồ ăn nhẹ, đồ uống, thuốc lá vé số cho người tiêu dùng sau đưa tiền mặt, thẻ tín dụng thẻ thiết kế đặc biệt vào máy Máy bán hàng tự động hiện đại phát triển Anh vào đầu năm 1880 để phát bưu thiếp Cấu trúc thiết bị Nội dung báo cáo LỜI MỞ ĐẦU MỤC LỤC CHƯƠNG GIỚI THIỆU CHUNG 1.1 Các vấn đề đặt 1.2.Tổng quan đề tài 1.3.Ý nghĩa khoa học thực tiễn đề tài 1.4 Mục tiêu nghiên cứu đề tài 1.5 Đối tượng phạm vi nghiên cứu 1.6 Phương pháp nghiên cứu CHƯƠNG TỔNG QUAN VỀ MÁY BÁN HÀNG TỰ ĐỘNG 2.1 Tổng quan máy bán hàng tự động 2.2 Tổng quan vi điều khiển camera 2.3 Phương pháp nhận dạng tiền giấy CHƯƠNG TÍNH TỐN, THIẾT KẾ MƠ HÌNH MÁY MÁY BÁN HÀNG TỰ ĐỘNG 3.1 Thiết kế hệ thống khí 3.2 Thiết kế hệ thống nhận dạng tiền 3.3 Thiết kế tích hợp hệ thống điện, hệ thống điều khiển vào máy bán hàng CHƯƠNG 4: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 4.1 Kết đạt 4.2 Định hướng phát triển LỜI MỞ ĐẦU Với sự phát triển cách mạng công nghiệp 4.0, công nghệ xử lý ảnh có bước tiến lớn Ngày nhiều cơng nghệ mới phát triển từ trí tuệ nhân tạo(Artificial Intelligence - AI) công nghệ học máy(Machine Learning) sau cơng nghệ học sâu(Deep Learning) giúp cải thiện độ thơng minh trí tuệ nhân tạo Đối với điều khiển Raspberry Pi, điều khiển đánh giá cao mảng Internet vạn vật(Internet of Things - IoT ) Từ thành đó, nhóm nhận thấy ngành trí tuệ nhân tạo phát triển nhanh chóng góp phần vào sự phát triển chung nên nhóm định chọn mảng xử lý ảnh theo dạng Neural Networks để nhận diện số loại tiền mặt Việt Nam để hoàn thành học phần “Đồ án tốt nghiệp” với đề tài “Nghiên cứu, thiết kế máy bán hàng tự động ứng dụng điều khiển Raspberry Pi.” Báo cáo trình bày chi tiết xử lý ảnh, công nghệ học sâu, mạng Neural Networks quy trình thiết kế gia cơng khí mơ hình máy bán hàng tự động Nhóm sinh viên xin gửi lời cảm ơn đến Thạc sỹ Lê Ngọc Duy hướng dẫn nhóm để nhóm hồn thành đề tài nghiên cứu Tuy nhiên trình nghiên cứu đề tài, kiến thức chuyên ngành cịn hạn chế nên nhóm vẫn cịn nhiều thiếu sót tìm hiểu, đánh giá trình bày đề tài Rất mong nhận sự quan tâm, góp ý thầy cô giảng viên môn để đề tài nhóm đầy đủ hồn chỉnh Xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2022 Sinh viên thực hiện: Dương Viết Nguyên Nguyễn Tấn Ngọc Nguyễn Văn Sớm MỤC LỤC LỜI MỞ ĐẦU DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU Chương 1: GIỚI THIỆU CHUNG 10 1.1 Tổng quan đề tài 10 1.2 Các vấn đề đặt với đề tài 10 1.3 Ý nghĩa khoa học thực tiễn đề tài 11 1.4 Phương pháp nghiên cứu 11 1.5 Giới hạn, phạm vi nghiên cứu 11 Chương 2: CƠ SỞ LÝ THUYẾT 13 2.1 Tổng quan máy bán hàng tự động 13 2.2 Tổng quan vi điều khiển camera 16 2.2.1 Raspberry Pi 16 2.2.2 Vi điều khiển Arduino 17 2.2.3 Phương thức giao tiếp Raspberry với Arduino 20 2.3 Phương pháp nhận dạng tiền giấy 20 2.3.1 Ngơn ngữ lập trình Python 20 2.3.2 Tổng quan xử lý ảnh 21 2.3.3 Deep Learning 32 2.3.4 Mạng CNN 36 2.3.5 Các cấu trúc mạng CNN phổ biến 45 Chương 3: TÍNH TỐN, THIẾT KẾ MÁY MÁY BÁN HÀNG TỰ ĐỘNG 54 3.1 Tính tốn thiết kế khí 54 3.1.1 Thiết kế module kẹp, phân loại tiền lưu trữ 54 3.1.2 Thiết kế module chứa trả sản phẩm 55 3.1.3 Khung máy bán hàng tự động 55 3.2 Tính tốn thiết kế hệ thống nhận dạng tiền 59 3.2.1 Phân tích tốn 59 3.2.2 Các bước thực hiện 60 3.3 Tính tốn thiết kế tích hợp hệ thống điện, hệ thống điều khiển vào máy bán hàng 66 Chương 4: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 72 4.1 Kết đạt 72 4.2 Hạn chế 73 4.3 Định hướng phát triển 75 DANH MỤC VỀ TÀI LIỆU THAM KHẢO 76 PHỤ LỤC 76 Code Raspberry Pi 76 Tạo sở liệu 77 Train model 78 Test 82 Code Arduino 82 Bản vẽ khí 96 Sơ đồ đấu nối thiết bị 98 DANH MỤC HÌNH ẢNH Hình 2.1 Nhà phát minh Hero of Alexandria máy bán hàng tự động giới 13 Hình 2.2 Máy bán hàng tự động ngày 14 Hình 2.3 Máy bán hàng tự động hồ Gươm (Hà Nội) 15 Hình 2.4 Raspberry Pi 16 Hình 2.5 Thông số kỹ thuật Raspberry Pi 16 Hình 2.6 Các chân tín hiệu Raspberry Pi 17 Hình 2.7 Cấu tạo Arduino 18 Hình 2.8 Giao diện phần mềm IDE 19 Hình 2.9 Biểu tượng ngơn ngữ lập trình Python 21 Hình 2.10 Hệ màu RGB 22 Hình 2.11 Chọn màu hệ RGB 22 Hình 2.12 Mathematical bridge, Cambridge 23 Hình 2.13 Tách ma trận biểu diễn màu ma trận, ma trận lưu giá trị màu 25 Hình 2.14 Vector v kích thước n, ma trận W kích thước m*n 25 Hình 2.15 Hình hộp chữ nhật kích thước a*b*h 25 Hình 2.16 Biểu diễn ảnh màu 28x28x3 26 Hình 2.17 Ảnh xám mathematical bridge 27 Hình 2.18 Biểu diễn ảnh xám 27 Hình 2.19 OpenCV 28 Hình 2.20 OpenCV nhận diện chữ viết tay 29 Hình 2.21 OpenCV nhận diện khuôn mặt 30 Hình 2.22 Sự kết hợp OpenCV – Python 31 Hình 2.23 Deep learning 33 Hình 2.24 Mạng neural networks 34 Hình 2.25 Ứng dụng Deep learning 36 Hình 2.26 Mạng thần kinh 37 Hình 2.27 Convolutional layer 37 Hình 2.28 Lớp tích chập lấy cạnh 38 Hình 2.29 Lớp tích chập làm mờ 39 Hình 2.30 Cấu trúc mạng CNN 40 Hình 2.31 Trường tiếp cận cục 41 Hình 2.32 Cách tạo hidden layer 41 Hình 2.33 Cách tạo hidden layer 42 Hình 2.34 Các hidden layer với tensor 42 Hình 2.35 Bias and variance 43 Hình 2.36 Pooling layer 44 Hình 2.37 Pooling layer 44 Hình 2.38 Kết lớp Pooling 45 Hình 2.39 Cấu trúc mạng VGG16 46 Hình 2.40 Mơ hình Resnet 47 Hình 2.41 Mơ hình GoogLeNet 48 Hình 2.42 Ứng dụng cảu MobileNet 49 Hình 3.1 Module kẹp phân loại tiền 54 Hình 3.2 Hình mơ module 55 Hình 3.3 Hình mơ khung máy 56 Hình 3.4 Biểu diễn lực tác động lên khung 57 Hình 3.5 Biểu diễn ứng suất 58 Hình 3.6 Biểu diễn chuyển vị 58 Hình 3.7 Biểu diễn hệ số an tồn 59 Hình 3.8 DroidCam 60 Hình 3.9 Dữ liệu "00000" 61 Hình 3.10 Dữ liệu "10000" 61 Hình 3.11 Dữ liệu "20000" 61 Hình 3.12 Dữ liệu gán nhãn 62 Hình 3.13 Data augumentation 63 Code Arduino //Khai báo thư viện #include #include #include LiquidCrystal_I2C lcd(0x27,16,2); //Định nghĩa các chân tín hiệu khai báo biến #define ina #define inb int dc1 = 4; int dc2 = 5; int dc3 = 6; int dc4 = 7; #define nut1 A0 #define nut2 A1 #define nut3 A2 #define nut4 A3 int vitri; unsigned int tien; String d; void setup() { //Khai báo sơ cho biến Serial.begin(9600); pinMode(ina,OUTPUT); 84 pinMode(inb,OUTPUT); pinMode(dc1,OUTPUT); pinMode(dc2,OUTPUT); pinMode(dc3,OUTPUT); pinMode(dc4,OUTPUT); pinMode(nut1, INPUT_PULLUP); pinMode(nut2, INPUT_PULLUP); pinMode(nut3, INPUT_PULLUP); pinMode(nut4, INPUT_PULLUP); digitalWrite(dc1, HIGH); digitalWrite(dc2, HIGH); digitalWrite(dc3, HIGH); digitalWrite(dc4, HIGH); tien = 0; } void loop() { //Chương trình lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Xin chao ban!"); delay(1000); lcd.clear(); lcd.print("So lan mua la "+String(tien)); 85 delay(3000); if (tien ==0) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Hay chon so"); lcd.setCursor(0, 1); lcd.print(" 1, 2, hay 4?"); while (true) { if (digitalRead(nut1) == LOW) { vitri = 1; Serial.print(1); break; } if (digitalRead(nut2) == LOW) { vitri = 2; Serial.print(1); break; } if (digitalRead(nut3) == LOW) { vitri = 3; Serial.print(1); break; } 86 if (digitalRead(nut4) == LOW) { vitri = 4; Serial.print(1); break; } } nhan: while(true){ if (Serial.available()>0) { d = Serial.readStringUntil('\r'); if (d == "10000") { tien = tien +1; digitalWrite(ina, HIGH); digitalWrite(inb, LOW); delay(2000); digitalWrite(ina, LOW); digitalWrite(inb, LOW); } else if (d == "20000") { tien = tien + 2; digitalWrite(ina, HIGH); digitalWrite(inb, LOW); 87 delay(2000); digitalWrite(ina, LOW); digitalWrite(inb, LOW); } else if (d == "50000") { tien = tien + 5; digitalWrite(ina, HIGH); digitalWrite(inb, LOW); delay(2000); digitalWrite(ina, LOW); digitalWrite(inb, LOW); } else if (d == "00000") { tien = tien +0; digitalWrite(inb, HIGH); digitalWrite(ina, LOW); delay(1000); digitalWrite(ina, LOW); digitalWrite(inb, LOW); } }} if (tien > 0) { 88 lcd.clear(); lcd.print("Dang lay "); switch(vitri) { case 1: digitalWrite(dc1, LOW); delay(3000); digitalWrite(dc1, HIGH); tien = tien -1; goto ketthuc; break; case 2: digitalWrite(dc2, LOW); delay(3000); digitalWrite(dc2, HIGH); tien = tien -1; goto ketthuc; break; case 3: digitalWrite(dc3, LOW); delay(3000); digitalWrite(dc3, HIGH); tien = tien -1; goto ketthuc; break; 89 case 4: digitalWrite(dc4, LOW); delay(3000); digitalWrite(dc4, HIGH); tien = tien -1; goto ketthuc; break; }} else { lcd.clear(); lcd.print("Vui long thu lai!"); goto nhan; } } else if (tien > 0) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Hay chon so"); lcd.setCursor(0, 1); lcd.print(" 1, 2, hay 4?"); while (true) { if (digitalRead(nut1) == LOW) { 90 vitri = 1; break; } if (digitalRead(nut2) == LOW) { vitri = 2; break; } if (digitalRead(nut3) == LOW) { vitri = 3; break; } if (digitalRead(nut4) == LOW) { vitri = 4; break; } } lcd.clear(); lcd.print("Dang lay "); switch(vitri) { case 1: digitalWrite(dc1, LOW); delay(3000); digitalWrite(dc1, HIGH); tien = tien -1; 91 break; case 2: digitalWrite(dc2, LOW); delay(3000); digitalWrite(dc2, HIGH); tien = tien -1; break; case 3: digitalWrite(dc3, LOW); delay(3000); digitalWrite(dc3, HIGH); tien = tien -1; break; case 4: digitalWrite(dc4, LOW); delay(3000); digitalWrite(dc4, HIGH); tien = tien -1; break; } ketthuc: lcd.clear(); lcd.setCursor(2,0); lcd.print("Hay lay do"); lcd.setCursor(0,1); 92 lcd.print("Cam on quy khach"); delay(2000); }} 93 94 95 Bản vẽ khí 96 97 4.3.1 Sơ đồ đấu nối thiết bị 98 ... động giảm, lợi nhuận tăng Từ lợi ích mơ hình máy bán hàng tự động ứng dụng Raspberry mang lại mà nhóm định lựa chọn đề tài ” Nghiên cứu, thiết kế máy bán hàng tự động ứng dụng điều khiển Raspberry. .. QUAN VỀ MÁY BÁN HÀNG TỰ ĐỘNG 2.1 Tổng quan máy bán hàng tự động 2.2 Tổng quan vi điều khiển camera 2.3 Phương pháp nhận dạng tiền giấy CHƯƠNG TÍNH TỐN, THIẾT KẾ MƠ HÌNH MÁY MÁY BÁN HÀNG TỰ ĐỘNG... cứu, thiết kế máy bán hàng tự động ứng dụng điều khiển Raspberry Pi. ” Báo cáo trình bày chi tiết xử lý ảnh, công nghệ học sâu, mạng Neural Networks quy trình thiết kế gia cơng khí mơ hình máy

Ngày đăng: 11/06/2022, 20:51

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Nhà phát minh Hero of Alexandria và máy bán hàng tự động đầu tiên trên thế giới  - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.1 Nhà phát minh Hero of Alexandria và máy bán hàng tự động đầu tiên trên thế giới (Trang 16)
Hình 2.3 Máy bán hàng tự động tại hồ Gươm (Hà Nội). - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.3 Máy bán hàng tự động tại hồ Gươm (Hà Nội) (Trang 18)
Hình 2.4 Raspberry Pi 3 - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.4 Raspberry Pi 3 (Trang 19)
Hình 2.6 Các chân tín hiệu trên Raspberry Pi 3 2.2.2.  Vi điều khiển Arduino  - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.6 Các chân tín hiệu trên Raspberry Pi 3 2.2.2. Vi điều khiển Arduino (Trang 20)
Hình 2.8 Giao diện phần mềm IDE - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.8 Giao diện phần mềm IDE (Trang 22)
Hình 2.12 Mathematical bridge, Cambridge - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.12 Mathematical bridge, Cambridge (Trang 26)
Hình 2.16 Biểu diễn ảnh màu 28x28x3. - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.16 Biểu diễn ảnh màu 28x28x3 (Trang 29)
Hình 2.17 Ảnh xám của mathematical bridge - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.17 Ảnh xám của mathematical bridge (Trang 30)
Hình 2.25 Ứng dụng của Deep learning - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.25 Ứng dụng của Deep learning (Trang 39)
Hình 2.26 Mạng thần kinh - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.26 Mạng thần kinh (Trang 40)
Hình 2.30 Cấu trúc mạng CNN - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.30 Cấu trúc mạng CNN (Trang 43)
Hình 2.32 Cách tạo ra một hidden layer - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.32 Cách tạo ra một hidden layer (Trang 44)
Hình 2.37 Pooling layer - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.37 Pooling layer (Trang 47)
Hình 2.36 Pooling layer - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.36 Pooling layer (Trang 47)
Hình 2.38 Kết quả của các lớp Pooling - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.38 Kết quả của các lớp Pooling (Trang 48)
Hình 2.42 Ứng dụng cảu MobileNet - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 2.42 Ứng dụng cảu MobileNet (Trang 52)
Hình 3.1 Module kẹp và phân loại tiền - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.1 Module kẹp và phân loại tiền (Trang 57)
Hình 3.2 Hình mô phỏng module - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.2 Hình mô phỏng module (Trang 58)
Hình 3.3 Hình mô phỏng khung máy - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.3 Hình mô phỏng khung máy (Trang 59)
Hình 3.4 Biểu diễn lực tác động lên khung - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.4 Biểu diễn lực tác động lên khung (Trang 60)
Hình 3.5 Biểu diễn ứng suất - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.5 Biểu diễn ứng suất (Trang 61)
Hình 3.6 Biểu diễn chuyển vị - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.6 Biểu diễn chuyển vị (Trang 61)
Hình 3.12 Dữ liệu đã gán nhãn - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.12 Dữ liệu đã gán nhãn (Trang 65)
Hình 3.15 Độ chính xác của model trên tập dữ liệu Val - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 3.15 Độ chính xác của model trên tập dữ liệu Val (Trang 67)
Hình 4.1 Sản phẩm hoàn thiện - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Hình 4.1 Sản phẩm hoàn thiện (Trang 75)
- Tính toán, thiết kế và mô phỏng hệ thống khung cơ khí 3D của mô hình trên phần mềm Solidworks - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
nh toán, thiết kế và mô phỏng hệ thống khung cơ khí 3D của mô hình trên phần mềm Solidworks (Trang 76)
Bảng 4.2 Kết quả thử nghiệm của loại tiền 20000 VND - NGHIÊN cứu, THIẾT kế máy bán HÀNG tự ĐỘNG ỨNG DỤNG bộ điều KHIỂN RASPBERRY PI
Bảng 4.2 Kết quả thử nghiệm của loại tiền 20000 VND (Trang 77)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN