Já faz uma semana que estou brincando meu Arduino Uno novo em folha. Infelizmente a versão Maverick (10.10) do Ubuntu vem com um SDK do Arduino que é incompatível; parece que congelaram a versão estável do pacote pouco antes do lançamento do Uno. A primeira coisa que fiz foi atualizar meu SDK para os pacotes instáveis do Natty (11.04). Basta baixar e instalar manualmente do site do Ubuntu (lembre-se de atualizar tanto o pacote arduino quanto o arduino-core).
A IDE é bem amigável para os programadores casuais e permite escrever programas simples sem muito esforço. Ao primeiro olhar, pode parecer que uma versão não padrão de C/C++ é usada, mas isto se deve ao fato da IDE adicionar headers e a função main() para você automaticamente no momento em que você clica em Upload. Me parece que você pode ter apenas um arquivo de código fonte por projeto, o que é razoável para coisas não muito complexas.
Para aqueles que desejam desenvolver de maneira tradicional usando linha de comando, eu criei este template baseado em CMake para o Arduino Uno. Ele foi feito de tal forma que possibilita adicionar suporte a outros modelos de Arduino apenas criando um novo arquivo com as configurações do hardware. Não há restrição de uso deste template em outras distribuições Linux (nem mesmo em outros sistemas operacionais, uma vez que o CMake roda em Mac e Windows também), mas claro que modificações podem ser necessárias. Patches são sempre bem-vindos. Usando o template CMake para Arduino
Você vai precisar, claro, dos pacotes do cmake instalados e uma versão compatível do SDK do Arduino (veja acima como resolver esta questão Ubuntu Maverick x Uno). Apenas o pacote arduino-core é necessário para rodar este template.
Faça download da última versão aqui:
Esta é uma versão modificada do exemplo clássico chamado Blink, convertido em C/C++ padrão (é estranho o fato das bibliotecas do Arduino serem escritas em uma mistura de C e C++ e não apenas C). Este exemplo é bacana porque lhe dá uma resposta visual sem ser necessário espetar algum componente extra na placa. Parece que quase todas as vesões do Arduino possuem um LED embutido ligado ao pino 13. Como o cmake não é tão conhecido (o que é uma pena por ser uma ferramente excelente), segue as instruções de como compilar o exemplo:
Você pode exportar a variaǘel de ambiente ARDUINO_PORT ou editar o arquivo CMakeLists.txt para alterar a porta no qual seu dispositivo está conectado. Provavelmente você não vai precisar mexer nisso se estiver usando o combo Ubuntu Maverick e Arduino Uno.
Dois targets extras foram adicionados ao Makefile para tornar as coisas mais fáceis:
make flash – Vai "flashar" (gravar o software) na hardware conectado em ARDUINO_PORT.
make reset – Reinicia o hardware (mais ou menos o mesmo que apertar o botão de reset na placa).
Dicas Minha forma predileta de depuração de software é usando printf(). A versão modificada do Blink que está sendo usada no template contém algumas mensagens de debug nesta forma. Use o minicom para ver estas mensagens pelo terminal:
Você precisa sair do minicom antes de "flashar" o hardware novamente. Faça isso usando CTRL+A e depois X.
Aviso Ao seguir este tutorial e usar o template do buildsystem, você pode potencialmente destruir seu Arduino e transformá-lo em um peso de papel (não muito bom, uma vez que ele é bem leve). Você está assumindo este risco, eu não me responsabilizo por nada.
Postado em dezembro 23, 2010 às 10:26 por Thiago · Link permanente
Em: desenvolvimento, en, linux, nerd · Com as tags: arduino, buildsystem, cmake, hack, hardware, howto, ubuntu