---
title: "Arduino: As 7 melhores praticas para quem e iniciante na plataforma"
url: "https://maker.wiznet.io/frbabos/projects/Arduino-As-7-melhores-praticas-para-quem-e-iniciante-na-plataforma/"
markdown_url: "https://maker.wiznet.io/frbabos/projects/Arduino-As-7-melhores-praticas-para-quem-e-iniciante-na-plataforma/md"
type: "UCC: User Created Content"
author: "frbabos"
author_url: "https://maker.wiznet.io/frbabos/"
original_author: "frbabos"
original_url: "https://maker.wiznet.io/2020/09/14/arduino-as-7-melhores-praticas-para-quem-e-iniciante-na-plataforma/"
published: "2020-09-14"
language: "en"
hardware: ["Arduino"]
likes: 0
views: 318
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Arduino: As 7 melhores praticas para quem e iniciante na plataforma

> Arduino: As 7 melhores praticas para quem e iniciante na plataforma

Original author: frbabos (source: https://maker.wiznet.io/2020/09/14/arduino-as-7-melhores-praticas-para-quem-e-iniciante-na-plataforma/)

## Components

- **Arduino** x 1

## Article

**INTRODUCAO** Primeiramente para se ter uma nocao de projetos com?*Arduino*?deve-se sempre atentar a montagem e a programacao feita, como por exemplo nao esquecer da pontuacao (;, barras, colchetes), sempre verificar o projeto antes de envia-lo a placa e nao fazer alteracoes no esquema do projeto antes de desplugar o Arduino do USB ou de remover sua fonte de alimentacao. Dessa forma, os proximos 7 topicos se trata de algumas dicas para fazermos projetos de excelencia com Arduino e para usufruirmos da plataforma aproveitando-a ao maximo. **1. CUIDADOS COM O ESBOCO DO PROJETO**

![](https://maker.wiznet.io/uploads/2020/09/Arduino-IDE.png)

*Figura 1: Funcoes dentro da IDE com um codigo de projeto que pisca 2 LED's e acende outro LED ao pressionar um botao.*

Uma observacao sobre o ambiente de desenvolvimento do Arduino: ele nao possui um depurador incorporado. Se voce esta acostumado a reparar codigo com os depuradores integrados em ambientes de desenvolvimento como Eclipse ou MPLAB, precisara ser inteligente. Voce precisara empregar metodos mais primitivos para solucionar problemas, como inserir uma linha de codigo para retornar algum texto ou ativar um LED quando uma secao do codigo for alcancada. A falta de um depurador e provavelmente uma coisa boa no desenvolvimento de suas habilidades de resolucao de problemas Mas, voce deve estar se perguntando, [o que e Arduino](https://flaviobabos.com.br/arduino/)? Arduino e uma plataforma de prototipagem eletronica de hardware livre e de placa unica, projetada com um microcontrolador Atmel AVR com suporte de entrada/saida embutido, uma linguagem de programacao padrao, a qual tem origem em Wiring, e e essencialmente C/C++ **2. PROCURE AJUDA EM FORUNS COMO VIVA O LINUX, O FORUM DO ARDUINO, FORUM DO SPARKFUN ENTRE OUTROS** Voce provavelmente adquiriu um Arduino porque tinha um projeto em mente e / ou queria aprender mais sobre eletronica ou programacao. Vai ser muito mais dificil aprender se os seus materiais didaticos tem pouca documentacao e suporte. Voce deve se concentrar nas licoes e conceitos, e nao na solucao de problemas. A proposito, a solucao de problemas e uma parte importante e inevitavel da jornada, mas voce nao deve se prejudicar quando estiver comecando. Se voce estiver tendo problemas com algum projeto, ha uma boa chance de alguem ja tiver tido o mesmo problema, resolvido e publicado em um forum. Tire vantagem disso. Para entrar no meu grupo VIP do Whats'app de Automacao e de Internet das Coisas, acesse este [link](https://bit.ly/Apostila-e-Grupo-WhatsApp). **3. FACA BOAS ANOTACOES DO QUE VOCE FAZ AO APRENDER E DESENVOLVER NOS SEUS PROJETOS** Isso e especialmente importante quando voce experimenta diferentes repeticoes do mesmo programa. Sera muito facil perder a nocao de qual versao fez o que e por que. Voce pode pensar que nao precisara dessas notas de revisao, mas garanto que voce precisara. O numero de alteracoes que voce pode fazer durante apenas um fim de semana tentando obter um projeto da maneira certa pode ser de centenas. Eu venho de um historico de uso extensivo do Fritzing. Esse software open-source possui uma variedade muito grande de componentes e ele permite a montagem deles de forma facil e pratica: arrastar e soltar. E uma ferramenta ideal que ajuda a documentar e compartilhar projetos de prototipos eletronicos, ensinar eletronica e fabricar placas de circuito impresso profissionais (PCBs). Um exemplo dessa representacao, e o projeto da IDE que falei no primeiro topico. Abaixo temos ele sendo representado pelo Fritzing; a montagem dos componentes (Figura 2) e do esquema eletrico (Figura 3):

![](https://maker.wiznet.io/uploads/2020/09/montagem-componentes-do-projeto.png)

*Figura 2: Montagem dos componentes do projeto*

![](https://maker.wiznet.io/uploads/2020/09/esquema-eletrico-projeto-acender-leds.png)

*Figura 3: Esquema eletrico do projeto*

Alem desse tipo de projeto, voce tambem encontra diversos na internet. Como por exemplo, como programar [sensores de temperatura DHT11](https://flaviobabos.com.br/sensor-de-temperatura-arduino/) e muitos outros [projetos iniciantes e complexos](https://flaviobabos.com.br/melhores-projetos-com-arduino/) para fazer voce mesmo com o uso da plataforma Arduino. Atualmente existem diversos sensores de temperatura alem do DHT11, como: LM35, TMP36 e o DS18B20. Vale a pena fazer projetos com esses sensores e ver a temperatura e umidade variarem conforme o ambiente em que estiver! **4. APRENDA A USAR AS BIBLIOTECAS DO ARDUINO** E se grandes pedacos do codigo que voce precisa ja estiverem escritos e disponiveis? Isso realmente nao aceleraria seu tempo para a conclusao do projeto? Bem, esse codigo esta la fora e esta apenas esperando voce pegar e carregar nos seus esbocos. Essas colecoes de codigo sao chamadas de bibliotecas. Para realmente explicar as bibliotecas, sera necessario muito mais tempo e espaco do que o disponivel em um artigo sobre dicas rapidas, mas aqui esta uma analogia para ajuda-lo a entender o conceito. Uma biblioteca e como uma caixa de ferramentas para um conjunto de tarefas relacionadas. Voce so precisa incluir as caixas de ferramentas que contem as ferramentas necessarias em seu projeto. Por exemplo, incluida no ambiente de desenvolvimento do Arduino esta a biblioteca "wire". Wire e uma caixa de ferramentas cheia de ferramentas para comunicacoes seriais I2C. As ferramentas eletricas automatizam a maioria das tarefas envolvidas nas comunicacoes I2C. Voce pode escrever um codigo para fazer tudo isso sozinho, o que definitivamente vale a pena para a experiencia de aprendizado, mas nao sera necessario se voce aprender a empregar bibliotecas de maneira eficaz. **5. APRENDA AS PORTAS BASICAS E ESTEJA ATENTO A COMUNICACAO PARALELA** Para projetos, cuidado com acessorios, como monitores, que requerem comunicacao paralela. As portas COM paralelas usam muitos pinos em comparacao com as portas seriais. Voce pode descobrir que o seu Arduino nem sequer tem pinos suficientes para isso e, se tiver, pode acabar usando tantos pinos que nao sobraram mais nada. Se voce esta apenas aprendendo a controlar um LCD de comunicacao paralela, opte por ele, mas dispositivos como este usam muitas portas I/O do Arduino para projetos que envolvem varios dispositivos. **6. NAO ESQUECA SEUS LIMITES DE MEMORIA** A maioria das pessoas que estao comecando, irao iniciar com uma das placas basicas, como a ONU ou um Trinket. Eventualmente, voce ira encher a memoria e maximizar a RAM. Atingir esse limite e uma coisa boa. Essa afirmacao pode parecer ridicula, mas permita-me explicar. Inevitavelmente, codificadores iniciantes e experientes criam codigos desorganizados e amplos que ocupam mais recursos do que o necessario. Quase sempre existem maneiras de reforcar o codigo. O objetivo e torna-lo o mais compacto possivel e realmente aproveitar ao maximo os recursos que voce possui. Atingir o limite de memoria forca voce a ficar esperto. Obriga voce a reexaminar o que ja fez e procurar maneiras de melhora-lo. Se voce simplesmente passar para um outro modelo de Arduino com mais memoria, estara se privando dessa experiencia. Antes disso, e de extrema importancia que se tenha conhecimento da maior parte das principais funcoes e termos de programacao em C/C++ dentro da IDE. Para isso, durante meu caminhar com a plataforma Arduino, eu reuni alguns termos essenciais e vou disponibilizar uma copia aqui para download (Figura 4).

![](https://maker.wiznet.io/uploads/2020/09/principais-funcoes-para-voce-saber-durante-a-programacao-em-Arduino.png)

*Figura 4: Mapa mental de termos em programacao C/C++ aplicados a Arduino*

Eventualmente, talvez voce precise obter uma placa com mais memoria RAM e mais memoria, mas nao se apresse. Aqui esta uma pequena dica para voce comecar: se voce achar que esta ficando sem RAM, tente este truque para ler cadeias de texto diretamente da memoria do programa e nao da RAM: Serial.println (F ("seu texto aqui")); A macro F inserida aqui entre parenteses impede o carregamento do texto na RAM no inicio do programa. A string e lida diretamente da memoria flash quando necessario. **7. ALGUMAS PLACAS ARDUINO NAO POSSUEM CAPACIDADE USB NATIVA** Eu sei que nao faz sentido a primeira vista. Voce pode dar upload nos codigos diretamente do PC para a placa, que possui uma entrada USB, conectando-o a porta USB do seu computador. Isso esta correto, mas para algumas placas do Arduino, softwares muito inteligentes estao sendo executados nos bastidores. Placas como o Adafruit Trinket tem um carregador de inicializacao pre-instalado que permite que o microcontrolador atue o suficiente como um dispositivo USB para carregar esbocos. A maioria dos microcontroladores nao lida com comunicacoes USB internamente. Existem duas maneiras pelas quais isso geralmente e contornado e uma maneira menos comum usada pelo Trinket. A primeira solucao comum e colocar um chip separado na placa para lidar com a comunicacao USB. Esse chip tambem converte dados da conexao USB em um formato compreensivel pelo UART do microcontrolador principal. O outro metodo comum envolve uma peca de hardware separada que se conecta ao micro quando voce 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 nao 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 comunicacao 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 voce pretende usar a porta USB do seu Arduino para conectar-se a um computador, camera ou unidade USB, verifique se a placa que voce compra possui um controlador USB incluido. Ou, voce pode adicionar capacidade USB com um shield USB. **CONCLUSAO** O Arduino provou ser um otimo ambiente de aprendizado para qualquer pessoa, iniciante ou engenheiro, que queira codificar e implementar um sistema eletronico. E divertido e util, e com as informacoes e abordagens iniciais certas, pode ser um processo de aprendizado agradavel. Lembre-se que qualquer impasse que tiver ou problema que encontrar em seus projetos, sempre recorra a comunidade Arduino ou ao site do [Flavio Babos](https://flaviobabos.com.br/) que sao nesses ambientes que possuem milhares de postagens desde artigos a perguntas relacionados a projetos de makers. Dessa forma, a comunidade Arduino e tao ampla que seu problema pode ter sido topico de discussao por alguem em algum forum ou blog/site! Recentemente eu escrevi um artigo bem completo que aborda o hardware do Arduino ate o software de programacao (IDE). O que e Arduino? Entao, vale a pena dar uma conferida pois la voce ira encontrar 7 melhores dicas de boas praticas de programacao, 5 projetos legais em que o Arduino e usado, 2 exemplos passo a passo de como montar led's e como aproveitar a plataforma Arduino da melhor forma! Confira agora!

---

Source: https://maker.wiznet.io/frbabos/projects/Arduino-As-7-melhores-praticas-para-quem-e-iniciante-na-plataforma/
