Mục lục:
- Bước 1: Trước khi bắt đầu
- Bước 2: Tổng quan
- Bước 3: Tải xuống các bảng hiện có
- Bước 4: Tìm và sao chép tệp bảng
- Bước 5: Tạo biến thể
- Bước 6: Tạo định nghĩa bảng
- Bước 7: Cập nhật phiên bản bảng
- Bước 8: Tạo tệp gói JSON
- Bước 9: Bước cuối cùng - Cài đặt Bảng tùy chỉnh của bạn
- Bước 10: Kết luận
Video: Arduino IDE: Tạo bảng tùy chỉnh: 10 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Trong sáu tháng qua, tôi đã dành rất nhiều thời gian để chuyển các thư viện khác nhau sang bảng Robo HAT MM1 do Robotics Masters phát triển. Điều này đã dẫn đến việc khám phá nhiều điều về các thư viện này, cách chúng hoạt động đằng sau hậu trường và quan trọng nhất - phải làm gì để thêm các bảng mới trong tương lai.
Đây là bài đầu tiên trong một loạt bài viết mà tôi sẽ thực hiện để giúp những người khác muốn chuyển thư viện cho bảng của họ. Nhiều nguồn thông tin có thể mơ hồ hoặc khó hiểu đối với người ngoài cuộc. Tôi hy vọng sẽ ‘làm sáng tỏ’ và giải thích cách đạt được một cổng thành công cho mọi người.
Hôm nay, chúng ta sẽ xem xét Nền tảng Arduino. Nó có hơn 700.000 biến thể bảng khác nhau trên khắp thế giới và là một trong những nền tảng điện tử phổ biến nhất cho giáo dục, công nghiệp và các nhà sản xuất.
Tôi chỉ có thể tìm thấy các nguồn thông tin rất hạn chế về cách thực hiện việc này sau nhiều lần Tìm kiếm trên Google. Vì vậy, tôi nghĩ rằng tôi sẽ viết về cách tôi đã làm điều đó một cách chi tiết.
Bắt đầu!
Bước 1: Trước khi bắt đầu
Trước khi bắt đầu chuyển thư viện phần mềm hoặc chương trình cơ sở vào bo mạch của mình, bạn phải biết một số điểm chính về công nghệ bạn đang sử dụng và có thể trả lời các câu hỏi bên dưới.
- Bạn đang sử dụng bộ vi xử lý nào?
- Nó sử dụng kiến trúc gì?
- Tôi có quyền truy cập vào biểu dữ liệu cho bộ vi xử lý này không?
- Có bo mạch tương tự trên thị trường sử dụng cùng một bộ vi xử lý không?
Đây là những điều rất quan trọng. Nó sẽ tác động đến nhiều khía cạnh trong cách bạn tiếp cận quá trình phát triển.
Bo mạch Arduino thường sử dụng một số loại vi xử lý và kiến trúc hạn chế. Phổ biến nhất là phạm vi ATMEGA sử dụng kiến trúc AVR (Arduino Uno). Có những thế hệ Arduinos mới hơn đang trở nên phổ biến hơn bằng cách sử dụng bộ xử lý SAMD (ARM) và các bộ xử lý mạnh hơn khác. Vì vậy, điều quan trọng là phải kiểm tra xem bạn đang sử dụng cái nào.
Biểu dữ liệu cho một bộ vi xử lý là hoàn toàn quan trọng để đảm bảo rằng bo mạch phản hồi như mong đợi khi bạn biên dịch phần sụn. Nếu không có nó, bạn sẽ không thể thiết lập các chức năng đầu ra chân chính xác hoặc cấu hình các cổng nối tiếp.
Khi bạn có tất cả thông tin cần thiết về bộ xử lý bạn đang sử dụng, bạn có thể bắt đầu xem xét phần mềm và sửa đổi nó để hoạt động cho bo mạch tùy chỉnh của bạn.
Bước 2: Tổng quan
Phần khó nhất của bất kỳ dự án nào là tìm ra một điểm khởi đầu tốt. Điều này không có gì khác biệt. Tôi đã cố gắng tìm kiếm các hướng dẫn tốt với đủ chi tiết về cách tạo bảng tùy chỉnh cho Arduino. Hầu hết các hướng dẫn chỉ cho bạn cách 'thêm bảng tùy chỉnh' nhưng không chỉ cho bạn cách 'tạo bảng tùy chỉnh'. Dưới đây là một bản tóm tắt ngắn về những gì có liên quan.
- Tải xuống bản sao và định nghĩa bảng hiện có
- Cập nhật tệp định nghĩa (variant.h, varient.cpp)
- Tạo mục nhập bảng (board.txt)
- Cập nhật phiên bản bảng (platform.txt)
- Chuẩn bị cài đặt (json)
- Cài đặt bảng trong Arduino IDE
Từng bước sẽ được giải thích chi tiết bên dưới. Cũng sẽ có cuộc thảo luận sâu rộng về cách mỗi tệp tương tác với nhau để giúp làm rõ cách mọi thứ hoạt động đằng sau Arduino IDE.
Đối với hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo bảng tùy chỉnh cho bộ xử lý SAMD. Cụ thể hơn, SAMD21G18A - là bộ vi xử lý được sử dụng trên bo mạch Robo HAT MM1 mà tôi đã chuyển.
Tôi cũng giả sử bạn đã tải xuống Arduino IDE 1.8 trở lên. Tôi đã sử dụng Arduino 1.8.9 tại thời điểm viết bài.
Bước 3: Tải xuống các bảng hiện có
Bước đầu tiên là tải xuống bảng Arduino biến thể gần nhất phù hợp với bảng của bạn. Đối với bo mạch SAMD, đây là Arduino Zero.
Kể từ Arduino IDE 1.6, phương pháp tải các bảng mới vào môi trường là bằng cách thêm các tệp JSON đặc biệt mà các nhà phát triển phần mềm cung cấp và sau đó cài đặt các bảng tùy chỉnh bằng cách sử dụng “Trình quản lý bảng”. Các phiên bản trước của Arduino IDE đã sử dụng một phương pháp khác mà chúng ta sẽ không thảo luận hôm nay. Chúng tôi sẽ tạo tệp JSON của riêng mình ở phần sau trong hướng dẫn này, tuy nhiên, trước tiên chúng tôi cần thêm bảng Arduino Zero bằng phương pháp này.
Thật may mắn cho chúng tôi, bảng chúng tôi muốn tải xuống không cần tệp JSON vì tệp JSON được đóng gói sẵn với Arduino IDE - vì vậy chúng tôi chỉ cần cài đặt bảng từ “Trình quản lý bảng”.
Để thực hiện việc này, hãy chuyển đến "Công cụ", sau đó mở rộng menu "Bảng". Ở đầu menu “Board” sẽ là “Board Manager”. Nhấp vào tùy chọn menu này để hiển thị Trình quản lý bảng.
(Xem Hình ảnh)
Khi mở Boards Manager, nó sẽ xem xét tất cả các tệp JSON mà nó đã lưu trữ trong Arduino IDE và sau đó tải xuống các cài đặt từ tệp. Bạn sẽ thấy một danh sách dài các bảng Arduino có sẵn mà bạn có thể cài đặt.
(Xem Hình ảnh)
Chúng tôi chỉ quan tâm đến bảng “Arduino SAMD Boards (32-bit ARM Cortex-M0 +)” cho hướng dẫn này, nhưng bạn có thể điều chỉnh và cài đặt bảng bạn cần tại thời điểm này. Vui lòng tìm kiếm và cài đặt bảng “Arduino SAMD Boards (32-bit ARM Cortex-M0 +)”. Điều này có thể được thực hiện bằng cách nhấp vào văn bản từ danh sách, sau đó là nút “Cài đặt” ở phía bên tay phải sẽ xuất hiện sau khi bạn nhấp vào văn bản. Sẽ mất vài phút để cài đặt.
Để biết thêm chi tiết về cách cài đặt bo mạch mới: Adafruit có một hướng dẫn tuyệt vời ở đây giải thích cách cài đặt bo mạch Feature M0 của họ.
Bây giờ các tệp bảng đã được cài đặt, chúng tôi có thể sao chép chúng để có thể sửa đổi chúng cho bảng tùy chỉnh của bạn.
Bước 4: Tìm và sao chép tệp bảng
Đối với Windows, Tệp Board nằm trong (hãy nhớ thay đổi tên người dùng thành tên người dùng của bạn):
C: / Users / tên người dùng / AppData / Local / Arduino15 / package
Trong thư mục này, bạn phải đi sâu hơn một chút để đến các tệp mà bạn cần sao chép để sửa đổi. Đối với hướng dẫn này, chúng tôi sẽ đi và lấy các tệp bảng Arduino Zero sẽ được cài đặt vào (hãy nhớ thay đổi tên người dùng thành tên người dùng của bạn):
C: / Users / username / AppData / Local / Arduino15 / package / arduino / hardware / samd
Sao chép thư mục được đánh số phiên bản nằm trong thư mục này vào một thư mục mới trong thư mục Documents hoặc thư mục bạn chọn. Với mục đích của hướng dẫn này, tôi sẽ đặt chúng vào một thư mục mới có tên là ‘bảng tùy chỉnh’ bên trong Tài liệu.
Thư mục chứa một số thư mục và thư mục. Những cái chúng tôi sẽ sử dụng được ghi chú trong bảng trong ảnh chụp màn hình.
Bước 5: Tạo biến thể
Bây giờ chúng tôi đã sẵn sàng để bắt đầu tạo một mục nhập bảng tùy chỉnh. Đối với hướng dẫn này, tôi sẽ sử dụng Robo HAT MM1 làm ví dụ. Như đã đề cập trước đây, nó là một bảng dựa trên SAMD phù hợp nhất với bản dựng Arduino Zero.
Chúng ta sẽ bắt đầu bằng cách đi vào thư mục biến thể và sao chép thư mục arduino_zero nằm trong đó. Chúng tôi sẽ đổi tên biến thể bảng mới là ‘robohatmm1’. Bạn có thể gọi của bạn bất cứ điều gì bạn thích.
(Xem Hình ảnh)
Bên trong thư mục robohatmm1 sẽ là hai chân mà chúng ta cần bắt đầu chỉnh sửa: variant.cpp và variant.h. Mở cả hai lên.
Điều này khiến tôi mất một lúc để tìm ra, vì vậy tôi sẽ giải thích nó ở đây để tiết kiệm thời gian cho bạn. Tệp variant.cpp chứa một mảng rất lớn các chân được tham chiếu trong suốt variant.h. Tất cả các tham chiếu pin trong variant.h là tham chiếu đến cấu hình pin tại một vị trí cụ thể trong mảng variant.cpp.
(Xem Ảnh chụp màn hình với Hai tệp)
Vì vậy, hầu hết các chỉnh sửa của bạn sẽ xảy ra trong cả hai tệp này nhưng bạn cần đảm bảo rằng nếu bạn thay đổi thứ tự của các chân trong variants.cpp - bạn phải thay đổi các tham chiếu trong tệp tiêu đề (variants.h). Đối với Robo HAT MM1, tôi chỉ cần thay đổi một số chân và chức năng. Điều này đã được thực hiện trong các biến thể.h. Tôi đã thêm một số chân PWM mới vì SAMD21 có thể xử lý 12 kênh PWM. Tôi cũng đã thêm một số tên cho Servos, Tín hiệu (thay vì ADC / Digital) và ánh xạ tùy chỉnh cho các chức năng phù hợp - chẳng hạn như SPI, UART và I2C.
Điều quan trọng cần lưu ý là kiểm tra kỹ xem tham chiếu mảng mà bạn sử dụng cho các hàm được nêu trong variants.h có khớp với tham chiếu của pin trong varaints.cpp hay không - mà bây giờ chúng ta sẽ xem xét.
Variants.cpp là một tệp rất mạnh mẽ và quan trọng. Nó thực hiện tất cả công việc khó khăn của việc thiết lập các chân để phù hợp với cài đặt phần cứng. Cách dễ nhất để giải thích điều này là với một ví dụ và giải thích của từng phần.
(Xem Bảng trong Ảnh chụp màn hình)
Ví dụ (trích xuất từ variants.cpp)
{PORTA, 22 tuổi, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE}, // SDA
Đây là chân đầu tiên trong mảng variants.cpp cho Robo HAT MM1. Bảng từ biểu dữ liệu đã được cung cấp dưới dạng hình ảnh (bảng màu xám).
(Xem Hình ảnh)
Chân cụ thể này được sử dụng cho Chức năng ghim dữ liệu I2C. Nhìn vào bảng, chúng ta có thể thấy rằng chân này có thể được sử dụng như một chân I2C SDA (khởi đầu tốt!). Chân có tên là “PA22” viết tắt của PORTA trên chân 22. Ngay lập tức chúng ta có thể đặt CỔNG và số pin cho chân này.
Việc tiếp theo chúng ta cần làm là đặt chân cắm làm cổng giao tiếp nối tiếp. Chân có sẵn giao tiếp nối tiếp thông qua chức năng C (PIO_SERCOM) sử dụng SERCOM 3 và D sử dụng SERCOM5 (PIO_SERCOM_ALT). Vì mục đích của Robo HAT MM1, chúng tôi đang sử dụng SERCOM3 cho giao tiếp I2C. Đây là trên Chức năng C; hay còn gọi là. PIO_SERCOM cho các biến thể.cpp.
Vì chúng tôi dự định chỉ sử dụng chân này làm I2C SDA, nên không cần thiết lập bất kỳ chức năng nào khác. Tất cả chúng đều có thể được đặt thành tùy chọn “Không” hoặc “Không” từ bảng trước. Tuy nhiên, nếu chúng ta muốn sử dụng các hàm khác - chúng ta có thể xem qua biểu dữ liệu và đặt tất cả chúng vào các khoảng trống chính xác. Tất cả đều có trong biểu dữ liệu.
Việc sửa đổi các tệp biến thể có thể mất một chút thời gian. Hãy cẩn thận và luôn kiểm tra ba lần.
Bước 6: Tạo định nghĩa bảng
Khi bạn đã có các tệp biến thể của mình, nó sẽ được chuyển tiếp ngay từ đây. Hầu hết công việc sẽ là sao chép và dán hoặc sửa đổi và cập nhật tệp.
Bắt đầu vớiboards.txt.
(Xem Hình ảnh)
Bạn sẽ muốn sao chép và dán một định nghĩa bảng đã có ở đó. Tôi muốn giới thiệu Arduino Zero một lần nữa.
Để đơn giản, chỉ thay đổi tên bảng (dòng đầu tiên), sản phẩm usb, nhà sản xuất usb và biến thể (robohat). Bạn có thể tùy chỉnh các đối số khác sau này cho phù hợp với nhu cầu của mình - chẳng hạn như bộ nạp khởi động tùy chỉnh hoặc các VID / PID USB khác nhau để xác định bảng của bạn.
Biến thể bảng phải khớp với tên được đặt cho thư mục được tạo ở đầu. Đối với hướng dẫn này, tôi gọi nó là ‘robohatmm1’.
Bạn cũng nên thay đổi phần đầu tiên của mỗi dòng để phù hợp với tên bảng của bạn. Trong ảnh chụp màn hình, nó đã được đổi thành ‘robo_hat_mm1’. Bạn nên chọn một tên cho bảng của bạn với cùng một định dạng.
Đó là tất cả đối vớiboards.txt trừ khi bạn muốn thực hiện các sửa đổi thêm được đề cập ở trên sau này.
Bước 7: Cập nhật phiên bản bảng
Trong platform.txt, hãy thay đổi tên thành tên của bảng tùy chỉnh của bạn. Đồng thời thay đổi số phiên bản. Hãy nhớ những gì bạn đặt này, chúng tôi sẽ cần nó sau.
Bước 8: Tạo tệp gói JSON
Để cài đặt bo mạch của bạn trong Arduino IDE, bạn sẽ cần tạo một tệp JSON mà bạn sẽ nhập. Tệp JSON cho Arduino IDE biết nơi lấy các tệp để cài đặt bo mạch, những gói bổ sung nào cần thiết và một vài bit siêu dữ liệu khác.
Điều rất quan trọng là bạn phải lưu tệp này bên ngoài thư mục mà chúng tôi vừa làm việc.
Hầu hết các tệp có thể được sao chép và dán vào tệp của bạn. Bạn sẽ chỉ cần thay đổi phần “bảng” và siêu dữ liệu khác ở đầu tệp. Xem ảnh chụp màn hình để biết những gì sẽ được cập nhật.
(Xem Hình ảnh)
- Phần màu đỏ: Đây là siêu dữ liệu mà người dùng có thể sử dụng để tìm kiếm trợ giúp. Nó có rất ít liên quan đến kỹ thuật.
- Phần màu xanh: Tất cả những điều này đều quan trọng. Chúng hiển thị trong Arduino IDE. Tên, Kiến trúc và Phiên bản tất cả sẽ được hiển thị cho bất kỳ ai đang cố gắng cài đặt gói. Đây là nơi bạn cần đặt số phiên bản từ platform.txt. Phần màu xanh thứ hai là danh sách các bo mạch được bao gồm trong gói. Bạn có thể có nhiều bảng.
- Phần màu xanh lá cây: Phần này cần được giải thích thêm.
(Xem Bảng trong Hình ảnh)
Khi bạn đã tạo tệp zip, có tổng kiểm tra tệp zip và kích thước tệp, bây giờ bạn có thể tải tệp zip lên một vị trí. Bạn sẽ cần đặt URL đó vào trường ‘url’. Nếu tên hoặc bất kỳ chi tiết nào ở trên không chính xác, bảng tùy chỉnh của bạn sẽ không cài đặt được.
Đảm bảo cũng tải tệp package_boardname_index.json của bạn lên một vị trí công cộng trên internet. GitHub là một lựa chọn tốt.
Bạn có thể tìm thấy tệp bảng tùy chỉnh Robo HAT MM1 tại đây.
Bước 9: Bước cuối cùng - Cài đặt Bảng tùy chỉnh của bạn
Mọi việc suôn sẻ, bây giờ bạn sẽ có thể đưa tệp JSON của mình vào Arduino IDE và cài đặt bảng tùy chỉnh của bạn.
Bao gồm tệp JSON thật dễ dàng! Trong Arduino IDE - chỉ cần đi tới “Tệp”> “Tùy chọn” và sao chép và dán vị trí (URL) của package_boardname_index.json của bạn vào phần “URL trình quản lý bảng bổ sung” ở cuối trình đơn Tùy chọn.
(Xem Hình ảnh)
Sau đó nhấn OK.
Chạy qua các hướng dẫn ở trên để cài đặt bo mạch mới nếu bạn đã quên. Hãy nhớ tìm bảng tùy chỉnh của bạn lần này!
(Xem Hình ảnh)
Để biết thêm chi tiết về cài đặt bo mạch mới: Adafruit có một hướng dẫn tuyệt vời ở đây giải thích cách cài đặt bo mạch Feature M0 của họ.
Bước 10: Kết luận
Điều này thật thú vị khi tạo ra các bảng Arduino tùy chỉnh. Vẫn còn rất nhiều điều để tôi thử nghiệm trong tương lai (thêm các cổng nối tiếp bổ sung) nhưng đó là một trải nghiệm học tập tuyệt vời!
Hãy chắc chắn kiểm tra cả chiến dịch Cung cấp đám đông. Nó kết thúc vào ngày 11 tháng 6 năm 2019.
www.crowdsupply.com/robotics-masters/robo-…
Tôi hy vọng điều này đã giúp bạn hoặc bạn đã đọc vui vẻ!
Cảm ơn!
Đề xuất:
Cách tạo bản đồ cách điệu tùy chỉnh bằng OpenStreetMap: 7 bước (có ảnh)
Cách tạo bản đồ cách điệu tùy chỉnh bằng OpenStreetMap: Trong phần hướng dẫn này, tôi sẽ mô tả một quy trình mà bạn có thể tạo bản đồ cách điệu tùy chỉnh của riêng mình. Bản đồ cách điệu là một bản đồ nơi người dùng có thể chỉ định lớp dữ liệu nào được hiển thị trực quan, cũng như xác định kiểu mà mỗi lớp là v
Cách tạo PCB tùy chỉnh bằng máy khắc laser công suất thấp: 8 bước (có hình ảnh)
Cách tạo PCB tùy chỉnh bằng cách sử dụng máy khắc laser công suất thấp: Khi nói đến chế tạo PCB tự chế, bạn có thể tìm thấy một số phương pháp trực tuyến: từ phương pháp thô sơ nhất, chỉ sử dụng bút, đến phức tạp hơn bằng cách sử dụng máy in 3D và các thiết bị khác. Và hướng dẫn này rơi vào trường hợp cuối cùng đó! Trong dự án này, tôi
Cách tạo đồng hồ đo nhiệt độ tự làm tùy chỉnh bằng biểu đồ thanh & Atmega328p: 3 bước (có hình ảnh)
Cách tạo đồng hồ đo nhiệt độ tự làm tùy chỉnh bằng biểu đồ thanh & Atmega328p: Trong bài đăng này, tôi sẽ hướng dẫn bạn cách tạo đồng hồ đo nhiệt độ bằng biểu đồ thanh & Atmega328p. Bài đăng sẽ bao gồm tất cả các chi tiết như sơ đồ mạch, chế tạo PCB, Mã hóa, Lắp ráp & Thử nghiệm. Tôi cũng đã gửi kèm một video chứa tất cả
Tạo băng ghế thử nghiệm Arduino tùy chỉnh bằng cách sử dụng Wirewrapping: 7 bước (có hình ảnh)
Tạo băng đo kiểm tra Arduino tùy chỉnh bằng cách sử dụng Wirewrapping: Tài liệu hướng dẫn này sẽ chỉ cho bạn một cách dễ dàng để kết nối Arduino Nano với các bảng mạch PCB khác nhau. Dự án này xuất hiện trong quá trình tôi tìm kiếm một cách hiệu quả, nhưng không phá hủy để kết nối nhiều mô-đun với nhau. Tôi có năm mô-đun mà tôi muốn
XP tùy chỉnh - Visual Basic Scripting để tùy chỉnh !: 6 bước
XP tùy chỉnh - Visual Basic Scripting to Customize !: Một cách đơn giản để thay đổi giao diện của XP là sử dụng một số chương trình GUI * trị giá 1000 đô la, phải không? SAI LẦM! Bạn có thể chi tiền cho các chương trình, nhưng tại sao phải trả tiền nếu bạn có thể làm điều đó miễn phí? Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách làm điều đó dễ dàng đến mức nó sẽ có giá 0 đô la và sẽ