Logo

ChatGPT viết thư viện Arduino theo phong cách Ladyada




Viết thư viện để hỗ trợ các vi điều khiển yêu thích của chúng ta là một nhiệm vụ lớn, nhưng điều gì sẽ xảy ra nếu ChatGPT có thể giúp đỡ? Limor "Ladyada" Fried của Adafruit đã giao cho ChatGPT viết trình điều khiển Arduino theo phong cách của mình, tạo ra một bot "mini-Limor" để xử lý tác vụ.



Ladyada dành rất nhiều thời gian để viết thư viện Arduino và đã tạo ra hàng trăm thư viện để hỗ trợ phạm vi bo mạch ấn tượng của Adafruit (nhiều trong số đó có trong trang Grove và Stemma QT tốt nhất của chúng tôi). GPT-4 đã được đào tạo bằng cách sử dụng nhiều trình điều khiển của Adafruit được tìm thấy trên GitHub. Các trình điều khiển này được viết theo "phong cách Ladyada" (Adafruit_BusIO) và điều đó có nghĩa là nó có thể tạo trình điều khiển bằng mẫu này.



Quy trình làm việc liên quan đến rất nhiều tham chiếu datasheet, bảng nhị phân và bit insets, tất cả đều cần được hiểu và chuyển đổi thành mã C hoặc Python. Nhiệm vụ này không dễ dàng (tin chúng tôi đi, chúng tôi đã tự mình thử). Không có định dạng tiêu chuẩn nào để lấy dữ liệu này. Datasheet có thể khác nhau một cách kỳ lạ.



Đối với "mini-Limor", quy trình làm việc của Fried là yêu cầu ChatGPT "[viết] thư viện arduino theo phong cách ladyada / limor fried". Trong ví dụ, Fried giao cho ChatGPT tạo trình điều khiển cho cảm biến ánh sáng và hồng ngoại xung quanh VCNL4020, một cảm biến dựa trên I2C. Quy trình làm việc sử dụng plugin phân tích PDF miễn phí (AI PDF) đọc datasheet, trích xuất tên register, giá trị, tạo bảng enum và văn bản cho nhận xét. Fried sau đó yêu cầu ChatGPT tạo một tệp khung cho VCNL4020 mà nó đã thành công một phần trong việc tạo. Sau đó, Fried yêu cầu nó tạo các register, sử dụng dữ liệu trực tiếp từ datasheet. Sau đó, Fried chuyển sang tạo thư viện.



Đây có phải là một quá trình nhanh hơn không? Không. Theo bài đăng trên blog của Adafruit, "Thời gian cần thiết để ChatGPT viết trình điều khiển tương đương với thời gian của Ladyada" và trình điều khiển kết quả cần có sự tương tác của con người để kiểm tra xem nó có hợp lệ hay không, như Fried đã nói trong video, ChatGPT đôi khi có thể "ảo giác" và đưa ra sai sót. Tuy nhiên, điều đó nói lên rằng nó giải phóng Fried để thực hiện các nhiệm vụ khác.



Công việc được tạo ra dựa trên công việc trước đây của Adafruit, nhưng Adafruit đã xác nhận rằng khi bất kỳ Large Language Model (LLM) nào được sử dụng, nó sẽ được tiết lộ và liên kết.



Các trình điều khiển tốt là nền tảng mà người học có thể thực hành mà không cần quá kỹ thuật, đặc biệt là với I2C, SPI và nhiều giao thức khác. Nếu quy trình có thể được tinh chỉnh và tự động hóa, thì nó có thể giúp các nhà phát triển như Adafruit tạo trình điều khiển và thư viện cho nhiều ngôn ngữ lập trình phổ biến. Quy trình này có thể được sử dụng để giải quyết hỗ trợ phần mềm của bên thứ ba với dòng bo mạch Arduino Uno R4. Fried cũng đề cập rằng quy trình này cũng có thể được sử dụng với CircuitPython, có nghĩa là dòng bo mạch Raspberry Pi Pico. Adafruit có bài đăng trên blog và liên kết đến toàn bộ quy trình, bao gồm cả nhật ký ChatGPT để tham khảo.


Tác giả: Huy Hoàng Huy Hoàng

0 Bình luận

Hãy để lại bình luận gì đó

NewSLiver

[email protected]

Hình ảnh

© newsliver.com. All Rights Reserved.