7 melhores práticas para quem é iniciante em Arduino

Este artigo trata de algumas práticas que acho interessante adotarmos quando formos escrever códigos e fazer a montagem de circuitos com o Arduino. São dicas para garantir que você se divirta e, ao mesmo tempo, se lembre de detalhes que economizarão tempo e otimizarão seus projetos com Arduino.

[ Hits: 5.442 ]

Por: Flavio Resende Babos em 13/07/2020 | Blog: https://flaviobabos.com.br/arduino


Introdução



Primeiramente para se ter uma noção de projetos com Arduino deve-se sempre atentar à montagem e à programação feita, como por exemplo não esquecer da pontuação (;, barras, colchetes), sempre verificar o projeto antes de enviá-lo à placa e não fazer alterações no esquema do projeto antes de desplugar o Arduino do USB ou de remover sua fonte de alimentação.

Dessa forma, os próximos 7 tópicos se trata de algumas dicas para fazermos projetos de excelência com Arduino e para usufruirmos da plataforma aproveitando-a ao máximo.

1. Cuidados com o esboço do projeto

Deve-se ter um cuidado com os detalhes de um código. São nos pormenores de pontuação, ortografia e escrita de variáveis que nos faz perder tempo procurando o erro em um código. Com o tempo, isso vai ficando automático assim como as funções que temos na IDE para programação.
Figura 1: Funções dentro da IDE com um código de projeto que pisca 2 LED's e acende outro LED ao pressionar um botão.
Fonte: https://flaviobabos.com.br/arduino/

Uma observação sobre o ambiente de desenvolvimento do Arduino: ele não possui um depurador incorporado. Se você está acostumado a reparar código com os depuradores integrados em ambientes de desenvolvimento como Eclipse ou MPLAB, precisará ser inteligente.

Você precisará empregar métodos mais primitivos para solucionar problemas, como inserir uma linha de código para retornar algum texto ou ativar um LED quando uma seção do código for alcançada. A falta de um depurador é provavelmente uma coisa boa no desenvolvimento de suas habilidades de resolução de problemas

2. Procure ajuda em fóruns como Viva o Linux, o fórum do Arduino, fórum do SparkFun entre outros

Você provavelmente adquiriu um Arduino porque tinha um projeto em mente e / ou queria aprender mais sobre eletrônica ou programação. Vai ser muito mais difícil aprender se os seus materiais didáticos têm pouca documentação e suporte. Você deve se concentrar nas lições e conceitos, e não na solução de problemas.

A propósito, a solução de problemas é uma parte importante e inevitável da jornada, mas você não deve se prejudicar quando estiver começando. Se você estiver tendo problemas com algum projeto, há uma boa chance de alguém já tiver tido o mesmo problema, resolvido e publicado em um fórum. Tire vantagem disso.

3. Faça boas anotações do que você faz ao aprender e desenvolver nos seus projetos

Isso é especialmente importante quando você experimenta diferentes repetições do mesmo programa. Será muito fácil perder a noção de qual versão fez o quê e por quê. Você pode pensar que não precisará dessas notas de revisão, mas garanto que você precisará. O número de alterações que você pode fazer durante apenas um fim de semana tentando obter um projeto da maneira certa pode ser de centenas.

Eu venho de um histórico de uso extensivo do Fritzing. Esse software open-source possui uma variedade muito grande de componentes e ele permite a montagem deles de forma fácil e prática: arrastar e soltar. É uma ferramenta ideal que ajuda a documentar e compartilhar projetos de protótipos eletrônicos, ensinar eletrônica e fabricar placas de circuito impresso profissionais (PCBs).

Um exemplo dessa representação, é o projeto da IDE que falei no primeiro tópico. Abaixo temos ele sendo representado pelo Fritzing; a montagem dos componentes (Figura 2) e do esquema elétrico (Figura 3):
Figura 2: Montagem dos componentes do projeto
Fonte: https://flaviobabos.com.br/arduino/
Figura 3: Esquema elétrico do projeto
Fonte: https://flaviobabos.com.br/arduino/

4. Aprenda a usar as bibliotecas do Arduino

E se grandes pedaços do código que você precisa já estiverem escritos e disponíveis? Isso realmente não aceleraria seu tempo para a conclusão do projeto? Bem, esse código está lá fora e está apenas esperando você pegar e carregar nos seus esboços. Essas coleções de código são chamadas de bibliotecas.

Para realmente explicar as bibliotecas, será necessário muito mais tempo e espaço do que o disponível em um artigo sobre dicas rápidas, mas aqui está uma analogia para ajudá-lo a entender o conceito. Uma biblioteca é como uma caixa de ferramentas para um conjunto de tarefas relacionadas. Você só precisa incluir as caixas de ferramentas que contêm as ferramentas necessárias em seu projeto.

Por exemplo, incluída no ambiente de desenvolvimento do Arduino está a biblioteca "wire". Wire é uma caixa de ferramentas cheia de ferramentas para comunicações seriais I2C. As ferramentas elétricas automatizam a maioria das tarefas envolvidas nas comunicações I2C. Você pode escrever um código para fazer tudo isso sozinho, o que definitivamente vale a pena para a experiência de aprendizado, mas não será necessário se você aprender a empregar bibliotecas de maneira eficaz.

5. Aprenda as portas básicas e esteja atento à comunicação paralela

Para projetos, cuidado com acessórios, como monitores, que requerem comunicação paralela. As portas COM paralelas usam muitos pinos em comparação com as portas seriais. Você pode descobrir que o seu Arduino nem sequer tem pinos suficientes para isso e, se tiver, pode acabar usando tantos pinos que não sobraram mais nada. Se você está apenas aprendendo a controlar um LCD de comunicação paralela, opte por ele, mas dispositivos como este usam muitas portas I/O do Arduino para projetos que envolvem vários dispositivos.

6. Não esqueça seus limites de memória

A maioria das pessoas que estão começando, irão iniciar com uma das placas básicas, como a ONU ou um Trinket. Eventualmente, você irá encher a memória e maximizar a RAM. Atingir esse limite é uma coisa boa. Essa afirmação pode parecer ridícula, mas permita-me explicar.

Inevitavelmente, codificadores iniciantes e experientes criam códigos desorganizados e amplos que ocupam mais recursos do que o necessário. Quase sempre existem maneiras de reforçar o código. O objetivo é torná-lo o mais compacto possível e realmente aproveitar ao máximo os recursos que você possui. Atingir o limite de memória força você a ficar esperto. Obriga você a reexaminar o que já fez e procurar maneiras de melhorá-lo. Se você simplesmente passar para um outro modelo de Arduino com mais memória, estará se privando dessa experiência. Antes disso, é de extrema importância que se tenha conhecimento da maior parte das principais funções e termos de programação em C/C++ dentro da IDE. Para isso, durante meu caminhar com a plataforma Arduino, eu reuni alguns termos essenciais e vou disponibilizar uma cópia aqui para download (Figura 4).
Figura 4: Mapa mental de termos em programação C/C++ aplicados à Arduino
Para download em .pdf do arquivo, acesse: https://flaviobabos.com.br/arduino/

Eventualmente, talvez você precise obter uma placa com mais memória RAM e mais memória, mas não se apresse. Aqui está uma pequena dica para você começar: se você achar que está ficando sem RAM, tente este truque para ler cadeias de texto diretamente da memória do programa e não da RAM:

Serial.println (F ("seu texto aqui"));

A macro F inserida aqui entre parênteses impede o carregamento do texto na RAM no início do programa. A string é lida diretamente da memória flash quando necessário.

7. Algumas placas Arduino não possuem capacidade USB nativa

Eu sei que não faz sentido à primeira vista. Você pode dar upload nos códigos diretamente do PC para a placa, que possui uma entrada USB, conectando-o à porta USB do seu computador. Isso está correto, mas para algumas placas do Arduino, softwares muito inteligentes estão sendo executados nos bastidores. Placas como o Adafruit Trinket têm um carregador de inicialização pré-instalado que permite que o microcontrolador atue o suficiente como um dispositivo USB para carregar esboços.

A maioria dos microcontroladores não lida com comunicações USB internamente. Existem duas maneiras pelas quais isso geralmente é contornado e uma maneira menos comum usada pelo Trinket. A primeira solução comum é colocar um chip separado na placa para lidar com a comunicação USB. Esse chip também converte dados da conexão USB em um formato compreensível pelo UART do microcontrolador principal. O outro método comum envolve uma peça de hardware separada que se conecta ao micro quando você deseja se comunicar com o micro via USB.

Estou referenciando especificamente o Trinket nesta dica por causa de um incidente que tive na faculdade em que alguns Trinkets foram solicitados a usar como interface entre um PC executando o LabVIEW e uma caixa de controle experimental. Quando os Trinkets chegaram, percebemos que eles não tinham hardware de controle USB integrado.

Foi um problema facilmente solucionado. Acabamos de pedir alguns modelos UNOs do Arduino. Eles possuem um chip ATmega dedicado e integrado para lidar com a comunicação USB. Era um problema menor, mas que poderia ter sido evitado se eu tivesse lido essa dica antes do pedido do hardware.

Em resumo, se você pretende usar a porta USB do seu Arduino para conectar-se a um computador, câmera ou unidade USB, verifique se a placa que você compra possui um controlador USB incluído. Ou, você pode adicionar capacidade USB com um shield USB.

Conclusão

O Arduino provou ser um ótimo ambiente de aprendizado para qualquer pessoa, iniciante ou engenheiro, que queira codificar e implementar um sistema eletrônico. É divertido e útil, e com as informações e abordagens iniciais certas, pode ser um processo de aprendizado agradável. Lembre-se que qualquer impasse que tiver ou problema que encontrar em seus projetos, sempre recorra à comunidade Arduino ou o Viva o Linux que possuem milhares de postagens desde artigos à perguntas relacionados a projetos de makers. Dessa forma, a comunidade Arduino é tão ampla que seu problema pode ter sido tópico de discussão por alguém em algum fórum ou blog/site!

Recentemente eu escrevi um artigo bem completo que aborda o hardware do Arduino até o software de programação (IDE). Vale a pena dar uma conferida pois lá você irá encontrar 7 melhores dicas de boas práticas de programação, 5 projetos legais em que o Arduino é usado, 2 exemplos passo a passo de como montar led's e como aproveitar a plataforma Arduino da melhor forma! Acesse o link:
   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Arduino - Uma plataforma open source para desenvolvimento de eletrônica

Controlando Arduino via IRC

Arduino - Uma plataforma open source para desenvolvimento de eletrônica

GNOME vs KDE - Usabilidade ou Personalização

Introdução ao gerenciador de janelas i3

  
Comentários
[1] Comentário enviado por ElmiroDuarte em 19/07/2020 - 15:24h

Bom, me amarro em Arduino, sabe de algum canal interessante sobre o assunto ?
Eu sempre fico de olho no embarcados. alguém conhece outro ?

[2] Comentário enviado por frbabos em 19/07/2020 - 19:12h


Olá Elmiro, tudo bem? Estou com um projeto pessoal onde irei postar projetos com Arduino, postarei artigos sobre IoT e tecnologia no geral. Talvez você interesse, coloquei o site no ar mês passado mas já pode acessá-lo: https://flaviobabos.com.br/arduino/

[3] Comentário enviado por Fernando_Machado em 19/07/2020 - 19:45h

Parabéns, artigo muito bom.
Sugestão: IDE's alternativas a original, Sublime Text com pacote Deviot ( https://github.com/gepd/Deviot/wiki ) ou Visual Studio Code com a extensão Platformio IDE.

[4] Comentário enviado por frbabos em 19/07/2020 - 21:22h


Obrigado Fernando! Eu comecei a utilizar o VS a algum tempo, realmente é uma boa plataforma para programar com arduino. No entanto, tenho uma dúvida, para projetos com a esp32, conseguimos programar nele normalmente?

[5] Comentário enviado por Fernando_Machado em 20/07/2020 - 18:06h


[4] Comentário enviado por frbabos em 19/07/2020 - 21:22h


Obrigado Fernando! Eu comecei a utilizar o VS a algum tempo, realmente é uma boa plataforma para programar com arduino. No entanto, tenho uma dúvida, para projetos com a esp32, conseguimos programar nele normalmente?

Flávio, já programei esp32 no VS, funciona perfeitamente.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts