Lỗi của Arduino? Và các lỗi thường gặp khi lập trình Arduino

Bạn đã bao giờ gặp phải lỗi khi sử dụng mạch Arduino của mình? Đôi khi việc gặp lỗi này có thể khiến bạn rất bối rối và mất thời gian để tìm hiểu và khắc phục. Trong bài viết này, chúng ta sẽ tìm hiểu về một số lỗi phổ biến mà bạn có thể gặp phải khi lập trình Arduino và cách khắc phục chúng.

Contents

1. Tại sao tôi lại không thể upload chương trình lên mạch Arduino của mình?

Một số lỗi hay gặp khi upload chương trình lên Arduino có thể do nhiều nguyên nhân khác nhau. Chương trình của bạn phải trải qua rất nhiều phần để được “vận chuyển” và “thi hành” trên một mạch Arduino. Và vì thế, nếu có bất kỳ vấn đề nào xảy ra trong một trong những phần ấy thì bạn sẽ không thể upload được chương trình lên Arduino.

Những phần ấy có thể bao gồm:

  • Chương trình Arduino IDE
  • Driver cho mạch Arduino
  • Sự cho phép truy cập đến cổng Serial
  • Các kết nối vật lý tới mạch Arduino
  • Firmware đối với các mạch Arduino Uno và Arduino Mega 2560
  • Bootloader đối với con chip được gắn trên Arduino
  • Thiết lập cầu chì của vi điều khiển
  • Và nhiều phần khác

Để khắc phục các vấn đề này, bạn có thể tham khảo các hướng dẫn cụ thể được đề cập trong bài viết gốc.

2. Tại sao trên máy MAC của tôi lại xuất hiện lỗi: “Build folder disappeared or could not be written”?

Khi bạn gặp lỗi “Build folder disappeared or could not be written”, có thể là bạn chưa copy file Arduino.app ra khỏi file image và dán vào thư mục Applications. Nếu không làm điều này, bạn sẽ không thể upload được chương trình của mình.

3. Tại sao chương trình Arduino IDE của tôi lại không hoạt động khi tôi cập nhật chương trình Java?

Phiên bản Java mới nhất của Apple có thể gây xung đột với phiên bản thư viện hệ thống 64 bit khi Arduino IDE sử dụng phiên bản 32 bit của thư viện RXTX. Để khắc phục, bạn có thể vào thông tin chương trình Arduino và chọn “Open in 32 Bit Mode”. Từ đó, bạn có thể tiếp tục lập trình cho Arduino của mình.

4. Tại sao tôi lại nhận được thông báo java.lang.StackOverflowError khi đang trong quá trình upload chương trình?

Thông báo lỗi java.lang.StackOverflowError xảy ra khi bạn sử dụng các biểu thức không đúng cách trong chương trình Arduino IDE. Hãy kiểm tra lại cách sử dụng biểu thức như dấu nháy đơn, nháy kép, dấu gạch chéo ngược và comments trong mã của bạn.

5. Tại sao tôi không khởi động mạch đã nạp chương trình của tôi khi kết nối nó với nguồn ngoài?

Trường hợp này thường xảy ra với các mạch Arduino Diecimila và các mạch trước đó khi chân RX chưa được kết nối. Để khắc phục, bạn có thể nối tắt chân TX và RX hoặc nối RX qua một điện trở 10 kOhm rồi nối xuống cực âm.

6. Tại sao chương trình Arduino IDE của tôi lại bị treo khi upload chương trình?

Lỗi này xảy ra do sự xung đột giữa chương trình Arduino IDE và một tiến trình của chương trình Logitech. Bạn có thể khắc phục bằng cách tắt tiến trình Logitech thông qua Task Manager.

7. Điều gì đã xảy ra với mạch của tôi khi nó không chịu khởi động lên?

Nếu bạn sử dụng mạch Arduino Diecimila hoặc các mạch cũ hơn có cổng USB, bạn cần chắc chắn rằng cái jumper đã được gắn vào đúng chân. Nếu bạn cấp nguồn cho mạch bằng nguồn điện ngoài, bạn cần gắn jumper vào 2 cổng gần chỗ gắn cổng nguồn nhất. Nếu bạn cấp nguồn bằng cổng USB, bạn cần gắn jumper vào 2 cổng gần chỗ gắn cổng USB nhất.

8. Tại sao mạch Arduino Diecimila của tôi lại phải tốn đến 6-8 giây để khởi động chương trình đã nạp?

Trong quá trình sản xuất mạch Arduino Diecimila, có một số mạch bị lỗi khi cài bootloader. Bạn có thể kiểm tra mạch đã được cài bootloader hay chưa bằng cách kiểm tra đèn LED số 13 có nhấp nháy khi bạn nhấn nút reset hay không. Nếu nó nhấp nháy 3 lần là đã có NG bootloader, và bạn cần nhấn nút reset vài lần trước khi upload chương trình để chương trình khi nạp vào không bị lỗi.

9. Tôi cần làm gì nếu file arduino.exe bị lỗi khi khởi động?

Nếu bạn gặp lỗi “Arduino has encountered a problem and needs to close.” khi khởi động chương trình arduino.exe, hãy chạy file run.bat và kiên nhẫn chờ một chút để chương trình Arduino khởi động.

10. Tại sao Arduino lại không chạy được trên các phiên bản cũ của MAC?

Nếu bạn gặp thông báo lỗi “Java Virtual Machine Launcher: Could not find the main class.”, bạn cần kiểm tra xem bạn đã giải nén file Arduino.zip thành công hay chưa. Đồng thời, hãy kiểm tra trong thư mục lib hoặc libraries xem đã có file pde.jar chưa.

11. Tại sao tôi lại bị một lỗi về việc chưa khai báo kiểu hàm hoặc khai báo kiểu dữ liệu?

Lỗi này xảy ra khi bạn sử dụng các câu lệnh tự tạo trong chương trình Arduino IDE mà chưa được khai báo trước khi sử dụng. Hãy chắc chắn khai báo các hàm và kiểu dữ liệu trước khi sử dụng chúng trong chương trình.

12. Tại sao tôi lại nhận thông báo lỗi “avrdude: Yikes! Invalid device signature.”?

Khi gặp lỗi “avrdude: Yikes! Invalid device signature.”, bạn cần kiểm tra lại board bạn đã chọn trong Tools > Board và phiên bản avrdude bạn đang sử dụng. Hãy đảm bảo bạn đã chọn đúng board và tải về phiên bản avrdude phù hợp.

13. Làm sao để nhớ mã code của Arduino?

Đừng lo lắng nếu bạn không thể nhớ mã code của Arduino. Bạn có thể lưu lại các chỉ mục của trang web mà bạn tham khảo hướng dẫn. Khi cần, bạn chỉ cần mở ra và xem lại.

14. Sau một thời gian sử dụng, việc khởi động Arduino bị chậm và những thứ khác cũng chậm luôn?

Nếu sau một thời gian sử dụng, việc khởi động Arduino bị chậm và các chức năng khác cũng chạy chậm hơn, bạn có thể copy file rxtxSerial.dll vào thư mục gốc của Arduino IDE để khắc phục vấn đề này.

Hy vọng rằng bài viết này đã giúp các bạn hiểu rõ hơn về những lỗi thường gặp khi lập trình Arduino và cách khắc phục chúng. Nếu bạn còn gặp bất kỳ vấn đề nào khác, đừng ngần ngại để lại comment để chúng ta có thể giúp đỡ nhau. Chúc các bạn thành công trong việc lập trình Arduino!

FEATURED TOPIC

hihi