Muitas pessoas me perguntam como começar no Arduino, já que é o meio mais fácil para entrar no mundo da automação e robótica.
Nesse Artigo vou te ensinar a fazer seu primeiro programa com o Arduino e você vai entender como funciona a estrutura básica da programação utilizada em todos os programas e além disso conceitos muito importante.
O que você irá aprender?
- Como começar no Arduino;
- Algoritmo: A coisa mais importante em todas linguagens de programação;
- O que é entrada e saída;
- Para que serve a função void setup;
- Para que serve a função void Loop;
- Declaração de variáveis;
- Funcionamento código Blink.
Sumário
Arduino como começar: Primeiro programa
Eu destrinchei o máximo possível cada detalhe da programação para que você entenda a fundo como tudo funciona e ao longo do artigo vou te dar algumas sacadas para você começar no Arduino, que vão ajudar muito na sua jornada.
Todo programador expert de Arduino que você vê aí, começou com esses comandos básicos que vou te mostrar agora. Sabe aquela história de que todo mestre já foi aprendiz? Todo mundo teve que passar por isso aqui, então vem comigo!
Eu super recomendo que você tenha um Arduíno e um LED para nosso 1° programa, mas se por acaso não tiver você pode usar o tinkercad que é um simulador de Arduino online, para acessar clique aqui.
Algoritmo Arduino
Você pode estar se perguntando como começar no Arduino? Vamos falar agora sobre um dos seus grandes pilares: PROGRAMAÇÃO.
Não importa o tipo de programação que você vai utilizar, a coisa mais importante com certeza é a lógica de programação, o algoritmo. E o que é um algoritmo?
Nada mais é do que uma receita de bolo, você tem um passo-a-passo para chegar em um determinado objetivo, no caso de um bolo é….
- Primeiramente bata as claras em neve e reserve.
- Misture as gemas, a margarina e o açúcar até obter uma massa homogênea.
- Se ainda assim não estiver homogêneo, continue batendo.
- Em seguida acrescente o leite e a farinha de trigo aos poucos.
- Por último, adicione as claras em neve e o fermento.
- Despeje a massa em uma forma grande de furo central untada e enfarinhada.
- Asse em forno médio 180 °C, preaquecido, por aproximadamente 40 minutos ou ao furar o bolo com um garfo, este saia limpo.
Então você tem um passo a passo para fazer o bolo, com Arduino é a mesma coisa, você tem uma sequência de passos para chegar em um determinado objetivo.
Outro Exemplo.
Então vamos pensar no controle de temperatura de um aquário para ver como é que funciona o Algoritmo Arduino.
- Leia o sensor de temperatura
- Se a temperatura for menor do que 20°C, ligue a resistência
- Se a temperatura for maior do que 20°C, deixa a resistência desligada
Dessa forma, com essa sequência de passos alcançamos nosso objetivo que é manter a temperatura do aquário sempre maior que 20°C.
Como programar um Arduino
Portanto, vamos entender o código que já vem quando você abre um novo programa na IDE do Arduino.
Essa é a estrutura básica e vou te explicar cada função.
void setup: Função que é executada apenas uma vez quando o Arduino é ligado ou reiniciado, aqui fica suas configurações.
Comentário: Um comentário não influencia na programação em si, ele serve apenas para você ou alguém que pegar seu código se orientar, comentários na IDE do Arduino ficam com a cor cinza.
Linha de comentário: Começa com “//” é um comentário de linha, ou seja, torna apenas aquela linha em um comentário.
Bloco de comentário: Começa com “/* ” e termina com “ */ ” tudo que estiver entre esses símbolos se tornaram um comentário.
No padrão usamos no início de todos programas o seguinte comentário
/*Programa: Controle de vazão (Nome do programa)
Autor: Luan Silver – GuiaRobotica.com (Nome do Autor)
Descrição do programa: Este programa será para controlar a vazão de ... (breve descrição)
*/
Chaves: As chaves servem para marcar o início e o fim de alguns comandos, por exemplo no bloco SETUP tudo que estiver dentro da chave inicial e final faz parte dele.
Void Loop: É uma função que fica executando repetidamente onde fica o código principal, o Arduino quando está ligado ele não para, no mínimo está verificando se um botão foi pressionado ou não, conferindo o estado de um sensor…
A linguagem utilizada no Arduino é C/C++ ela diferencia caracteres MAIÚSCULOS e minúsculas, então preste atenção neste detalhe quando estiver digitando seus códigos, pois se digitar digitalwrite não irá funcionar por que o comando correto é digitalWrite com W maiúsculo.
Sensores e atuadores Arduino: Entradas e saídas
O que é entrada e saída no Arduino? Vou explicar aqui rapidinho.
Entrada é quando você recebe alguma informação, então vamos comparar ao nosso corpo humano, o paladar, olfato, visão são todas entradas, é como percebemos o mundo. Os nossos olhos veem e nosso cérebro absorve e quando eu executo uma ação, é uma saída.
Imagine que você está vendo um carro vindo em sua direção, você percebe isso e decide sair da frente dele, então seus olhos viram para depois seu corpo executar uma ação.
Portanto, o ato de perceber o mundo ao seu redor é uma entrada e o ato de realizar uma ação é uma saída.
Agora vamos trazer para o mundo da Robótica e Automação, pensando no mesmo controle de temperatura do aquário.
Temos um sensor de temperatura que vai ficar lendo a temperatura da água e toda vez que ela ficar menor do que 20 graus, o Arduino irá mandar um sinal, ligando assim uma resistência para aquece-la.
Temos que o sensor é uma entrada, o Arduino o “cérebro” e a resistência uma saída.
Existe uma gama de sensores para controle de:
- Vazão
- Pressão
- Presença de gás
- Temperatura
- Sensores capacitivos e indutivos…E muitos outros.
Já na saída temos os atuadores, são eles…
- Motores simples
- Motores de passo
- Servo motores
- Resistências
- Lâmpadas…Entre outros.
Tudo que for executar uma ação é uma saída.
Configurações iniciais da IDE
Vamos fazer um programa utilizando apenas um LED e o Arduino, este é um dos programas básicos ótimo para começar no Arduino e entender seus conceitos.
Dica: Quando você for programar é legal ter um cabo longo vai ser muito útil em alguns projetos.
Conecte o cabo no Arduino e no computador > vá em ferramentas > Placa e selecione o modelo de placa que está usando (uno, mega, nano…).
Após feito isso, vá em >Porta e verifique se reconheceu sua placa e selecione a porta adequada.
Arduino blink
Agora vamos fazer o LED ficar piscando, conhecido como Blink.
Conecte o LED e um resistor de 220ohm ao pino 13 como mostra a imagem, lembrando que os LEDs têm polaridade, ou seja se conecta-lo errado não irá funcionar.
Em um LED novo a perna maior é o positivo e a menor o negativo, outro modo de identificar é que o lado negativo tem um chanfro, então o positivo deve ser conectado ao pino 13 e o negativo ao GND.
Vamos a programação, irei deixar pronta aqui, mas prefiro que você digite invés de apenas copiar OK?
Uma dica muito importante: Acostume-se a digitar os códigos mesmo quando eu te passar por aqui o código pronto, mas digite por que quando der algum erro você vai estar acostumado e rapidinho vai resolvê-lo.
É comum encontrar pessoas que apenas copiam e colam, e na hora de criar seus próprios programas não conseguem por não estarem acostumados. Aproveite que vai começar no Arduino e tome isso como regra, afinal, se você só cópia você não é um programador.
void setup()
{
pinMode(13, OUTPUT); // Diz que o pino 13 é uma saída
}
void loop()
{
digitalWrite(13, HIGH); // Liga o LED
delay(1000); // Espera 1 segundo
digitalWrite(13, LOW); // Desliga o LED
delay(1000); // Espera 1 segundo
}
Explicação de cada comando
Agora vou te explicar cada detalhe, lembra do void setup? A função de configuração que é executada uma única vez, nela vai estar o seguinte código:
void setup() {
pinMode(13, OUTPUT);
}
Nessa função de configuração eu tô dizendo que o pino 13 é uma saída ( OUTPUT).
//Diz que o pino 13 é uma saída Coloquei alguns comentários apenas para nos orientar.
Vamos ver a função void loop que é executada repetidamente.
digitalWrite (13,HIGH); este comando manda um sinal alto para o pino 13 do Arduino
Onde digitalWrite -> Diz que é uma saída digital, o número 13 é referente ao pino, e o HIGH envia um sinal ALTO, ou seja, manda energia. E não esqueça do “ ; ” no final do comando.
Observe que a letra W é maiúscula, se colocar minúscula não irá funcionar.
delay(1000); O delay é o tempo que o Arduino fica travado esperando esse tempo passar neste caso estou usando um delay de 1000 milisegundos equivalente a 1 segundo, pois o Arduino trabalha com essa unidade de tempo.
digitalWrite (13, LOW); O Comando é o mesmo que usamos ali em cima digitalWrite (13,HIGH); basta substituir o sinal HIGH(alto) por LOW (baixo) agora podemos mandar um sinal de 0v para o pino 13, desligando assim o LED.
Com a programação pronta carregue para a placa, sempre quando vamos carregar ele pede para salvar, assim, basta colocar um nome e salvar.
Esse é o resultado.
Deixando o programa mais organizado
Vamos mudar uma coisinha para tornar esse programa mais organizado e padrão.
Vou criar uma variável chamada LED e atribuir o número 13 para que eu não precise ficar digitando 13 toda hora, apenas vou usar o nome LED que fica mais fácil para entender.
Basta usar o comando int LED=13; no início do programa
Criar uma variável de números inteiros com o nome LED e atribui o valor 13 a ela.
Então, agora eu posso substituir todo lugar que eu usei o número 13 pelo nome LED, esse é o padrão usado, não coloca o número das portas, a gente cria e armazenar um valor nessa variável e sempre usa o nome dela, porque assim fica mais fácil para identificar ao longo do programa e não ficar digitando 13, 13, 13 Simplesmente coloco o nome que dei ao pino.
Pode ser para sensor LEDs, Atuadores enfim tudo que eu ligar ao Arduino.
Assim fica a nova programação:
int LED = 13;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
Agora vamos subir essa nova programação para o Arduino, e o que muda agora?
Não muda nada fisicamente, mas no programa fica muito mais organizado.
Esse programa que usamos também vem como um exemplo básico no próprio Arduino, basta ir em Arquivo>exemplos>01. Basics> Blink
Detalhe importante: Toda vez que você cria um programa, o código que vai para Arduino não é esse que digitamos, o que vai para o Arduino é uma linguagem de máquina, um tanto de zero e um.
Essa linguagem aqui é apenas para a gente se orientar melhor, para eu e você entender quando clica em carregar ele faz conversão para mandar.
Resumo
Arduino como começar
Entenda a estrutura básica utilizada em todos os programas, assim como todos seus conceitos.
Algoritmo Arduino
É uma sequência de passos para chegar em um determinado objetivo.
Como programar um Arduino
Void Setup: Executado apenas uma vez quando o Arduino é ligado ou reiniciado, onde declaro entradas, saídas…
Void Loop: É executada repetidamente, repare que o LED vai ficar piscando enquanto o Arduino estiver ligado, pois essa função que fizemos está dentro do void loop.
int LED = 13; Cria uma variável do tipo número inteiro chamada LED e atribui o número 13.
pinMode(LED, OUTPUT); Declara a variável LED como uma saída.
digitalWrite(LED, HIGH); Manda um sinal ALTO para o LED.
digitalWrite(LED, LOW); Manda um sinal BAIXO para o LED.
delay(1000); Trava a programação e fica esperando esse tempo, que é dado em milisegundos.
Sensores e atuadores Arduino: Entradas e saídas
Entrada- São sensores, meios pelo qual o Arduino recebe informações.
Saída- Quando mando informações, quando queremos acionar alguma coisa.
Arduino blink
Um dos programas básicos do Arduino, podemos encontra-lo em Arquivo>exemplos>01. Basics> Blink.
Então é isso…
Eu gostaria de saber como anda seu nível de programação? Se era realmente seu primeiro programa, se ficou com alguma dúvida, comenta aí que vou te responder.
Forte abraço e tamo junto!
Link permanente
Eu quero fazer o curso completo, e quero com todo material do Arduino para poder estudar e trabalhar onde comprar por favor me oriente
Link permanente
Opa Jorge tudo bem?
Olha eu indico um curso de um amigo meu muito didático e vem com vários bônus, é um dos mais completos que conheço e está com um preço super barato por tudo que entrega, da uma olhadinha lá:
http://guiarobotica.com/recomendo/Treinamento-ArduH4CK
Ele também tem uma loja de componentes para comprar tudo que precisa aqui o link:
https://lobodarobotica.com/
Usando o cupom GUIAROBOTICA5 Você vai ter 5% de desconto.
Forte abraço…E bons estudos.