Вы находитесь на странице: 1из 12

    Inicio Loja  Contato

Arduino Loja

Programação com Arduino – Parte 1 Posts mais recentes

Guia
Básico da
NFC para 0
Arduino

 2 de maio

de 2018

Guia
completo
do Display 0
LCD –
Arduino

 13 de abril

de 2018

Para desenvolver a sua aplicação e colocar as suas ideias em prática com o Arduino,
Tudo
não há como escapar da programação. A escrita do software, mas bem chamado nesse sobre
DRIVER 0
caso de “ rmware”, isto é, um programa que será embarcado em microcontrolador, é a A4988 e
Motor de
etapa mais importante da execução do projeto.
Passo >
Usando o
Depois de feito a arquitetura e elaborado os layouts de ligação de todo hardware que Arduino

fará interface com o Arduino, a próxima etapa é por a mão na massa e escrever o  29 de

código que irá rodar na sua placa. Vamos entender nesse post como é a estrutura e março de 2018

como é feito um rmware para o Arduino. Vamos relembrar quais os conceitos básicos
Guia
das linguagens estruturadas que são importantes e vamos te dar as condições de completo
do
desenvolver as suas primeiras aplicações e andar com as próprias pernas. Vamos lá! 0
NodeMCU
– ESP12 –
O que você precisa saber para começar a programar um Alarme
Arduino? Residencial
IOT (3)
Preparando o seu setup
 13 de

O primeiro passo para começar a programar o Arduíno é fazer o download e instalar a março de 2018

IDE usada para escrever e gravar os códigos na placa. Essa IDE é open-source e está
Guia
disponível para Windows, MAC e Linux. O download pode ser feito diretamente na completo
do 0
página o cial. NodeMCU
– ESP12 –
Após instalar a IDE, é necessário fazer as con gurações iniciais. São passos simples e
Usando
também já foram abordados em nosso post “Desenvolvendo com Arduino: Primeiros Arduino
IDE  (2)
Passos”.
 8 de março

Basicamente, devemos executar as três etapas abaixo: de 2018

1. Alimentar e conectar o Arduino ao PC pelo cabo USB

2. Na IDE, selecionar o modelo da placa

1. Abrir a aba Tools, selecionar a opção Board e depois selecionar Arduino Uno (ou
outro modelo que você esteja utilizando)

3. Selecionar porta serial para a qual a placa foi atribuída

1. Abrir a aba Tools, selecionar a opção Serial Port e depois selecionar a porta
COMX, em que X é o número que o PC associou à porta serial atribuída ao
Arduino.

Feitos esses três passos o Arduino a IDE está pronta para ser usada e para gravar os
códigos na sua placa.

Qual linguagem o Arduino usa?

A linguagem de programação do Arduino é baseada nas famosas linguagens C e C++ e


também na linguagem Wiring.

A linguagem C é dita uma linguagem de baixo nível, isto é, uma linguagem que é
próxima da linguagem dos microcontroladores e processadores, na qual temos que
programar registradores de bits, manipular a memória e executar instruções do
processador. C++ já é uma linguagem de alto nível, ou seja, seu nível de abstração é
maior e ela está mais próxima da linguagem humana do que da dos computadores. Em
linguagens de alto nível nós não manipulamos a memória e os recursos de hardware
diretamente, mas sim por meio de bibliotecas e recursos previamente disponíveis que
deixam a linguagem mais transparente para o programador.

A linguagem Arduino utiliza uma série de bibliotecas e recursos para que o usuário não
tenha que manipular bits e registradores do microcontrolador. Do ponto de vista do
usuário, apenas é utilizado chamadas de funções e escrita de procedimentos lógicos.

Se você já programou alguma dessas linguagens, Arduino não será um problema para
você. Se você nunca programou em C/C++, ou mesmo em linguagem nenhuma,
também não há problemas! O Arduino é muito intuitivo e toda a parte complexa está
encapsulada em bibliotecas e funções.

Como compilar e gravar um programa?

Compilar e gravar um programa no Arduino é muito tranquilo. Primeiro vamos


entender o que é compilar um programa de computador.
Compilar, no contexto da programação, signi ca veri car toda a sintaxe do código e,
caso esteja tudo escrito dentro das regras da linguagem, criar o chamado código
objeto, que é um outro programa, semanticamente idêntico o que você escreveu, mas
que está escrito na linguagem do microcontrolador. O arquivo gerado pelo processo
de compilação é exatamente o arquivo carregado no Arduino na hora de gravá-lo.

Para compilar um programa na IDE do Arduino basta utilizar o atalho ctrl+R, ou então,
acessar o comando de compilar na aba Sketch -> Verify/Compile.

Agora, depois de compilar um programa, precisamos de gravá-lo em nossa placa. Para


fazer isso, certi que-se de que a placa está devidamente conectada na entrada USB do
PC e que a mesma foi reconhecida pela IDE.

Se assim for, basta utilizar o atalho Ctrl+U e será feito o upload do código para a placa.
Ou então, acesse o comando de fazer upload na aba File -> Upload.

O que você precisa saber para entender um programa em


Arduino ?
Um programa de computador possui vários componentes diferentes. Com Arduino não
é diferente. Tal como outras linguagens de programação, ele possui variáveis, funções
e rotinas, estruturas de controle lógico e por aí vai. Vamos entender os principais
componentes de um programa Arduino nessa sessão.

Componentes de um código

Variáveis

Uma variável de um programa é um espaço de memória com tamanho pré-de nido


associado ao tipo da variável criada. Por exemplo, se você precisa fazer uma conta
aritmética simples em seu programa, você pode criar uma variável do tipo Inteiro com
o nome de X. Assim você pode escrever a seguinte linha de código:

X = 2+ 3;

O espaço de memória associado à variável X será preenchido com o valor 5.

As variáveis podem ter tipos diferentes. No Arduino, as variáveis podem ser dos
seguintes tipos:

boolean: valor verdadeiro (true) ou falso (false)

char: um caractere

Byte: tamanho de 8 bits

int: número inteiro de 16 bits com sinal

unsigned int: número inteiro de 16 bits sem sinal

long: número inteiro de 16 bits com sinal

unsigned long: número inteiro de 16 bits sem sinal


oat: número real de precisão simples (ponto utuante)

double: número real de precisão dupla (ponto utuante)

string: sequência de caracteres

void: tipo vazio (não tem tipo)

Dessa forma, dependendo das necessidades matemáticas e características da lógica do


seu programa, você vai precisar de declarar variáveis de um tipo ou de outro.

Atribuição de valor

Atribuição de valor é o ato de atribuir a uma variável que foi criada um determinado
valor para ser armazenado por ela. Isso é feito em Arduino através do sinal de “ =”.

Veja os exemplos abaixo:

Declaração de variáveis no Arduino

No exemplo acima, foi criada uma variável inteira de nome X, e uma variável do tipo
oat de nome Y. Utilizando o sinal de atribuição, nos armazenamos o valor 5 em X, e
1.3 em Y.

Funções e rotinas

Funções e rotinas são trechos de código separados da estrutura principal do programa


que realizam uma determinada tarefa e podem ou não retornar um resultado. Na
de nição clássica, funções são trechos de código que retornam um valor e rotinas são
funções que não retornam nada. No entanto esses dois nomes são usadas de forma
intercambiável no dia a dia.

Por exemplo, se você está escrevendo um programa e precisa fazer um cálculo de


somar algumas variáveis várias vezes no decorrer do código. Ao invés de escrever esse
cálculo várias vezes no decorrer do código, você pode criar uma função com o nome
somaVar(x,y,z) e chamar essa função cada vez que quiser fazer a conta.

As funções tem a seguinte sintaxe:

Declarando funções com Arduino

Veja que uma função é composta de:

Tipo da função : é o tipo de valor que a função retorna. No nosso exemplo o


resultado retornado pela função é um inteiro, então o tipo da função será Int. É
declarado antes do nome da função(em vermelho no exemplo). Caso a função não
retorne nada, o tipo deve ser Void.

Nome da função: é o nome que você vai usar no decorrer do código para chamar a
função. Está em azul no nosso exemplo acima.

Parâmetros da função: Os parâmetros são os valores que a função recebe para


poder fazer cálculos ou procedimentos lógicos. Esses valores devem ter um tipo
obrigatoriamente. No nosso exemplo, temos três parâmetros, x, y e z, do tipo
inteiro. Os parâmetros são declarados entre parênteses logo depois do nome da
função.

Corpo da função: Em laranja no nosso exemplo está o corpo da função em si. Após
a declaração da função, o procedimento lógico que você deseja escrever deve
estar entre chaves. Entre essas duas chaves você vai escrever o cálculo ou qualquer
tarefa que você queira executar com a função.

Estruturas de controle de uxo e tomada de decisão

No decorrer do seu código você sempre precisará tomar decisões, direcionar o uxo
do algoritmo e suas tarefas e cálculos, fazer loops para preencher vetores ou
implementar uma tarefa lógica e várias outras possibilidades.

Tudo isso é feito através das estruturas de controle de uxo. Vamos destacar as cinco
principais delas, dividindo-as em dois grupos: Tomada de decisão e controle de uxo.

Tomada de decisão

If..else

A estrutura básica para tomada de decisão é o if..else. Como o próprio nome sugere,
ele toma uma decisão baseada numa avaliação lógica. Se o resultado dessa avaliação
for verdadeira, a estrutura executa o código subsequente ao if, se o resultado for
falso, é executado o código subsequente ao else.

A sintaxe é a seguinte:

If ( expressão lógica )

  ….

          Else

  …..

Exemplo:

Utilizando if…else com arduino

No exemplo acima, a variável X receberá o valor 5, pois o resultado da expressão lógica


entre parênteses no if é verdadeiro. Caso ela fosse falso, o valor de X seria 2.

Existem algumas variações, como o if…elseif….else, e também algumas formas


abreviadas de escrever a estrutura. No entanto, se você entendeu o if..else básico,
todas as demais variações serão naturais para você.

switch()
O switch é uma estrutura de tomada de decisão que avalia o valor de uma variável de
controle e direciona o código para um caso especí co. Vejamos como é a sintaxe para
entender melhor.

Utilizando switch() com arduino

Na estrutura mostrada acima, a variável x é que controla a tomada de decisão. Se o


valor de x for igual a 1, o código vai para linha Case 1. Se x for igual a 2, Case 1 é
ignorado e o código executado é o que se segue em Case 2. O número de casos é
inde nido, mas recomenda-se que não seja mais de uma dezena e não menos que três.

Na eventualidade de não existir nenhum Case correspondente ao valor da variável de


controle, o código executado é o Default, geralmente escrito ao nal do Switch.

Os breaks no meio do switch dizem para o compilador para e sair do switch,


continuando o código que vem logo abaixo do fechamento das chaves que delimitam o
switch.  São colocados depois de cada Case para evitar que avaliações desnecessárias
sejam feitas.

Controle de uxo

As estruturas de controle de uxo são os famosos Loops usados para fazer iterações e
executar tarefas. Os dois principais deles são o for e o while.

 For

A sintaxe do for é a seguinte:


Usando for com arduino

Essa estrutura signi ca que o código inserido entre as chaves que se seguem ao for
será executado x vezes. Ou seja, se x for igual a 5, o loop rodará 5 iterações. A cada
iteração o valor da variável de controle i é iterada também. Assim, na primeira iteração
o valor de i é zero, na segunda é um, na terceira é dois, e assim por diante até que i seja
igual ou maior a x.

While

O while também é uma estrutura em loop muito utilizada.  O trecho de código inserido
entre as chaves que se seguem ao while é executado sempre, desde que a expressão
lógica seja verdadeira. No momento em que a expressão ĺógica do while for falsa, o
loop não será executado mais.

Exemplo:
While com arduino

No exemplo acima, o loop será iterado quinze vezes. Veja que ao começar o While a
variável de controle é igual a zero. E dentro do while há uma linha: i++. O operador ++
faz com que a variável seja somada em 1 unidade. Ou seja, a cada iteração do while, a
variável i é somada de 1 unidade. Assim, na primeira iteração, i começa com zero,mas é
somada de 1 unidade e vira um. Na segunda iteração i começa igual a um, é iterada e
vira dois. E assim por diante até que i seja igual a quinze. Nesse momento a expressão
lógica do while se torna falsa e o corpo do while não é mais executado.

Estrutura padrão do código arduino e bibliotecas

Em todo código do Arduino você encontrará sempre duas funções: a void setup() e
void loop(). Além deles, você comumente verá linhas com a diretiva #include, usada
para incluir bibliotecas no código.

Bibliotecas são coleções de funções e de nições de parâmetros e variáveis que ao invés


de serem incluídas no programa principal, são salvas em um arquivo separado e incluídas
no programa principal por meio de uma linha de código. Assim, todas as funções e
de nições dentro dessas bibliotecas cam disponíveis em seu código. Bibliotecas são
muito úteis pois permitem dividir um programa complexo em mais de um arquivo. Os
arquivos de biblioteca em geral possuem a extensão .h.

A função void setup() é onde são feitas as inicializações e con gurações do


microcontrolador do Arduino. A função void Loop() é onde vamos escrever o nosso
código em si. Trata-se do loop in nito que vai rodar enquanto o Arduino estiver ligado.
Todas as ações do nosso código deverão estar nesse loop.

Veja na gura abaixo um exemplo em que são incluídas duas bibliotecas, uma para
trabalhar com strings e outra para controlar displays LCD:
Includes no Arduino

Essa estrutura padrão em conjunto com os outros conceitos que você acabou de
conhecer serão as ferramentas de código principais de todos os seus programas em
Arduino.

Continua a aprender com a leitura da parte 2 desse post. Lá falaremos sobre as


interfaces de hardware do placa Arduino e como controlar e utilizá-las em suas
aplicações. Bons estudos e qualquer dúvida deixe o seu comentário!

sssss
Avaliações: 5.0. de 2 votos.

Vitor Vidal

Engenheiro eletricista, mestrando em eng. elétrica e apaixonado por


eletrônica, literatura, tecnologia e ciência. Divide o tempo entre
pesquisas na área de sistemas de controle, desenvolvimento de
projetos eletrônicos e sua estante de livros.

Artigos Relacionados

2 de maio de 2018 13 de abril de 2018 29 de março de 2018

Guia Básico da NFC Guia completo do Tudo sobre DRIVER


para Arduino Display LCD – A4988 e Motor de
Arduino Passo > Usando o
Arduino
 

Leia mais Leia mais


Leia mais

7 COMENTÁRIOS eletrogate 
1 Iniciar sessão

Mostrar primeiro os mais votados


 Recomendar ⤤ Partilhar

Escreva o seu comentário...

INICIE SESSÃO COM O


OU REGISTE-SE NO DISQUS ?

Nome

Paloma Espíndola • há um mês − ⚑


que ótimo, muito bem explicado!
△ ▽ • Responder • Partilhar ›

cesar • há 5 meses − ⚑
estou com uma dúvida, no exemplo do comando (while), a iteração do valor de " i " não deveria
ser igual a 15, para sair do loop do comando while?
△ ▽ • Responder • Partilhar ›

jalzerio > cesar • há 5 dias − ⚑


While quer dizer" enquanto" é mais ou menos assim ENQUANTO i for menor que 15 faça
o que esta ai embaixo....
△ ▽ • Responder • Partilhar ›

Vitor > cesar • há 5 meses − ⚑


Olá, César!
Obrigado pelo comentário.

Para sair do loop, a condição lógica do while tem que ser falsa, independente dos
operadores lógicos usados. No exemplo, usamos o "<" (menor que), pois o objetivo é que
o loop seja iterado 15 vezes. Ou seja, enquanto i for menor que 15, continua dentro do
loop, e assim que ele fica igual a quinze, ele sai do loop.

Não sei se era essa sua dúvida, qualquer coisa pode nos perguntar novamente.

Abraços
△ ▽ • Responder • Partilhar ›

cesar > Vitor • há 5 meses − ⚑


muito obrigado. Tenho o arduino uno em casa e sempre que tenho tempo, faço
alguns projetos.
Abr
△ ▽ • Responder • Partilhar ›

cesar • há 5 meses − ⚑
Muito bom, gostei da matéria.
Muito interessante e principalmente quando se faz na prática e percebe seus resultados.
△ ▽ • Responder • Partilhar ›

Vitor > cesar • há 5 meses − ⚑


Obrigado pelo comentário, César!
Abraços!
△ ▽ • Responder • Partilhar ›

TAMBÉM NO ELETROGATE

Atualizando firmware do ESP-01 Medidor de corrente e energia com Arduino:


2 COMENTÁRIOS • há 6 meses Sensor de corrente e tensão
Vitor — Olá, Cláudio! Obrigado pelo 9 COMENTÁRIOS • há 8 meses
Imagem
comentário!O ESP costuma vir com o firmware Vitor — Olá, Tiago!É natural o surgimento de
para comandos AT como padrão. Uma boa Imagem
dúvidas, mesmo em circuitos simples a gente
tem que para e refletir algumas vezes. Qualquer

Sensor Ultrassônico HC-SR04 com Arduino GPS Neo-6M com Arduino – Aprenda a usar
2 COMENTÁRIOS • há um ano 4 COMENTÁRIOS • há 4 meses
Jose Gustavo Abreu Murta — Bom dia Marcos, Gabriel Silva — Bacana! Então da para usar
Imagem
O Arduino é alimentado com uma pilha de 9 Imagem
esses dados em tempo real no google maps?
Volts. E o motor usa 4 pilhas AA.

Eletrogate Siga-nos

Visite nossa Loja


Quem somos
Apostila de Arduino
Contato

Eletrogate © 2017 Todos direitos reservados.

Вам также может понравиться