Bỏ qua menu, tới nội dung chính
R
Robot.Edu.VN

Sửa lỗi thường gặp

Máy không thấy bo, nạp lỗi, không kết nối được Bluetooth, động cơ không chạy, cảm biến ra số lạ: nguyên nhân và cách xử lý khi dùng ThingBlock với ThingBot

Gặp lỗi, hãy kiểm tra theo thứ tự: nguồn pin → dây và cổng → chế độ (nạp hay Live) → chương trình. Phần lớn lỗi của buổi đầu nằm ở hai bước đầu. Chạy chương trình kiểm tra ThingBot giúp tách lỗi phần cứng khỏi lỗi chương trình.

Kết nối và nạp chương trình

Bấm Connect mà danh sách cổng trống

  • Dây USB chỉ sạc được, không truyền dữ liệu: thử dây khác. Đây là nguyên nhân hay gặp nhất.
  • Vừa mở ThingBlock: danh sách có thể trống tới một phút. Chờ rồi bấm lại.
  • Cắm thẳng vào máy tính, không qua hub USB.
  • Kiểm tra máy có thấy bo không: Windows mở Device Manager, mục Ports (COM & LPT) có một cổng COM mới khi cắm bo; macOS có thiết bị /dev/cu.usbmodem…; Linux có /dev/ttyACM0. Trên Linux nhớ thêm tài khoản vào nhóm dialout (xem Cài đặt).

Nạp báo lỗi ở bước biên dịch (Compiling your project…)

  • Chưa tải gói bo ESP32: chọn lại bo ThingBot và bấm Download trong hộp Board package.
  • Dự án có khối RGB LED Strip: ở bản 0.4.0 khối này không biên dịch được với ThingBot. Bỏ khối đó đi.
  • Dùng khối danh sách hoặc khối tự tạo có tham số: bản 0.4.0 chưa sinh mã đúng cho hai loại khối này khi nạp. Dùng biến thường và khối tự tạo không tham số.

Nạp báo lỗi ở bước ghi xuống bo (Writing to your board…)

  • Một phần mềm khác đang giữ cổng (Arduino IDE, một cửa sổ ThingBlock thứ hai, Monitor của chương trình khác): đóng chúng rồi nạp lại.
  • Rút dây USB, cắm lại, bấm Connect chọn lại cổng.
  • Vẫn không được: đưa chip vào chế độ nạp bằng tay. Rút nguồn, tháo mạch ThingBot khỏi ThingBotShield, giữ nút BOOT, bấm nút còn lại một lần, rồi thả BOOT và nạp lại. Ảnh vị trí hai nút ở trang Hỗ trợ sử dụng (mục lỗi "error 31"). Nạp xong, cắm mạch lại vào ThingBotShield và bật nguồn.

Nạp xong nhưng bo không chạy chương trình mới

  • Vừa nạp ở chế độ nạp bằng tay (giữ BOOT): rút nguồn rồi bật lại để chip chạy chương trình.

Chế độ chạy trực tiếp (Live)

Bấm Bắt đầu tìm kiếm mà không thấy ThingBot

  • Bo chưa có firmware Live, hoặc vừa nạp chương trình khác: bấm Update my Device và cài firmware (cần cắm USB).
  • Bluetooth của máy tính đang tắt. Máy cần Bluetooth 4.0 trở lên (Bluetooth LE).
  • macOS: mở Cài đặt hệ thống → Quyền riêng tư & Bảo mật → Bluetooth và kiểm tra ThingBlock đã được bật.
  • Điện thoại (app ThingBot Remote) hoặc máy khác đang nối với bo: mỗi lần chỉ một thiết bị. Ngắt kết nối thiết bị kia.
  • Lớp học có nhiều robot: dán nhãn tên Bluetooth lên từng robot để học sinh chọn đúng bo của mình.

Đang chạy Live thì robot không dừng

Bấm Stop hoặc mất Bluetooth không tắt động cơ ở bản 0.4.0. Bấm phím cách nếu chương trình có đoạn phanh khi bấm phím phím trắng, hoặc tắt công tắc nguồn pin. Luôn thêm đoạn phanh vào mọi chương trình Live.

Robot chạy tiến được nhưng không lùi được ở Live

Đúng như vậy ở bản 0.4.0: khối motor speed chỉ nhận 0 tới 100. Bài nào cần lùi hoặc xoay tại chỗ thì dùng chế độ nạp.

Động cơ, servo, đèn, còi

Hiện tượngKiểm tra
Không động cơ nào chạyBật công tắc nguồn, pin đã sạc, pin lắp đúng chiều. Nguồn USB không đủ chạy động cơ
Một động cơ không chạyGiắc ở đúng cổng M chưa, cổng trong khối có khớp không. Đổi giắc sang cổng khác để biết lỗi ở động cơ hay ở cổng
Bánh quay ngượcĐảo giắc cắm động cơ, hoặc đổi forward thành backward cho bánh đó
Xe chạy lệch dù hai bánh cùng tốc độBình thường: ma sát, động cơ không giống hệt nhau. Giảm tốc độ bánh chạy nhanh hơn vài đơn vị
Tốc độ nhỏ thì bánh đứng yên, chỉ kêu ùĐộng cơ cần một mức tối thiểu mới thắng được ma sát. Tăng tốc độ lên
Servo giật về một phía khi còi đang kêuNhạc và servo không chạy cùng lúc được. Phát nhạc xong rồi mới quay servo
Servo rung, bo khởi động lại khi servo quayPin yếu, nhất là với servo lớn MG996R. Sạc pin
Còi không kêu với khối set buzzerỞ bản 0.4.0 khối này không phát tiếng. Dùng play note
Robot đứng yên ngay từ đầu, không khối nào chạyChương trình có init PS2 on ThingBot mà chưa cắm bộ thu PS2, hoặc cắm ngược chiều: khối này chờ mãi tới khi bộ thu trả lời. Khung Monitor khi đó hiện lặp lại #try config 1, 2, 3…

Cảm biến và màn hình

Hiện tượngKiểm tra
Nhiệt độ hiện nan hoặc 0Dây DHT11 lỏng, cắm sai chân (ThingBot dùng IO4), đọc quá nhanh. Đợi 2 giây sau khi khởi tạo và giữa hai lần đọc
Số đo mất phần lẻ sau khi mở lại dự ánBản 0.4.0 không lưu kiểu Decimal của biến: mở lại tệp thì biến thành số nguyên. Với DHT11 không sao vì cảm biến vốn trả số nguyên
Siêu âm luôn ra 0Cảm biến lỏng dây hoặc hỏng. Không có vật phía trước thì khối ra số lớn (khoảng 340 cm), không ra 0
Siêu âm đo sai, số nhảy lung tungNhầm TRIG và ECHO (ThingBot dùng TRIG IO0, ECHO IO4); vật quá gần (dưới 3 cm) hoặc mặt vật xiên, mềm
Màn OLED không hiện gìCắm đúng cổng I2C chưa, địa chỉ trong khối init oled là 0x78 (0x3c), cuối mỗi lần vẽ có khối refresh oled display chưa
Monitor không hiện gìChưa chọn đúng cổng của bo, hoặc chương trình chưa có khối begin serial. Dòng in trong khi Arduino khởi động chạy ngay khi nạp xong, mở Monitor muộn thì không thấy: rút dây USB cắm lại để chương trình chạy lại từ đầu

Vẫn chưa được: ghi lại phiên bản ThingBlock (số trong tên tệp cài, ví dụ 0.4.0), hệ điều hành, ảnh chụp chương trình và thông báo lỗi, rồi báo cho đội ThingEdu.

Nguồn học liệu: ThingEdu.