Entenda Os Tipos de Variáveis No Arduino 1
Entenda Os Tipos de Variáveis No Arduino 1
filipeflop.com/blog/entenda-os-tipos-de-variaveis-no-arduino/
Vamos exemplificar algo no mundo físico. Você tem uma caixa que pode armazenar
diversas coisas. Em um dado momento você pode armazenar temporariamente uma bola.
Depois, você pode tirar a bola e colocar uma boneca. Depois, tirar a boneca e deixar a
caixa vazia.
É assim que funciona uma variável: seu conteúdo é temporário e pode variar conforme o
fluxo do programa. Pode começar vazia ou ter um valor inicial.
O que podem ser estes dados armazenados? Podem ser o valor em uma conta bancária, a
quantidade de frutas em uma caixa, o nome de uma pessoa, entre milhares de
possibilidades.
1/5
Inteiros: são dados relacionados à números inteiros. Ex: quantidade de vezes que
um botão foi pressionado.
Flutuantes: são dados relacionados à números reais, ou seja, com casas decimais.
Ex: temperatura ambiente.
Caracteres: são dados como letras, números e caracteres especiais. Podem ser
apenas um ou um conjunto, formando palavras ou mensagens inteiras. Ex:
mensagem mostrada em um display.
Booleanos: são dados com apenas duas possibilidades, TRUE ou FALSE. Ex: botão
pressionado ou não pressionado.
A partir dos dados citados anteriormente, é possível escolher os tipos de variáveis usadas
em seu sketch (código) e onde aplicá-las.
Para usar uma variável, é necessário declará-la em algum lugar do código. Ou seja, ela
precisa “existir” antes de ser usada. Por exemplo:
OBS: Não confunda o nome da variável (no nosso caso, x) com o conteúdo da
variável, que no caso pode começar vazia ou conter o valor inteiro 5.
Durante toda a execução do sketch, onde estiver x será remetido a uma variável inteira
com valor inicial, sendo que pode ser mudado conforme execução do código. Seu tipo, no
caso, inteiro, é declarado apenas uma vez, durante utilização não é necessário colocar int
(ou o outro tipo).
Para inteiros é usado int, para flutuantes float, para caractere char e para booleano,
bool.
2/5
Exemplos:
int x;
float temperatura;
char dado = ‘a’;
bool R1 = TRUE;
Algumas observações:
Este comando serve para configurar o pino digital a ser utilizado. Como parâmetros, deve-
se colocar qual pino estamos tratando e sua respectiva configuração (INPUT para entrada
de dados e OUTPUT para saída). Caso não utilize este comando para os pinos do Arduino
utilizados, o sketch não saberá se trata de uma porta de entrada ou saída de dados. Ex:
Para configurar o pino 3 como saída, utilizamos o comando pinMode (3, OUTPUT);
Este comando serve para enviar um estado lógico para um determinado pino. Como
parâmetros, deve-se colocar qual pino estamos tratando e qual o seu estado lógico (LOW
para 0V e HIGH para 5V). Para uso deste comando, anteriormente o pino deve ter sido
configurado como saída através de pinMode. Ex: Para enviar sinal de 5V para acender um
LED no pino 3, utilizamos o comando digitalWrite (3, HIGH);
digitalRead (pino);
Este comando serve para receber um sinal lógico de um determinado pino. Seu único
parâmetro é indicar qual pino deve ser lido. O sinal lido pode ser LOW (0V) ou HIGH
(5V). Mesmo que o sinal esteja entre estes dois valores (0 e 5V), o pino do Arduino vai
3/5
associar com o valor mais próximo.
É desejável que o sinal lido seja armazenado em uma variável para verificação de
condições dentre outros. Para uso deste comando, anteriormente o pino deve ter sido
configurado como entrada através de pinMode. Ex: para a leitura de um sensor de
presença com pino de sinal conectado ao 8 do Arduino, utilizamos o comando
digitalRead (8);
analogRead (pino);
Este comando serve para receber um sinal analógico de um determinado pino. Diferente
de um pino digital, o analógico identifica a variação entre 0V e 5V, considerando 1024
possibilidades de valores.
Para uso deste comando, é necessário verificar se os pinos possuem indicação A (A0 até
A5). Não é necessário utilizar o comando pinMode para configuração. Da mesma forma
que digitalRead, é desejável associar o valor de leitura a uma variável. Ex: para leitura de
um potenciômetro com pino de sinal em A2, utilizamos o comando analogRead (A2);
Este comando serve para enviar um sinal PWM (pulsação por largura de pulso) a um
determinado pino. A maioria dos Arduinos não possui saída analógica, mas possuem
pinos de PWM para “simular” este tipo de saída. Trata-se de uma onda quadrada que
oscila, mantendo-se em nível alto dado um período. Esta média da onda faz com que haja
uma saída com variação entre 0 e 5V, com 256 possibilidades de valores.
4/5
Para uso deste comando, é necessário verificar se os pinos possuem indicação ~ (no
Arduino Uno são 3, 5, 6, 9, 10 e 11). Não é necessário utilizar o comando pinMode para
configuração. Ex: para definir a velocidade de um motor DC no pino 9 com metade de sua
capacidade (0V desligado e 5V capacidade máxima), utilizamos o comando analogWrite
(9, 127);
delay (tempo);
Este comando serve para definir intervalos de tempo entre comandos. A velocidade de
execução de um comando no Arduino é muito rápida, na casa dos microssegundos até
nanossegundos.
5/5