Mục lục:
- Bước 1: Chuẩn bị cơ sở
- Bước 2: Lắp ráp bánh xe
- Bước 3: Gắn bánh xe vào đế
- Bước 4: Chuẩn bị Pi
- Bước 5: Gắn Bảng điều khiển
- Bước 6: Bắt đầu xây dựng cơ thể Lego
- Bước 7: Chuẩn bị Pi
- Bước 8: Cài đặt phần mềm trên Pi
- Bước 9: Cài đặt phần mềm Robot
- Bước 10: Cài đặt Phần mềm Bộ điều khiển và Kiểm tra Tất cả Hoạt động
- Bước 11: Chuẩn bị Webcam và đèn LED
- Bước 12: Tạo phần đầu bằng Nose-cam và đèn
- Bước 13: Hoàn thiện phần thân
- Bước 14: Gắn đầu
- Bước 15: Kiểm tra đèn LED và Cam mũi
- Bước 16: Hoàn thiện
- Bước 17: Chúc bạn vui vẻ
Video: Dog Bot: Lego Robot Rover Với Webcam: 17 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Dưới đây là cách làm một robot Lego mà bạn có thể điều khiển từ bất kỳ màn hình nào qua wifi. Nó cũng có một webcam để bạn có thể xem nơi bạn đang đi và đèn LED cho mắt! Đây là một dự án tuyệt vời để làm với con bạn vì chúng có thể xây dựng logo và bạn có thể lôi kéo chúng tham gia vào nhiều thiết bị điện tử mà chúng hài lòng. có thể dễ dàng tháo rời và thiết kế lại. Tôi thấy nó hữu ích, khi tôi gặp khó khăn để bắt đầu lại. Khi bạn đã làm điều này một vài lần, việc xây dựng lại từ đầu khá dễ dàng và nhanh chóng. Điều tuyệt vời về điều này là bạn không cần phải lo lắng về việc "phá vỡ" bất cứ thứ gì vì bạn sẽ phát triển các kỹ năng để dễ dàng xây dựng lại.
Những gì bạn cần
- Raspberry Pi B +
- Bộ cơ sở và động cơ
- Tấm đế Lego
- Keo siêu bền công nghiệp
- Máy khoan
- Con dao thủ công
- Thiết bị hàn
- thẻ SD
- Đầu đọc thẻ SD
- Bộ điều khiển động cơ
- 2 đèn LED
- Webcam giá trung bình (bạn có thể thử một cái giá rẻ)
- PC và máy tính bảng / điện thoại
- Bộ định tuyến Wi-Fi mà bạn có quyền truy cập quản trị vào
- Rất nhiều mảnh Lego
- Sạc điện thoại khẩn cấp
- 4 dây nhảy mỗi dây có ít nhất 1 đầu nối cái
- 4 pin AA (có thể sạc lại là tốt)
Bước 1: Chuẩn bị cơ sở
Tôi bắt đầu với một đế và 2 động cơ giống như động cơ này được đặt tại Amazon
Lấy đế cá nhân và dán một tấm đế Lego mỏng lên đó. Tôi đã sử dụng keo siêu bền công nghiệp để làm khô trong vài phút và siêu bền. Khi keo đã cố định, hãy cắt bỏ tấm đế Lego thừa sao cho nó theo đường của tấm đế cá tính. sau đó khoan lỗ xuyên qua tấm Lego khớp với đế perspex. Tôi khoan lỗ khi cần và khi cần. Bây giờ bạn đã có nền tảng để xây dựng cấu trúc Lego cho mình.
Bước 2: Lắp ráp bánh xe
Bây giờ lắp ráp các bánh xe. Làm theo hướng dẫn của nhà sản xuất tại đây. Bánh xe tôi mua có tất cả các hướng dẫn bằng tiếng Trung Quốc, tôi không thể đọc được, nhưng nó khá dễ dàng để tìm ra từ hình ảnh. Sau khi lắp ráp, gắn các dây vào động cơ bằng một vết hàn nhỏ.
Bước 3: Gắn bánh xe vào đế
Tiếp theo gắn các bánh xe lên tấm đế, bạn có thể khoan lỗ trên đế nếu cần. Có thể bạn sẽ phát hiện ra ở phần cuối của dự án rằng bạn muốn dây dẫn qua đế ở một nơi khác, nhưng bạn luôn có thể khoan một lỗ mới và di chuyển lại sau.
Bước 4: Chuẩn bị Pi
Bây giờ chuẩn bị PI. Tôi đã sử dụng kiểu B + với USB wifi dongle. Tôi đã sử dụng hình ảnh toàn màn hình dựa trên Debian Jessie mà bạn có thể tải xuống từ trang Raspbian Pi. Giá trị của việc tạo thẻ SD từ đầu và giữ hình ảnh đĩa tiện dụng vì bạn có thể dễ dàng bắt đầu lại. Bạn có thể cần thực hiện một chút googling để tìm ra cách tạo hình ảnh đĩa trên PC của mình. Tôi đã tạo hình ảnh của mình bằng Ubuntu như sau: Nhấp chuột phải vào hình ảnh đĩa và chọn "mở bằng trình ghi hình ảnh đĩa". Ghi hình ảnh vào thẻ SD. Hình ảnh đĩa khá nhỏ, vì vậy nếu bạn có thẻ SD lớn hơn (ví dụ: 30GB), bạn có thể sử dụng phần mềm phân vùng như GParted để sử dụng hết dung lượng còn trống. Khi bạn đã tìm ra cách thực hiện việc này, mất khoảng 5 phút và thực sự đáng giá như thể bạn làm hỏng phần mềm, bạn chỉ cần cài đặt lại một lần nữa.
Bước 5: Gắn Bảng điều khiển
Tiếp theo, bạn cần một bảng điều khiển động cơ. Tôi đã sử dụng bộ công cụ từ RyanTek. Nó đi kèm với một hướng dẫn hàn tuyệt vời, nhưng tôi nghĩ bạn cũng có thể hàn trước. Nếu bạn chưa thực hiện bất kỳ công việc hàn nào trước đây, đừng lo lắng, chỉ cần thực hiện từ từ và thực hành một chút trước khi bạn bắt đầu vào bảng động cơ.
Bây giờ, gắn bộ pin (với 4 pin AA) và động cơ lên bảng điều khiển, sau đó gắn bảng điều khiển vào các chân GPIO của Pi. Một lần nữa, bảng điều khiển sẽ cung cấp cho bạn thêm chi tiết. Đừng lo lắng về việc cắm đúng dây động cơ vào đúng các khe cắm, miễn là chúng không được kết nối với các khe cắm nguồn DC. Tôi không dán hoặc vặn Pi hoặc Bộ pin vào bảng Lego vì điều này giúp bạn linh hoạt hơn khi thiết kế phần thân Lego. Bạn cũng có thể thay đổi thiết kế của mình một cách dễ dàng khi thực hiện.
Bước 6: Bắt đầu xây dựng cơ thể Lego
Bây giờ là lúc để xây dựng một số Lego. Tại thời điểm này, bạn có thể thu hút những đứa trẻ thực sự tham gia, miễn là chúng có thể cầm một miếng Lego! Chúng tôi bắt đầu chỉ với một ngôi nhà hình vuông cơ bản cho đến khi mọi thứ hoạt động tốt sau đó trở nên mạo hiểm hơn với bot chó. Điều tuyệt vời ở đây là bạn có thể chế tạo lại cơ thể robot tùy thích. Bắt đầu bằng cách tạo một ngôi nhà cho Pi. Hãy nhớ chừa chỗ cho các cổng USB và cáp nguồn. Xây dựng một lượng hợp lý độ lỏng lẻo vào bất kỳ ngôi nhà nào bạn xây dựng. Không sao để mọi thứ rung chuyển một chút và bạn không thể quá chính xác với Lego.
Chúng tôi đã sử dụng cửa sổ Lego để cung cấp quyền truy cập vào các cổng USB mà bạn sẽ cần sau này.
Bước 7: Chuẩn bị Pi
Bây giờ là thời điểm tốt để khởi động Pi và đưa robot di chuyển.
Tôi đang phát triển mã để sử dụng với dự án này tại Git hub. Đọc cho tôi trên các trang git hub sẽ đưa bạn qua hướng dẫn về cách cài đặt tất cả phần mềm trên Pi, nhưng tôi cũng sẽ hướng dẫn bạn qua các bước ở đây.
Đầu tiên, khởi động Pi bằng cách cắm cáp nguồn. Bạn sẽ cần kết nối cáp HDMI với TV và sử dụng bàn phím và chuột USB. Điều đầu tiên là kết nối với Wifi của bạn. bạn làm điều này bằng cách nhấp vào biểu tượng ở trên cùng bên phải của màn hình Raspian và chứng minh các chi tiết. Sau khi kết nối với Wifi, bạn có thể thực hiện mọi thứ khác từ dòng lệnh, vì vậy nếu muốn, bạn có thể kết nối với Pi bằng ssh, nhưng hiện tại, khi chúng ta kết nối với TV, chúng ta có thể mở một thiết bị đầu cuối từ máy tính để bàn Raspian.
Bước 8: Cài đặt phần mềm trên Pi
Mở thiết bị đầu cuối trên Pi và nhập các lệnh sau.
sudo apt-get cập nhật
Điều này cập nhật Raspian với phần mềm mới nhất.
Tiếp theo, cài đặt phần mềm webcam
sudo apt-get install chuyển động
Bạn cũng cần phải cấu hình chuyển động tại thời điểm này. Tôi đã liệt kê những gì cần được cập nhật trong các tệp nào trên trang github. Ngoài ra còn có một hướng dẫn về cách làm cho một webcam hoạt động trên Pi của bạn. Tìm hiểu các cài đặt và chơi với chúng khi bạn đã cảm thấy thoải mái với việc thiết lập.
sudo apt-get install python-dev python-pip
Điều này cài đặt các thư viện Python và cũng là trình quản lý đóng gói phần mềm python.
sudo pip cài đặt 'pubnub> = 4.1.2'
Phần mềm này cài đặt Pubnub, phần mềm quản lý tin nhắn giữa bảng điều khiển và rô bốt không dây của bạn.
Phải mất một lúc để cài đặt phần này nên đi pha một tách trà !!
Bước 9: Cài đặt phần mềm Robot
Bây giờ bạn đã cài đặt tất cả các bit và phần mềm phụ thuộc, đã đến lúc cài đặt mã cần thiết để chạy rô bốt.
git clone
điều này sẽ tạo một thư mục lego-robot trong thư mục chính của bạn.
Trước khi có thể chạy mã rô bốt, bạn cần tạo tài khoản PubNub và nhận khóa xuất bản và đăng ký. bạn có thể làm điều này bằng cách làm theo hướng dẫn bắt đầu ngay bây giờ tại PubNub. Sau khi thiết lập, bạn cần mở hai tệp:
- lego-rô bốt / máy chủ / key.py
- lego-rô bốt / máy khách / key.js
và thay thế các khóa pub và phụ bằng các khóa mà bạn có thể lấy từ bảng điều khiển pubnub.
Lưu ý rằng giá trị kênh có thể là bất kỳ giá trị nào, miễn là nó khớp trên máy khách và máy chủ.
Bước 10: Cài đặt Phần mềm Bộ điều khiển và Kiểm tra Tất cả Hoạt động
Trên PC, sao chép mã trung tâm git giống như cách chúng tôi đã làm trên rô bốt.
git clone
Bạn có thể chưa cài đặt git trên PC của mình. Nếu không, vui lòng làm theo hướng dẫn tại git hub.
Bạn cũng có tùy chọn tải xuống mã dưới dạng tệp zip, mặc dù tôi khuyên bạn nên cài đặt GIT và sao chép tệp bằng cách sao chép kho lưu trữ.
bạn sẽ cần cập nhật tệp lego-rô-bốt / máy khách / key.js với các khóa đăng ký và xuất bản cá nhân của mình.
Khi bạn hoàn tất, hãy mở tệp lego-robot / client / button.html trong trình duyệt web. Bây giờ bạn có thể điều khiển rô bốt của mình bằng các nút điều khiển.
Sơ đồ trên cho thấy những gì đang xảy ra:
- Khi bạn nhấp vào một nút, một thông báo sẽ được gửi đến pubnub (sử dụng khóa xuất bản của bạn)
- PubNub sau đó chuyển tiếp tới người máy…
- Đang nghe (sử dụng phím đăng ký) cho các tin nhắn
- Sau đó, robot chuyển thành một hành động.
Tôi đã sử dụng pubNub vì nó miễn phí, nhanh chóng (thời gian thực) và đơn giản hóa đáng kể việc gửi và nhận tin nhắn bằng cách sử dụng một API thực sự tốt đẹp.
Bạn có thể tìm hiểu mã máy khách và máy chủ và xem các tin nhắn được gửi bằng các phím đơn giản như "chuyển tiếp" và "ngược".
Ngoài ra còn có một bộ điều khiển kiểu cần điều khiển tại lego-robot / client / Joystick.html.
Tôi sẽ luôn cải tiến các bộ điều khiển này và thêm các bộ điều khiển mới, vì vậy nếu muốn cập nhật phần mềm, bạn có thể sử dụng lệnh "git pull". Cũng vui lòng đóng góp vào kho lưu trữ git và tạo thêm các điều khiển thân thiện với người dùng.
Bây giờ bạn đã sẵn sàng để kiểm tra chuyển động hoạt động OK. Trên thiết bị đầu cuối Pi, thay đổi thư mục thành lego-robot / server và nhập:
sudo python robot.py
điều này khởi động một tập lệnh python để lắng nghe các tin nhắn đến từ Pubnub.
Bây giờ hãy thử nhấn một số nút trên bộ điều khiển, bạn sẽ thấy các phản hồi này nhận được trên Pi Terminal (như trong hình trên) và robot.py dịch các thông báo này thành các chuyển động bằng cách ánh xạ chúng tới các tín hiệu trên Pi GPIO.
Bạn sẽ có thể di chuyển robot xung quanh.
Bước 11: Chuẩn bị Webcam và đèn LED
Bạn có thể sử dụng bất kỳ webcam nào tương thích với linux (hầu hết đều như vậy). Tôi sẽ chọn một chiếc tầm trung (khoảng £ 15) vì tôi đã thử một chiếc thực sự rẻ và không thể có được bất kỳ loại hình ảnh rõ ràng nào từ nó. Bước đầu tiên là tháo rời webcam để bạn có bo mạch và camera cơ bản.
Nếu bạn muốn lắp đặt đèn, sau đó đi một đèn LED và kết nối hai dây nhảy vào mỗi thiết bị đầu cuối. Tôi đã sử dụng dây nhảy có đầu nối cái ở một đầu để bạn có thể dễ dàng cắm nó vào chân Pis GPIO sau này. Đầu còn lại của dây bạn cần loại bỏ, để loại bỏ thiết bị đầu cuối. Bạn cũng có thể hàn ở đây để tạo kết nối an toàn. Tôi cũng đã sử dụng một số bọc co nhiệt, mà bạn có thể sử dụng để bọc từng dây, mặc dù tôi sẽ không lo lắng về việc hoàn thành công việc của nó quá tốt cho đến khi bạn hài lòng rằng mọi thứ đang hoạt động, sau đó bạn có thể hoàn thiện và cải thiện. Bạn cũng nên sử dụng điện trở để ngăn đèn LED của bạn bị cháy.
Ở đây có hướng dẫn chi tiết cách đấu dây đèn LED.
Như hình cho thấy, tôi sử dụng một khối Lego có lỗ trên đó như một cách dễ dàng để gắn đèn LED lên đầu rô bốt.
Bước 12: Tạo phần đầu bằng Nose-cam và đèn
Tạo vỏ đầu cho máy ảnh. Tôi sẽ không nói quá cụ thể ở đây vì đã đến lúc bạn sáng tạo. Tuy nhiên, bạn cần phải xây dựng xung quanh máy ảnh. Dog bot tích hợp camera vào mũi và có mắt là đèn LED. Hãy chắc chắn rằng bạn để lại một lỗ ở phía sau đầu để dẫn các dây ra ngoài.
Bước 13: Hoàn thiện phần thân
Bây giờ bạn rất vui vì bot chó về cơ bản đang di chuyển, bạn có thể tạo một nhà ở cho các bộ pin. Tôi đã sử dụng một gói 4 pin AA (đi kèm với bánh xe và đế) và một bộ sạc điện thoại khẩn cấp. Pin AA dành cho động cơ DC cho bánh xe và gói điện thoại di động dành cho Pi. Tốt hơn hết là bạn nên dễ dàng tiếp cận pin vì bạn sẽ phải tiếp cận chúng để sạc lại và thay thế.
Một khi hạnh phúc của bạn, hãy đặt một mái nhà trên Pi. Tôi không lo lắng quá nhiều về việc giấu dây và mạch điện, vì đó là một phần của hình ảnh rô bốt. Tuy nhiên, tất cả tùy thuộc vào bạn tại thời điểm này. Bạn có thể muốn xem xét mức độ nặng của bot của bạn, càng nặng thì nó di chuyển càng chậm.
Bước 14: Gắn đầu
Đã đến lúc kết nối mọi thứ.
Kết nối dây dẫn USB của Webcam với mặt trước của bot, sử dụng các lỗ truy cập bạn đã tạo. Bạn có thể cố định dây vào robot bằng cách tạo một số vỏ Lego. Tôi cũng đã rút ngắn dây USB bằng cách cắt và hàn lại nó, nhưng chỉ làm điều này nếu bạn thực sự muốn hàn 4 sợi dây nhỏ lại với nhau. Có thể dễ dàng hơn khi mua một dây dẫn USB ngắn và kết nối lại nó với mặt sau của máy ảnh.
Bạn cũng cần kết nối đèn LED với chân Pis GPIO mà bộ điều khiển bảng động cơ không sử dụng. Đây là các chân GPIO 20 và 21 và hai chân nối đất dự phòng gần đó. Sử dụng các chân nối đất dự phòng gần đó. Nếu đèn không hoạt động, hãy thử chuyển đổi mặt đất tròn với đầu ra GPIO. ĐỂ tìm ra chân nào để kết nối với google một sơ đồ GPIO tốt.
Bước 15: Kiểm tra đèn LED và Cam mũi
Để bắt đầu loại phần mềm webcam:
chuyển động sudo
Ngoài ra, hãy đảm bảo rằng bạn đã khởi động tập lệnh robot.py (như được trình bày chi tiết trong hướng dẫn previuos):
sudo python robot.py
Bây giờ bạn có thể sử dụng công tắc đèn trên bộ điều khiển để bật và tắt đèn.
Web cam sẽ phát trên địa chỉ IP Pis của bạn trên cổng 8080, vì vậy, ví dụ: hãy nhập thông tin sau vào trình duyệt web của bạn.
192.168.1.2:8081
Tôi đã tìm thấy địa chỉ IP Pi bằng cách đăng nhập vào bộ định tuyến của mình với tư cách là quản trị viên và xem các thiết bị được đính kèm. Hướng dẫn về cách thực hiện việc này thường có ở mặt sau của bộ định tuyến hoặc tham khảo hướng dẫn bộ định tuyến của bạn trực tuyến.
bạn có thể khám phá cài đặt cấu hình của phần mềm chuyển động, như được mô tả trong bước trước. Tôi thấy rằng đôi khi quá trình phát trực tuyến tạm dừng, nhưng nhìn chung thì nó hoạt động tốt.
Bạn có thể truy cập luồng video này từ bất kỳ thứ gì chạy trình duyệt được kết nối với mạng Wifi của bạn.
Bước 16: Hoàn thiện
Truy cập trực tuyến
Bây giờ bạn có thể điều khiển rô bốt từ trình duyệt trên PC. Tuy nhiên, thật tuyệt khi có thể điều khiển bot từ bất kỳ thiết bị cảm ứng nào như Ipad hoặc điện thoại.
Để làm điều này, bạn cần lưu trữ các tệp khách hàng (button.html, v.v.) trên máy chủ web.
Tôi đã bắt đầu bằng cách cài đặt một máy chủ web trên Pi, hoạt động tốt. Tuy nhiên, việc tải tệp HTML lên bất kỳ máy chủ web nào khác sẽ dễ dàng hơn. Tôi chỉ cần sao chép tệp HTML vào tài khoản máy chủ lưu trữ công khai màu xanh lam của mình. Bạn có thể muốn bảo vệ tệp quyền truy cập vào các tệp này vì chúng chứa các khóa phụ pub đối với kênh pub nub của bạn. Khi bạn làm điều này, bạn có thể truy cập bộ điều khiển từ bất kỳ thiết bị nào, ngay cả từ bên ngoài ngôi nhà của bạn.
Khởi động tự động
Một điều hữu ích khác cần làm là cập nhật tập lệnh / etc / rc.local trên raspberry Pi của bạn; thêm hai dòng sau:
- chuyển động sudo
- nohup sudo python /home/pi/lego-robot/server/robot.py &
Các lệnh này sẽ chạy mỗi khi Pi khởi động, vì vậy bạn không phải chạy lệnh theo cách thủ công.
Bước 17: Chúc bạn vui vẻ
Đó là tất cả.
Vui lòng để lại ý kiến nếu bạn gặp khó khăn và nếu bạn muốn cải thiện bất kỳ phần mềm nào, vui lòng đóng góp cho kho lưu trữ github. Tôi sẽ tiếp tục làm việc với dự án này và đây là một số ý tưởng:
- Bộ điều khiển kiểu "big trak" trong đó bạn lập trình một chuỗi các lệnh như "trái 10, tiến 6, lùi 2…" rồi nhấn "chạy" và rô bốt thực hiện các lệnh.
- Ngửa cổ để bạn có thể nhìn lên phía trên bằng webcam
- Một người nói có thể dịch văn bản từ bộ điều khiển thành giọng nói
- Điều khiển bằng giọng nói
Chúc mừng
Peter
Đề xuất:
Sử dụng lại Mô-đun Webcam HP WebCam 101 Aka 679257-330 làm WebCam USB Chung: 5 bước
Sử dụng lại Mô-đun Webcam HP WebCam 101 Aka 679257-330 làm WebCam USB Chung: Tôi muốn trang bị cho chiếc Panasonic CF-18 14 tuổi của mình một chiếc webcam hoàn toàn mới, nhưng Panasonic không hỗ trợ chiếc máy tuyệt vời đó nữa, vì vậy tôi phải sử dụng chất xám cho việc gì đó dễ dàng hơn là b & b (bia & bánh mì kẹp thịt). Đây là phần đầu tiên
Robot FPV Rover được điều khiển bằng Wi-fi (với Arduino, ESP8266 và Động cơ bước): 11 bước (có Hình ảnh)
Robot FPV Rover được điều khiển bằng Wi-fi (với Arduino, ESP8266 và Động cơ bước): Tài liệu hướng dẫn này cho thấy cách thiết kế robot hai bánh điều khiển từ xa qua mạng wi-fi, sử dụng Arduino Uno được kết nối với mô-đun Wi-fi ESP8266 và hai động cơ bước. Robot có thể được điều khiển từ một mạng Internet thông thường
Arduino Uno: Hình ảnh động bitmap trên Tấm chắn hiển thị màn hình cảm ứng TFT ILI9341 Với Visuino: 12 bước (có Hình ảnh)
Arduino Uno: Ảnh động bitmap trên Tấm chắn hiển thị màn hình cảm ứng TFT ILI9341 Với Tấm chắn màn hình cảm ứng TFT dựa trên Visuino: ILI9341 là Tấm chắn hiển thị chi phí thấp rất phổ biến cho Arduino. Visuino đã hỗ trợ chúng trong một thời gian khá dài, nhưng tôi chưa bao giờ có cơ hội viết Hướng dẫn về cách sử dụng chúng. Tuy nhiên, gần đây có rất ít người hỏi
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc
Tạo hình ảnh liền mạch theo chiều ngang hoặc chiều dọc (đối với "GIMP").: 11 bước (với hình ảnh)
Tạo hình ảnh liền mạch theo chiều ngang hoặc chỉ theo chiều dọc (đối với "GIMP"): Nếu bạn dùng thử plugin "Tạo liền mạch" trong GIMP, nó sẽ giúp hình ảnh liền mạch theo cả chiều ngang và chiều dọc cùng một lúc. Nó sẽ không cho phép bạn làm cho nó liền mạch chỉ trong một chiều. Hướng dẫn này sẽ giúp bạn làm cho