Thư viện Arduino

Từ ChipFC Wiki
Phiên bản vào lúc 16:32, ngày 2 tháng 4 năm 2018 của BS135 (Thảo luận | đóng góp)
(khác) ← Phiên bản cũ | xem phiên bản hiện hành (khác) | Phiên bản mới → (khác)
Bước tới: chuyển hướng, tìm kiếm
Cấu trúc thư viện GSMSHIELD viết cho Arduino để sử dụng với các GSM Shield như SIM900, SIM908
Cấu trúc thư viện GSMSHIELD viết cho Arduino để sử dụng với các GSM Shield như SIM900, SIM908

Giới thiệu

Thư viện cho Arduino là các mã nguồn viết cho Arduino. Một thư viện có thể chứa mã nguồn của một hoặc nhiều ứng dụng khác nhau. Thường thì các ứng dụng có liên quan, có một số đặc điểm chung được tập hợp chung với nhau thành một thư viện.

Ví dụ: Thư viện GSMSHIELD chứa các ứng dụng để chạy các GSM Module (M95 Mini, SIM808, SIM900A) như: ứng dụng GSM_GPRSLibrary_Call để gọi điện thoại, GSM_GPRSLibrary_SMS để nhắn tin,...

Phần này sẽ hướng dẫn bạn sử dụng một thư viện Arduino tải về từ các nguồn trên Internet.

Tải về một thư viện

Arduino là một mã nguồn mở (open-source) cả phần cứng lẫn phần mềm. Và các ứng dụng xây dụng trên Arduino hầu hết cũng là nguồn mở. Bạn có thể dễ dàng tìm kiếm và tải về các ứng dụng, thư viện mã nguồn viết cho Arduino.

Tại ChipFC, chúng tôi cung cấp cho bạn một cổng chia sẻ tài nguyên tại file.chipfc.com. Đây là nơi lưu trữ tất cả tài nguyên liên quan tới sản phẩm của ChipFC. Bao gồm: Tài liệu hướng dẫn, Mã nguồn ứng dụng, Thư viện Arduino, Datasheet, Phần mềm hỗ trợ,... Bạn có thể dễ dàng tìm kiếm và tải về.

Cấu trúc cơ bản

Một thư viện cho Arduino thường là một thư mục chứa các file .cpp.h và một thư mục examples. Một số thư viện có thêm các file và thư mục khác.

  • Các file .cpp.h chứa các đoạn mã dùng chung. Thường được gọi tham khảo trong các ứng dụng cụ thể.
  • Thư mục examples chứa các thư mục ứng dụng. Mỗi thư mục trong examples là một ứng dụng. Trong mỗi ứng dụng thường sẽ có một file .ino cùng tên với thư mục chứa nó, cùng với các file khác nếu có. Việc cùng tên này là bắt buộc và là một đặc trưng cần chú ý khi làm việc với Arduino.
Thư viện GSMSHIELD cho Arduino
Thư viện GSMSHIELD cho Arduino

Cách sử dụng

Khi tải một thư viện Arduino từ internet về, thường là một file nén. Bạn cần thực hiện các bước sau:

  • Giải nén tập tin tải về, kiểm tra lại cấu trúc thư mục như hướng dẫn ở trên để chắc chắn nó là mã nguồn viết cho Arduino.
  • Chép thư mục thư viện vừa giải nén được ở bước trên vào thư mục arduino->libraries trong thư mục chứa phần mềm Arduino của bạn. Nếu chưa cài đặt phần mềm Arduino thì xem thêm Bắt đầu với Arduino. Nếu bạn dùng Linux thì có thể chép thư viện vào /home/<user_name>/sketchbook/library
  • Mở phần mềm Arduino lên (hoặc tắt và khởi động lại phần mềm Arduino nếu nó đang mở).
  • Vào menu File → Examples → <tên thư viện đã chép ở bước trên>. Khi đó bạn sẽ thấy danh sách các ứng dụng có trong thư viện.

Các rắc rối có thể bạn gặp phải

Không tương thích phiên bản

Nguyên nhân

  • Khi bạn tải về một thư viện Arduino khi biên Arduino IDE báo lỗi (có thể là rất nhiều lỗi).
  • Trong trường hợp này bạn cần xem lại thời điểm phát hành phiên bản thư viện này. Rất có thể nó đã được viết đã rất lâu và không còn tương thích với Arduino IDE phiên bản mà bạn đang có.

Khắc phục

  • Tìm một phiên bản thư viện khác mới hơn
  • Thử tải về phần mềm Arduino IDE cũ hơn

Không chạy đúng như mong muốn

Nguyên nhân

  • Khi bạn tải về một thư viện Arduino và nạp thành công xuống bo nhưng không chạy hoặc chạy không đúng như mô tả.
  • Trong trường hợp này rất có thể bạn kết nối hoặc cài đặt hệ thống Arduino của mình chưa đúng để chạy chương trình.

Khắc phục

  • Bạn nên xem hướng dẫn đi kèm theo thư viện, đọc kỹ và từng bước kiểm tra lại chắc chắn rằng mọi thứ đều đúng.
  • Xem lại mã nguồn, cố gắng tìm hiểu cách chương trình chạy. Từ đó có các thay đổi phù hợp với hệ thống Arduino đang có.

Các lỗi khác

Cho dù bạn là chuyên gia hay người mới bắt đầu với Arduino thì rất có thể bạn sẽ gặp lỗi trong quá trình lập trình và sử dụng. Không có gì phải lo lắng, đó là điều bình thường. Nó sẽ giúp bạn có thêm kinh nghiệm với Arduino hơn, giúp bạn tiến nhanh hơn trong quá trình trở thành chuyên gia Arduino.

Và ChipFC luôn ở đây để giúp bạn gỡ rối. ^^

Tham khảo thêm

Một số thư viện dùng với Shield của Chipfc