-
-
-
Tổng tiền thanh toán:
-
Lập trình mBot Mega với Raspberry Pi bằng Python
08/08/2024
Để sử dụng Raspberry Pi giao tiếp với mBot Mega cần đảm bảo điều khiển động cơ của nó và lấy dữ liệu đầu ra của các cảm biến. Trước tiên, bạn cần cập nhật chương trình cơ sở của mBot Mega trên mBlock 5 lên chương trình cơ sở trực tuyến, sau đó kết nối nó với Raspberry Pi.
Tiến hành kết nối mBot Mega với Raspberry Pi
Để biết chi tiết về cách cập nhật chương trình cơ sở, hãy xem Cập nhật chương trình cơ sở của mBot Mega.
Chuẩn bị Raspberry Pi
Sau đây là một số bước để kết nối thành công mBot Mega với Raspberry Pi:
1. Phương pháp kết nối đầu tiên: Phương pháp GPIO
Kết nối Raspberry Pi và MegaPi bằng cáp hoặc đầu nối cái 2,54 mm (xem hình ảnh để tham khảo)
Sử dụng cáp hoặc đầu nối cá 2,54mm để kết nối Raspberry Pi và MegaPi
Mẹo: Khi bạn kết nối Raspberry Pi và MegaPi bằng đầu nối cái 2,54mm, bạn chỉ cần một bộ pin để cấp nguồn cho cả hai.
Trước tiên, trong Raspberry Pi, hãy tắt lời nhắc đăng nhập từ Desktop > Menu > Preferences > Raspberry Pi Configuration.
Tiến hành tắt lời nhắc đăng nhập
- Nếu bạn đang sử dụng Raspberry 3 B+, vì chức năng Bluetooth chiếm cổng ttyAMA0, bạn có hai cách để giải quyết vấn đề này.
a. Vô hiệu hóa Bluetooth pi3 và khôi phục UART0/ttyAMA0 qua GPIO 14&15
b. Chuyển đổi chức năng Bluetooth pi3 để sử dụng mini-UART(ttyS0) và khôi phục UART0/ttyAMA0 qua GPIO 14&15.
- Ở đây, tôi vô hiệu hóa Bluetooth pi3 làm ví dụ
a. Tìm kiếm pi3-disable-bt trong tệp /boot/overlays/README, nó sẽ chỉ cho bạn cách vô hiệu hóa Bluetooth; nếu bạn muốn chuyển đổi Bluetooth sang mini-UART(ttyS0), bạn có thể tìm kiếm pi3-miniuart-bt.
Tiến hành vô hiệu hóa Bluetooth pi3
b. Sửa đổi tệp /boot/config.txt. Ở cuối tệp, thêm nội dung sau.
#Enable uart
enable_uart=1
dtoverlay=pi3-disable-bt
c. Khởi động lại Raspberry Pi
d. Mở Terminal và nhập lệnh sau:
sudo systemctl disable hciuart
e. Bây giờ bạn có thể sử dụng ttyAMA0 làm UART qua GPIO 14&15
- Cài đặt thư viện python cho Makeblock
# pip3 install makeblock
- Nhập mã ban đầu cho Python
from time import sleep
from makeblock import MegaPi,SerialPort
megapi = MegaPi.connect(SerialPort.connect("/dev/ttyAMA0"))
- Biên dịch mã của bạn bằng Python
2. Phương pháp kết nối thứ hai: Phương pháp kết nối cáp USB
a. Kết nối mBot Mega với máy tính và cập nhật chương trình cơ sở trực tuyến (47.01.101) trên mBlock.
Mẹo: Khi bạn kết nối Raspberry Pi và MegaPi bằng cáp, bạn cần sử dụng hai bộ pin khác nhau để cấp nguồn cho từng bộ.
Tiến hành kết nối máy tính với mBot Mega bằng cách cập nhật chương trình cơ sở trực tuyến trên mBlock.
Vui lòng kết nối mBot Mega với máy tính trước và cập nhật lên chương trình cơ sở trực tuyến trên mBlock.
- Cài đặt thư viện python cho Makeblock
# pip3 cài đặt makeblock
- Nhập mã ban đầu cho Python
from time import sleep
from makeblock import MegaPi,SerialPort
megapi = MegaPi.connect()
# hoặc megapi = MegaPi.connect(SerialPort.connect("/dev/ttyUSB0"))
Mẹo: Khi sử dụng kết nối USB, có hai cách để kết nối với cổng nối tiếp USB.
- Phương pháp 1: Không chỉ định cổng nối tiếp—: MegaPi.connect(), MegaPi.connect() kết nối với cổng nối tiếp USB theo mặc định.
- Phương pháp 2: Chỉ định cổng nối tiếp: MegaPi.connect(SerialPort.connect("/dev/ttyUSB0")), không nhất thiết phải là ttyUSB0, tùy thuộc vào điều kiện thực tế.
- Biên dịch mã của bạn bằng Python
Một số nội dung liên quan để tham khảo:
Sơ đồ nguồn mở của Megapi:
- http://t.hk.uy/kPk
- http://t.hk.uy/kPn
Để điều khiển các cảm biến và động cơ trên mBot Mega bằng Raspberry Pi, trước tiên bạn cần cài đặt thư viện tương ứng.
- Để điều khiển cảm biến tránh chướng ngại vật và cảm biến theo đường và công tắc tác động, hãy sử dụng thư viện: https://gist.github.com/xeecos/ceeb8fd83cc15b4e83b713bb75a982fd
- Để điều khiển mô-đun LED RGB, hãy sử dụng thư viện: https://gist.github.com/xeecos/0a326e03f44633fed726867b0e71a3fe
- Để điều khiển động cơ, hãy sử dụng thư viện: https://gist.github.com/xeecos/5fa6cb5876a8c9449562d8026942fff1/revisions
Các tin khác
- Giáo án STEAM 4 5 tuổi chủ đề gia đình – Hỗ trợ giáo dục toàn diện 21/11/2024
- Giáo án STEAM 4 5 tuổi chủ đề trường mầm non: Phương pháp dạy học hiệu quả 19/11/2024
- Giáo án STEAM khám phá Tết Trung thu: Gợi ý hoạt động sáng tạo cho bé 19/11/2024
- Lợi ích và cách thực hiện dự án STEAM mầm non hiệu quả 18/11/2024
- Giáo án STEAM chủ đề nghề nghiệp - Giúp trẻ khám phá thế giới nghề nghiệp 17/11/2024
- Giáo án STEAM khám phá xe đạp: Cách thiết kế bài học hiệu quả 16/11/2024
- Giáo án STEAM chữ cái e ê: Phương pháp giáo dục hiện đại cho trẻ em 15/11/2024