Skip to content

Arduino: O Guia Iniciante Definitivo!

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?

como aprender a programar arduino

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

plugins premium WordPress

Semana da Automação Com Arduino

Se Cadastre e Receba Acesso a 3 aulas gratuitas na Semana da Automação com Arduino