Primeiramente, aqui você verá os principais passos para aprender a programar Arduino. Essa versátil placa foi criada em 2005 para auxiliar estudantes de design. Isso mesmo! Quem teve a ideia foi o professor de eletrônica Massimo Banzi, que buscava uma maneira de ensinar eletrônica e programação aos alunos do curso de Design.
Para te ajudar com seus projetos, confira o Treinamento completo de Arduino ARDUHACK!
Dessa forma, o Arduino surge como uma forma muito funcional de aprender sobre o mundo da eletrônica, robótica e tecnologias. Seja para hobbistas, estudantes ou curiosos, para aprender Arduino (outra qualquer outra placa voltada à prototipagem), podemos dividir em duas partes:
- Hardware: É a parte física do projeto, componentes eletrônicos, ligações, todas as peças que compõem o circuito junto com o Arduino.
- Software: São os programas que fazem com que o dispositivo funcione, todas as instruções são listadas linha por linha na Interface de Desenvolvimento (IDE)
Caso você ainda não tenha instalado a IDE do Arduino, clique AQUI para ver o passo a passo.
Sendo assim, o nosso foco é sobre o Software. Como aprender a programar Arduino? Listamos sete passos que podem te ajudar, veremos detalhadamente sobre eles mais a frente:
1º – Entenda o que é a Linguagem C e C++
2º – Conheça os tipos de variáveis
3º – Conheça as funções
4º – Conheça as estruturas
5º – Faça uma lista com todas as tarefas que você que você quer o Arduino execute, por exemplo: acender o Led, desligar o Led, piscar de 5 em 5 segundos.
6º – Comece por exercícios simples, crie os comandos para realizar as tarefas listadas.
7º – Pratique sempre que aprender algo novo! O melhor jeito de garantir o aprendizado é colocando as mãos na massa.
Qual linguagem vamos usar? – Como aprender a Programar Arduino
Antes de continuar, vamos entender melhor o que é a uma linguagem de programação. Imagine um computador, ele precisa processar as instruções que você quer que ele realize. No caso do Arduino, quem faz isso é o microcontrolador, o “cérebro” da placa.
Entretanto, microcontroladores entendem somente a linguagem de sinais elétricos, como mudanças de tensão. Portanto, é preciso transformar essa linguagem em algo que o ser humano consiga entender. Assim surgem as linguagens de programação, existem muitas delas que se dividem em baixo nível e alto nível.
Desta forma, a linguagem de programação que o Arduino utiliza é baseada em C e C++. A linguagem C é de baixo nível, ou seja, está mais próxima da linguagem da máquina. Já a C++ é de alto nível, isso significa que ela é mais próxima da linguagem que o ser humano entende.
Ainda assim, vale ressaltar que a linguagem do Arduino possui vários recursos e bibliotecas que permitem seu uso de maneira intuitiva. Em outras palavras, a única coisa com que você deve se preocupar, é em como chamar as funções dentro da IDE do Arduino para que elas realizem os procedimentos.
O que é Compilar?
Agora que já sabemos como se comunicar com o Arduino, é preciso “traduzir” a linguagem C/C++ que foi colocada na Interface. Essa tradução será feita pelo botão de compilar, ele confere e transforma a linguagem de programação em uma linguagem que o microcontrolador entenda.
Para compilar você pode clicar no botão compilador ou usar o atalho ctrl+R. Após isso, basta carregar o código para a placa. Mas afinal, como fazemos o código?

VARIÁVEIS – Como Aprender a Programar Arduino
Existem diversas partes que compõem um código no Arduino. Vamos começar pelas variáveis. Imagine que você queira criar um programa que calcule a soma de dois números.
Para armazenar o resultado desse cálculo, temos que criar uma variável. A variável é um pequeno espaço da memória ocupada no Arduino. Por exemplo, se chamarmos o resultado da soma de variável “R”, o comando para calcular ficaria assim:
R = 10 + 15
Portanto, o resultado 25 ocupa o espaço de memória destinado a variável R. O Arduino possui diferentes tipos de variáveis, elas dependem do que você quer armazenar. Em seguida, veja quais são esses tipos:
- int: armazena um número inteiro entre -32768 até 32767. Ex.: 25
- float: armazena um número com casas decimais. Ex.:5.25
- long: armazena um número muito grande. Ex.: 19681985465 (-2,147,483,648 até 2,147,483,647)
- char: armazena um caractere. Ex.: ‘c’
- string: armazena um texto. Ex.: “Hello World”
- bool: armazena um booleano, ou seja, a variável admite somente dois estados, ou ela é verdadeira ou é falta. Ex.: true (1) ou false(0)
Além disso, outro fator é a ATRIBUIÇÃO (=). Já atribuímos anteriormente o resultado da soma para a variável R. Podemos atribuir a uma variável os valores somados anteriormente, como no exemplo abaixo:
int X;
int Y;
int R;
void setup ()
{
X = 10;
Y = 15;
R = X+Y;
}
void loop ()
{
}
As variáveis podem ser constantes ou alteradas, ou seja, o valor pode não mudar no decorrer do programa, assim como pode ser alterado. Podemos citar como exemplo, o uso de um sensor para medir a temperatura, se a temperatura muda durante o dia, a variável que armazena o valor da também muda.
Para aprender tudo sobre Arduino, confira o método Arduhack!
FUNÇÕES – Como Aprender a Programar Arduino
Quando você abre a IDE do Arduino, logo de cara já vê as duas principais funções: void setup ( ) e void loop( ). Mas para que serve uma função? Cada uma delas é responsável por executar determinada tarefa, podendo ou não retornar um valor.
Sendo assim, no caso do void setup ( ), ele é similar a preparação de um voo de avião. Para não ter problemas no voo, o piloto se encarrega de fazer várias verificações: combustível, motor, etc.
Portanto, o setup é responsável por preparar o Arduino para a execução do programa. Tudo o que está dentro dele é executado apenas uma vez quando o Arduino Liga, as verificações e inicializações. Imagine um LED, conectamos ele em uma das portas do Arduino e é ali que ele ficará do início ao fim do projeto. Assim, colocamos essa informação no setup.
Já o loop( ) é responsável por manter o programa repetindo uma tarefa. Para exemplificar, no caso do LED, você quer que ele pisque continuamente, não somente uma vez e depois pare. Portanto, coloque essa instrução no loop.
Além disso, é possível criar várias outras funções e chamá-las dentro do loop ou do setup. Você pode colocar as instruções para o LED piscar diretamente no loop ou criar uma função separada e chamá-lo depois. Veja no exemplo:
void setup ()
{
//Aqui estamos dizendo que o LED está conectado no pino 7, sendo um comando de saída (Output)
pinMode (7, OUTPUT);
}
//Chama a função de Piscar o Led e fica repetindo ela
void loop()
{
PiscaLED();
}
//Função para piscar o LED, ele fica desligado por 5 segundos e Ligado por 5 segundos
void PiscaLED ()
{
digitalWrite(7,HIGH);
delay(5000);
digitalWrite(7,LOW);
delay(5000);
}
ESTRUTURAS – Como Aprender a Progamar Arduino
Agora que entendemos as variáveis e funções, vamos para as estruturas. Durante o código, é preciso tomar decisões. Imagine novamente o sensor de temperatura, pense que você precisa controlar um ambiente.
Se o sensor indicar uma temperatura fria, você programa um ar condicionado para esquentar um ambiente. Por outro lado, se o sensor indica a temperatura quente, deve-se programar para o ar condicionado resfriar o ambiente.
Para que isso seja feito, existem várias estruturas de controle e tomada de decisão. Em seguida, vamos ver quais são elas.
For
Primeiramente, vamos falar sobre o for. Ele é classificado como um laço de repetição, assim como o While que veremos mais a frente. O for faz com que uma ação se repita dentro de um determinado intervalo de valores. Nesse caso, a ação continuará a se repetir para os valores de 0 até 25, pois temos a operação de menor igual (<=) na sintaxe da estrutura.
int R=25;
void setup ()
{
}
void loop ()
{
for (R=0; R<=25; R++)
{
coloque aqui as ações para realizar
}
}
If/else
Sendo assim, outra estrutura é o If/else, chamamos de estrutura condicional. Se a condição for satisfeita (if), então é realizado uma ação, senão (else), outra ação é feita. No exemplo abaixo definimos que R é igual a 25. Enquanto não mudarmos essa variável, a instrução é que o LED continue piscando, caso contrário ele fica desligado.
int R=25;
void setup ()
{
pinMode(7, OUTPUT);
}
void loop ()
{
if (R=25) {
digitalWrite(7,HIGH);
//Acender o Led
delay(5000);
digitalWrite(7,LOW);
//Desliga o Led
delay(5000);
}
else
{
digitalWrite(7, LOW); //Comando para desligar LED
}
Switch
O switch representa uma escolha. Caso a escolha seja 1, o programa realiza a primeira tarefa. Caso você escolha o valor 2, o programa realiza a segunda tarefa e assim por diante.
int valor = 1;
switch(valor)
{
case 1:
aqui você coloca a ação para executar caso está condição seja atendida
break;
case 2:
aqui você coloca a ação para executar caso está condição seja atendida
break;
default:
aqui você coloca qual ação executar caso nenhuma das condições anteriores for atendida
}
While
É uma função muito parecida com o loop, também funciona com o conceito dos laços de repetição. O while faz uma análise de uma variável, e enquanto ela for verdadeira, ele se repete. Diferente do void loop, o while irá se repetir até que tal informação se torne falsa.
Por exemplo, temos a variável “i”, que é igual a 0. Vamos usar dessa informação para aplicar o while. Então, enquanto i for menor que 50, a ação é executada. Perceba que temos a sintaxe “i++”. Isso significa que o valor de i começa em 0, como definido na variável, e cada vez vai tendo o acréscimo de 1 unidade (++), ou seja, 0 + 1, 1 + 1, 2 +1 e assim sucessivamente .
Como estamos dentro do while, isso vai se repetir até que o valor chegue a 50. Quando i se torna maior que 50, então a condição se torna falsa e o laço de repetição chega ao fim.
int i = 0;
void setup ()
{
}
void loop ()
{
while (i<50)
{
i++;
}
}
Bibliotecas
As bibliotecas são como conjuntos de funções e variáveis. Porém, não são escritas no programa principal, mas sim em programas separados. Dessa forma, isso auxilia na organização do código principal. Além disso, como o Arduino é uma plataforma aberta (open source), você pode usar bibliotecas de outros usuários para seus projetos. Na maioria das vezes, elas aparecem com a extensão “.h”
Sendo assim, normalmente há bibliotecas para diversos tipos de aplicação, seja para sensores, atuadores ou Shields. Uma biblioteca é incluída no programa principal através da sintaxe #include. Veja a seguir o exemplo de uma biblioteca para o sensor de temperatura DHT11.
#include <dht11.h>
#define DHT11PIN 4
dht11 DHT11;
void setup()
{
Aqui você faz as inicializações
}
void loop()
{
Aqui você chama as funções que já tem na biblioteca
}
Por fim, vale lembrar que tudo isso é somente o básico para começar a aprender a programar Arduino. Existem muitos outros comandos, e é preciso praticar cada um deles!
Instagram: @lobodarobotica
Facebook: /lobodarobotica
YouTube: /lobodarobotica