Escrever bibliotecas para suportar nossos microcontroladores favoritos é uma grande tarefa, mas e se o ChatGPT pudesse ajudar? O próprio Limor “Ladyada” Fried da Adafruit tem encarregou ChatGPT de escrever drivers Arduino em seu próprio estilo, criando um bot “mini-Limor” para realizar a tarefa.
Ladyada passa muito tempo escrevendo bibliotecas Arduino e produziu centenas de bibliotecas para suportar a impressionante variedade de placas da Adafruit (muitas das quais aparecem em nossa melhor página Grove e Stemma QT). O GPT-4 já foi treinado usando muitos drivers da Adafruit encontrados no GitHub. Esses drivers são escritos no “estilo Ladyada” (Adafruit_BusIO) e isso significa que ele pode criar drivers usando este modelo.
O fluxo de trabalho envolve muitas referências de folhas de dados, tabelas binárias e inserções de bits, que precisam ser compreendidos e convertidos em código C ou Python. Esta tarefa não é fácil (acredite, nós mesmos tentamos). Não existe um formato padrão para obter esses dados. As planilhas de dados podem ser totalmente diferentes.
Para o “mini-Limor”, o fluxo de trabalho de Fried envolve pedir ao ChatGPT para “[write] uma biblioteca arduino no mesmo estilo de ladyada / limor fried”. No exemplo Fried incumbe o ChatGPT de criar um driver para o Luz ambiente VCNL4020 e sensor infravermelho, um sensor baseado em I2C. O fluxo de trabalho usa um plug-in gratuito de análise de PDF (AI PDF) que lê uma planilha de dados, extrai nomes de registros, valores, cria tabelas enum e texto para comentários.
Fried então pede ao ChatGPT para criar um arquivo esqueleto para o VCNL4020, que foi parcialmente bem-sucedido na criação. Em seguida, Fried pede para criar os registros, usando dados diretamente da planilha de dados. Depois disso, Fried passa a fazer a biblioteca.
Este é um processo mais rápido? Bem não. De acordo com a postagem do blog da Adafruit, “O tempo que o ChatGPT leva para escrever um driver é quase o mesmo que o Ladyada levaria” e o driver resultante requer interação humana para verificar se é válido, como Fried afirma no vídeo, O ChatGPT às vezes pode “alucinar” e introduzir erros. Dito isto, libera Fried para realizar outras tarefas.
O trabalho produzido é baseado no trabalho anterior da própria Adafruit, mas a Adafruit confirmou que quando qualquer Large Language Model (LLM) for usado, ele será divulgado e vinculado.
Bons drivers formam a base sobre a qual os alunos podem começar a trabalhar sem se tornarem muito técnicos, especialmente com I2C, SPI e muitos outros protocolos. Se o processo puder ser refinado e automatizado, poderá ajudar desenvolvedores como Adafruit a criar drivers e bibliotecas para muitas das linguagens de programação populares. O processo pode ser usado para oferecer suporte a software de terceiros com a linha de placas Arduino Uno R4. Fried também menciona que esse processo também pode ser usado com CircuitPython, ou seja, a linha de placas Raspberry Pi Pico.
Adafruit tem um postagem no blog e links para todo o processo, incluindo logs do ChatGPT para referência.
Reescreva o texto para BR e mantenha a HTML tags