ĐATN trần huy long vũ

71 4 0
ĐATN trần huy long vũ

Đ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

ĐỒ ÁN TỐT NGHIỆP Đề Tài NGHIÊN CỨU LẬP TRÌNH ĐIỀU KHIỂN CHUYỂN ĐỘNG CÁNH TAY VÀ MÁY TÍNH NHÚNG LATTERTHÔNG TIN SỬ DỤNG MÁY TÍNH NHÚNG LATTER PANDA.HUYỂN ĐỘNG CÁNH TAYHUYỂN ĐỘNG CÁNH TAYHUYỂN ĐỘNG CÁNH TAY

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP Đề Tài: NGHIÊN CỨU LẬP TRÌNH ĐIỀU KHIỂN CHUYỂN ĐỘNG CÁNH TAY VÀ KHỚP CỔ CHO ROBOT THƠNG TIN SỬ DỤNG MÁY TÍNH NHÚNG LATTER PANDA Giảng viên hướng dẫn : ThS Trịnh Thanh Nga Sinh viên thực : Trần Huy Long Vũ Lớp : 110186 Hưng Yên, tháng 06, năm 2022 LỜI CẢM ƠN Em xin chân thành cảm ơn Trường Đại học Sư phạm kỹ thuật Hưng Yên cho phép thực đề tài Cảm ơn Khoa Cơ khí Bộ môn Cơ điện tử tạo điều kiện tốt suốt trình thực đề tài Cảm ơn Th.S Trịnh Thanh Nga tận tình hướng dẫn chun mơn để nhóm thực hoàn thành đề tài nghiên cứu Em xin cảm ơn gia đình bạn bè giúp đỡ, động viên, hộ trợ em thời gian qua Tuy nhiên thời gian thực đồ án em vài thiếu sót, mong nhận ý kiến đóng góp nhiệt tình q thầy Sau em xin kính chúc tất thầy Khoa sức khỏe dồi để tiếp tục dìu dắt hệ học trị tới thành cơng Em xin chân thành cảm ơn! Sinh viên thực Trần Huy Long Vũ MỤC LỤC DANH MỤC HÌNH ẢNH Hình 3.1 Lưu đồ thuật tốn chung tốn Hình Thuật tốn truyền nhận máy tính nhúng Arduino Hình 3.3 Khai báo thư viện Hình 3.4 Khai báo sử dụng truyền thông Serial thư viện Pyserial Hình 3.5 Hàm nghe Hình 3.6 Hàm nói Hình 3.7 Lưu đồ thuật tốn điều khiển khối cử Hình 3.8 Hàm kiếm tra tín hiệu âm Hình 3.9 Gửi tín hiệu xuống Arduino Hình 3.10 Gửi tín hiệu xuống Arduino Hình 11 Khai báo Hình 12 Các chân điều khiển động Servo Hình 15 Nhận tín hiệu từ khối giao tiếp Hình 17 Điều khiển khối cử hàm chế độ CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Lý chọn đề tài Đặt vấn đề: Ngày nay, xã hội đại, khoa học kỹ thuật phát triển sống người có nhu cầu sử dụng đầy đủ thiết bị thông minh để phục vụ cho sinh hoạt cơng việc mình, điển Robot Hiện ngành phát triển vô mạnh mẽ, Robot đại thông minh Robot truyền thống đặc biệt lĩnh vực tương tác người Robot bùng nổ Mặc dù vậy, Robot nghiên cứu số quốc gia phát triển ngơn ngữ hỗ trợ ngôn ngữ thông dụng như: Anh, Nhật vv, ngơn ngữ Tiếng Việt cịn thiếu sót Chưa kể đến giá thành Robot cao với nhu cầu hỗ trợ thông tin sở trường học, bệnh viện, quan nhà nước.v.v quan trọng Vì vậy,dựa kết đạt từ đồ án trước em tìm hiểu, nghiên cứu, chọn đề tài: "Nghiên cứu lập trình điều khiển chuyển động cánh tay khớp cổ cho Robot thơng tin sử dụng máy tính nhúng latter panda " để làm đồ án tốt nghiệp Lựa chọn ứng dụng Máy tính nhúng Lattepanda lí chúng em lựa chọn đề tài tiêu ưu tiên kinh phí thấp độ xác cao 1.2 Yêu cầu đề tài - Nghiên cứu thiết kế khí cho hệ thống đảm bảo yêu cầu kích thước:  Kích thước khung bàn  Trọng lượng chi tiết linh kiện  Đảm bảo yêu cầu khí linh kiện hình thức, thẩm mỹ,  Dễ dàng lắp ráp sử dụng  Các chi tiết thiết kế phải phù hợp với giá thành 1.3 Phương pháp nghiên cứu • Thiết kế mơ hình chạy mơ • Thường xuyên trao đổi với giáo viên hướng dẫn để giải vấn đề khúc mắc • Làm việc nhóm thường xun để đạt hiệu cơng việc chia sẻ kiến thức • Tiến hành hồn thiện mơ hình • Tìm hiểu ngun lý hoạt động module thiết bị điện nhà 1.4 Mục tiêu, nhiệm vụ • Nghiên cứu thiết bị • Nghiên cứu servo • Thiết kế mạch điều khiển cho hệ thống • Mơ phỏng… • Chế tạo… • Kiểm nghiệm mạch… 1.5 Đối tượng nghiên cứu Với đề tài “ Nghiên cứu lập trình điều khiển chuyển động cánh tay khớp cổ cho robot thông tin sử dụng máy tính nhúng latter panda” em tập trung nghiên cứu vấn đề sau: • Nghiên cứu chọn lựa thiết kế thiết bị Nghiên cứu thiết kế tồn khung bàn • Ứng dụng thực tiễn đề tài CHƯƠNG 2: PHÂN TÍCH CHUYỂN ĐỘNG CÁNH TAY, GIẢI BÀI TOÀN ĐỘNG HỌC NGƯỢC VÀ CHỌN THIẾT BỊ 2.1 Các cử giao tiếp người Giao tiếp hoạt động thường xuyên diễn sống Trong nói chuyện, người thường kèm theo động tác thể Có thể nói hai phương tiện giao tiếp chủ yếu, thường gặp lời nói (ngơn ngữ) cử (phi ngơn ngữ) Cử nét mặt, ánh mắt, động tác thể… Trong tình cụ thể, cử mang ý nghĩa định Có thể nói, cử thể thứ ngôn ngữ không lời giao tiếp Nó góp phần quan trọng vào thành cơng giao tiếp, đặc biệt giao tiếp mặt đối mặt Cánh tay phận có khả di chuyển nhiều bạn trị chuyện Các tư vị trí cánh tay nói lên nhiều điều thú vị Nó giúp củng cố thơng điệp rõ ràng Nó giúp chứng minh thái độ cảm xúc với vấn đề mà người nói nói tới Hình Các cử giao tiếp người 2.2 Mơ hình hóa cánh tay Robot giải tốn động học ngược 2.2.1 Mơ hình hóa cánh tay Robot Hình 2 Mơ hình hóa cánh tay trái Robot Hình Mơ hình hóa cánh tay trái Robot 2.2.2 Giải toán động học ngược Xuất phát từ cơng thức tốn thuận (1) T4 = n  x  n y  nz  A1 A2 A3 A4  sx sy sz a x p x  a y p y   az pz    Ta có công thức tổng quátt sau: (2) Tn = Ti1Tn Nhân hai vế với Ti-1 ta có : −1 Ti −1 = ( A1 A2 Ai) −1 = Ai A A Ti Tn = T n −1 i ; Ta có : (3) −1 Ai A A Tn = T n −1 −1 i Kết hợp (1) với ta có: (4) i T n = Ai A A −1 −1 −1 n  x  n y   nz   sx sy sz a x p x  a y p y   az pz    Từ biểu thức (3) ứng với ( i ÷3 ; n =4 ) ta có: Rơbơt co bậc tự ta có 10 −1 −1 delay(1000); sv1.write(74); sv2.write(10); sv3.write(30); sv4.write(120); sv5.write(42); sv6.write(97); sv7.write(10); sv8.write(74); sv9.write(127); sv10.write(127); delay(1000); } void chedo5() /*Dang tay ôm*/ { sv1.write(20); sv2.write(64); sv3.write(24); sv4.write(120); sv5.write(42); sv6.write(103); sv7.write(64); sv8.write(20); sv9.write(127); sv10.write(127); } 57 void chedo6() /*Cool ngầu*/ { sv1.write(78); sv2.write(78); sv3.write(30); sv4.write(97); sv5.write(0); sv6.write(127); sv7.write(85); sv8.write(10); sv9.write(127); sv10.write(127); } void chedo7() /*Chỉ trái*/ { sv1.write(0); sv2.write(10); sv3.write(0); sv4.write(191); sv5.write(42); sv6.write(127); sv7.write(78); sv8.write(10); sv9.write(127); sv10.write(127); } 58 void chedo8() /*Chỉ phải*/ { sv1.write(0); sv2.write(81); sv3.write(0); sv4.write(71); sv5.write(42); sv6.write(127); sv7.write(0); sv8.write(0); sv9.write(127); sv10.write(127); } void chedo9() /*Xin chào*/ { sv1.write(64); sv2.write(64); sv3.write(64); sv4.write(120); sv5.write(42); sv6.write(127); sv7.write(0); sv8.write(0); sv9.write(127); sv10.write(127); delay(1000); sv1.write(50); 59 delay(1000); } void chedo10() /*Băn khoăn*/ { sv1.write(78); sv2.write(84); sv3.write(64); sv4.write(120); sv5.write(42); sv6.write(127); sv7.write(0); sv8.write(0); sv9.write(127); sv10.write(127); delay(1000); sv1.write(71); sv9.write(113); delay(1000); } void chedo11() /*Xin mời*/ { sv1.write(57); sv2.write(10); sv3.write(10); sv4.write(120); sv5.write(42); 60 sv6.write(113); sv7.write(10); sv8.write(71); sv9.write(155); sv10.write(155); } void chedo12() /*Oh yeah*/ { sv1.write(0); sv2.write(10); sv3.write(127); sv4.write(120); sv5.write(42); sv6.write(0); sv7.write(10); sv8.write(0); sv9.write(127); sv10.write(127); } void chedo13() /*Đầu hàng*/ { sv1.write(64); sv2.write(64); sv3.write(64); sv4.write(127); sv5.write(42); 61 sv6.write(64); sv7.write(64); sv8.write(64); sv9.write(127); sv10.write(127); } void chedo14()/*cúi mặt buồn*/ { sv1.write(0); sv2.write(10); sv3.write(0); sv4.write(127); sv5.write(0); sv6.write(127); sv7.write(0); sv8.write(0); sv9.write(127); sv10.write(127); } void chedo15()/*chỉ tay lên trời*/ { sv1.write(0); sv2.write(10); sv3.write(127); sv4.write(127); 62 sv5.write(57); sv6.write(127); sv7.write(0); sv8.write(0); sv9.write(127); sv10.write(127); } void loop() { if (Serial2.available()) { value = Serial2.read(); //Serial.write(value); } if (Serial.available()) { value = Serial.read(); //Serial1.write(value); } switch(value) 63 { case '0': chedo0(); break; case '1': chedo1(); break; case '2': chedo2(); break; case '3': chedo3(); break; case '4': chedo4(); break; case '5': chedo5(); break; case '6': chedo6(); break; case '7': chedo7(); break; case '8': chedo8(); break; case '9': chedo9(); break; case 'a': chedo10(); break; case 'b': chedo11(); break; case 'c': chedo12(); break; case 'd': chedo13(); break; case 'e': chedo14(); break; case 'f': chedo15(); break; } } 64 Chương trình điều khiển ngôn ngữ Python: import speech_recognition import time from time import sleep import pyttsx3 import speech_recognition as sr from gtts import gTTS import os import time from playsound import playsound import serial ardu= serial.Serial('COM4',9600, timeout=1) # CHE DO DIEU KHIEN CANH TAY, DAU def xerial0(): s = ardu.readline() ardu.write('0'.encode()) def xerial1(): s = ardu.readline() ardu.write('1'.encode()) def xerial2(): s = ardu.readline() ardu.write('2'.encode()) def xerial3(): s = ardu.readline() 65 ardu.write('3'.encode()) def xerial4(): s = ardu.readline() ardu.write('4'.encode()) def xerial5(): s = ardu.readline() ardu.write('5'.encode()) def xerial6(): s = ardu.readline() ardu.write('6'.encode()) def xerial7(): s = ardu.readline() ardu.write('7'.encode()) def xerial8(): s = ardu.readline() ardu.write('8'.encode()) def xerial9(): s = ardu.readline() ardu.write('9'.encode()) def xeriala(): 66 s = ardu.readline() ardu.write('a'.encode()) def xerialb(): s = ardu.readline() ardu.write('b'.encode()) def xerialc(): s = ardu.readline() ardu.write('c'.encode()) def xeriald(): s = ardu.readline() ardu.write('d'.encode()) def xeriale(): s = ardu.readline() ardu.write('e'.encode()) def xerialf(): s = ardu.readline() ardu.write('f'.encode()) def assistant(): noi("""Xin chào bạn Tôi robot hỗ trợ thông tin :) Sẽ thật tuyệt biết tên bạn Bạn tên nhỉ?""") 67 ten = get_you() listten = ten.split() name = listten[-1] if name: listname = ['Trợ lý hân hạnh trợ giúp cho bạn {}'.format(name), 'Chào bạn {} Bạn cần Trợ lý giúp nào?'.format(name), 'Rất vui gặp {} Tơi giúp cho bạn?'.format(name)] a = random.choice(listname) xerial1() xerialu() noi(a) while True: you = get_you() if not you: break elif "robot ngu" in you or "dốt" in you or "đần độn" in you or "kém" in you: listngu = ['Bạn làm buồn Tôi HƠI HƠI ngu thật','Chỉ chút mà Tôi thông minh ', 'Tôi học hỏi thông minh bạn hihi'] ngu = random.choice(listngu) xeriale() xerialv() noi(ngu) elif "có đẹp khơng" in you or "đẹp trai khơng" in you or "xinh không" in you or "xinh gái không" in you: xeriald() xerialt() 68 noi('Thầy trẻ trung phong độ lắm.') elif "điên" in you or "dở" in you or "hâm" in you or "thần kinh" in you: listcrazy = ['Đôi phải khùng khùng chút đời vui hihi','Có lé đến lúc tìm trợ giúp từ bệnh viện rồi.', 'Chắc chắn điên Nhưng đáng yêu '] crazy = random.choice(listcrazy) xeriala() xerialv() noi(crazy) elif "bạn đẹp" in you or "bạn thật tuyệt" in you or "bạn giỏi lắm" in you or "Robot giỏi lắm" in you or "rất tốt" in you: xerial6() xeriali() noi("Không đẹp đâu, tơi cịn ngầu đấy!") elif "tơi xin lỗi" in you or "xin lỗi bạn" in you or "xin lỗi robot" in you: xerial5() xeriali() noi("tôi muốn ôm bạn") elif "ôm" in you or "tôi muốn ôm" in you or "ôm đi" in you: listhug = ['ôm nào','lại nào','tôi muốn ôm bạn nha '] hug = random.choice(listhug) xerial5() xeriali() noi(hug) elif "giận đi" in you or "hờn đi" in you or "dỗi đi" in you: listemt = ['đã dỗi thật','bạn khơng thích tơi gì','được thơi mặt buồn'] 69 emt = random.choice(listemt) xerial2() xerialw() noi(emt) elif "bạn nhất" in you or "bạn mười điểm" in you or "bạn 10 điểm" in you: listvodoi = ['tơi cịn phải học hỏi bạn nhiều','khơng dám, cảm ơn bạn, hihi','mình số hai khơng số một'] vodoi = random.choice(listvodoi) xerialf() xerialt() noi(vodoi) elif "chào cờ đi" in you or "có biết chào cờ khơng" in you: listchaoco = ['Đồn qn việt nam đi, chung đường cứu nước','nghiêm '] chaoco = random.choice(listchaoco) xerial3() noi(chaoco) elif "tôi đây" in you or "tôi nha" in you or "tôi nhé" in you: listxinmoi = ['xin mời', 'rất hân hạnh phục vụ'] xinmoi = random.choice(listxinmoi) xerialb() noi(xinmoi) elif "trái đâu" in you or "chỉ bên trái" in you: xerial7() noi("là bên nè") elif "phải đâu" in you or "chỉ bên phải" in you or "thế bên phải" in you: xerial7() 70 noi("Đương nhiên bên lại rồi") elif "tạm biệt" in you or "ngủ thôi" in you: xerial9() xerialu() stop() xerial0() break elif "có thể làm gì" in you or "chức trợ lý" in you: help_me() elif "chào robot" in you or "xin chào robot"in you or "xin chào" in you: xerial9() xerialt() hello(name) assistant 71 ... dồi để tiếp tục dìu dắt hệ học trị tới thành cơng Em xin chân thành cảm ơn! Sinh viên thực Trần Huy Long Vũ MỤC LỤC DANH MỤC HÌNH ẢNH Hình 3.1 Lưu đồ thuật tốn chung tốn Hình Thuật tốn truyền nhận... CHƯƠNG 2: PHÂN TÍCH CHUYỂN ĐỘNG CÁNH TAY, GIẢI BÀI TOÀN ĐỘNG HỌC NGƯỢC VÀ CHỌN THIẾT BỊ 2.1 Các cử giao tiếp người Giao tiếp hoạt động thường xuyên diễn sống Trong nói chuyện, người thường kèm... trọng vào thành cơng giao tiếp, đặc biệt giao tiếp mặt đối mặt Cánh tay phận có khả di chuyển nhiều bạn trị chuyện Các tư vị trí cánh tay nói lên nhiều điều thú vị Nó giúp củng cố thơng điệp rõ

Ngày đăng: 23/06/2022, 19:34

Hình ảnh liên quan

Hình 2.1 Các cử chỉ cơ bản trong giao tiếp của con người - ĐATN trần huy long vũ

Hình 2.1.

Các cử chỉ cơ bản trong giao tiếp của con người Xem tại trang 8 của tài liệu.
2.2 Mô hình hóa cánh tay Robot và giải bài toán động học ngược 2.2.1 Mô hình hóa cánh tay Robot - ĐATN trần huy long vũ

2.2.

Mô hình hóa cánh tay Robot và giải bài toán động học ngược 2.2.1 Mô hình hóa cánh tay Robot Xem tại trang 9 của tài liệu.
Hình 2.2 Mô hình hóa cánh tay trái của Robot - ĐATN trần huy long vũ

Hình 2.2.

Mô hình hóa cánh tay trái của Robot Xem tại trang 9 của tài liệu.
Các góc của động cơ trong từng chế độ được mô tả trong bảng sau(đơn vị : Chế độĐộng cơ 1Động cơ2Động cơ3Động cơ4Độngcơ 5Động cơ6Động cơ7Động cơ8Động cơ9 Độngcơ 10 - ĐATN trần huy long vũ

c.

góc của động cơ trong từng chế độ được mô tả trong bảng sau(đơn vị : Chế độĐộng cơ 1Động cơ2Động cơ3Động cơ4Độngcơ 5Động cơ6Động cơ7Động cơ8Động cơ9 Độngcơ 10 Xem tại trang 18 của tài liệu.
Hình 2.4 Sơ đồ khối toàn mạch - ĐATN trần huy long vũ

Hình 2.4.

Sơ đồ khối toàn mạch Xem tại trang 19 của tài liệu.
Hình 2.5 Động cơ DC servo có chổi than. - ĐATN trần huy long vũ

Hình 2.5.

Động cơ DC servo có chổi than Xem tại trang 23 của tài liệu.
Hình 2.6 Cấu tạo động cơ AC servo - ĐATN trần huy long vũ

Hình 2.6.

Cấu tạo động cơ AC servo Xem tại trang 24 của tài liệu.
Hình 2.7 Điều khiển servo bằng adruino - ĐATN trần huy long vũ

Hình 2.7.

Điều khiển servo bằng adruino Xem tại trang 25 của tài liệu.
Hình 2.8 DC Servo LD-27MG - ĐATN trần huy long vũ

Hình 2.8.

DC Servo LD-27MG Xem tại trang 26 của tài liệu.
Hình 2 .9 Máy tính nhúng Raspberry Pi. - ĐATN trần huy long vũ

Hình 2.

9 Máy tính nhúng Raspberry Pi Xem tại trang 28 của tài liệu.
Hình 2. 10 Máy tính nhúng Latter Panda. - ĐATN trần huy long vũ

Hình 2..

10 Máy tính nhúng Latter Panda Xem tại trang 29 của tài liệu.
Hình 2. 12 Latter trong điều khiển robot. - ĐATN trần huy long vũ

Hình 2..

12 Latter trong điều khiển robot Xem tại trang 31 của tài liệu.
Hình 2.11 Latter Panda làm việc như PC. - ĐATN trần huy long vũ

Hình 2.11.

Latter Panda làm việc như PC Xem tại trang 31 của tài liệu.
Hình 2. 14 Latter Panda alpha A800s - ĐATN trần huy long vũ

Hình 2..

14 Latter Panda alpha A800s Xem tại trang 32 của tài liệu.
Hình 2. 13 Latter trong giám sát. - ĐATN trần huy long vũ

Hình 2..

13 Latter trong giám sát Xem tại trang 32 của tài liệu.
Hình 2. 15 Sơ đồ chân Latter - ĐATN trần huy long vũ

Hình 2..

15 Sơ đồ chân Latter Xem tại trang 34 của tài liệu.
Hình 2. 16 Ắc quy Chilwee 6-DZM-20 12V 20AH - ĐATN trần huy long vũ

Hình 2..

16 Ắc quy Chilwee 6-DZM-20 12V 20AH Xem tại trang 35 của tài liệu.
Hình 2. 17 Module Buck DC-DC 15A 200W - ĐATN trần huy long vũ

Hình 2..

17 Module Buck DC-DC 15A 200W Xem tại trang 36 của tài liệu.
Hình 2. 18 Sơ đồ kết nối mạch điều khiển - ĐATN trần huy long vũ

Hình 2..

18 Sơ đồ kết nối mạch điều khiển Xem tại trang 37 của tài liệu.
Hình 2. 20 Mạch in toàn mạch - ĐATN trần huy long vũ

Hình 2..

20 Mạch in toàn mạch Xem tại trang 38 của tài liệu.
Hình 2. 19 Sơ đồ kết nối trên mạch in - ĐATN trần huy long vũ

Hình 2..

19 Sơ đồ kết nối trên mạch in Xem tại trang 38 của tài liệu.
Hình 3.1 Lưu đồ thuật toán chung của bài toán. - ĐATN trần huy long vũ

Hình 3.1.

Lưu đồ thuật toán chung của bài toán Xem tại trang 40 của tài liệu.
Hình 3.2 Thuật toán truyền nhận giữa máy tính nhúng và Arduino - ĐATN trần huy long vũ

Hình 3.2.

Thuật toán truyền nhận giữa máy tính nhúng và Arduino Xem tại trang 45 của tài liệu.
Hình 3.3 Khai báo thư viện. - ĐATN trần huy long vũ

Hình 3.3.

Khai báo thư viện Xem tại trang 46 của tài liệu.
Hình 3.4 Khai báo sử dụng truyền thông Serial và thư viện Pyserial. - ĐATN trần huy long vũ

Hình 3.4.

Khai báo sử dụng truyền thông Serial và thư viện Pyserial Xem tại trang 46 của tài liệu.
Hình 3.6 Hàm nói 3.4.1.5 Điều khiển khối cử chỉ - ĐATN trần huy long vũ

Hình 3.6.

Hàm nói 3.4.1.5 Điều khiển khối cử chỉ Xem tại trang 47 của tài liệu.
Hình 3.9 Gửi tín hiệu xuống Arduino - ĐATN trần huy long vũ

Hình 3.9.

Gửi tín hiệu xuống Arduino Xem tại trang 48 của tài liệu.
Hình 3.8 Hàm kiếm tra tín hiệu âm thanh - ĐATN trần huy long vũ

Hình 3.8.

Hàm kiếm tra tín hiệu âm thanh Xem tại trang 48 của tài liệu.
Hình 3.10 Gửi tín hiệu xuống Arduino 3.4.2 Lập trình cho khối cử chỉ(trên Arduino) - ĐATN trần huy long vũ

Hình 3.10.

Gửi tín hiệu xuống Arduino 3.4.2 Lập trình cho khối cử chỉ(trên Arduino) Xem tại trang 49 của tài liệu.
Hình 3. 14 Điều khiển khối cử chỉ bằng các hàm chế độ - ĐATN trần huy long vũ

Hình 3..

14 Điều khiển khối cử chỉ bằng các hàm chế độ Xem tại trang 51 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan