Escolar Documentos
Profissional Documentos
Cultura Documentos
Variáveis Do Arduino
Variáveis Do Arduino
Variveis
Uma varivel uma forma de nomear e guardar um valor para usar depois pelo
programa, como dados de um sensor, ou ainda, um valor intermedirio de um
clculo.
Declarando Variveis
Antes de serem utilizadas, as variveis devem ser declaradas. Declarar uma
varivel significa definir seu tipo, e opcionalmente, configurar um valor inicial
(iniciar a varivel). Variveis no precisam ser iniciadas (conferidas um valor)
quando estas so declaradas, mas muitas vezes se faz til.
int inputVariable1; // iniciando varivel
int inputVariable2 = 0;
// iniciando e atribuindo valor
Programadores devem considerar o tamanho dos nmeros que desejam guardar,
escolhendo o tipo da varivel. Variveis sobrecarregam quando o valor excede o
espao designado para guard-lo. Veja abaixo por exemplo.
Escopo da Varivel
Outra escolha importante que os programadores enfrentam onde declarar as
variveis? O lugar especfico que as variveis so declaradas influencia como vrias
funes do programa aenxergaro. Isto chamado de escopo.
Iniciando Variveis
Variveis devem ser iniciadas (designadas um valor) no momento que elas so
declaradas ou depois. sempre uma boa prtica de programao verificar que uma
varivel tenha dados vlido dentro dela, antes de ser utilizada.
Exemplo:
int calibrationVal = 17; // declara calibrationVal e configura seu
valor
// inicial
Sobrecarga da Varivel
Quando variveis tm seu valor excedido pela capacidade mxima do seu tipo, elas
sobrecarregam e voltam para seu valor mnimo. Isto acontece em ambas direes.
int x
x = -32,768;
x = x - 1;
// x contm 32,767 - sobrecarrega na direo
negativa
x = 32,767;
x = x + 1;
// x contm -32,768 sobrecarrega
Usando Variveis
Uma vez que variveis tenham sido declaradas, elas podem ser usadas
configurando a varivel para o valor que se deseja armazenar, atravs do operador
de atribuio (um sinal de igual). O operador de atribuio diz ao programa para
atribuir o que estiver do lado direito do sinal de igual, dentro da varivel que deve
ficar do lado esquerdo do sinal de igual.
inputVariable1 = 7;
// configura varivel chamada
inputVariable1
// atribuindo o valor 7
inputVariable2 = analogRead(2); // configura varivel chamada
inputVariable2
// atribuindo a voltagem lida de uma porta
// analgica 2
Exemplos
int lightSensVal;
char currentLetter;
unsigned long speedOfLight = 186000UL;
char errorMessage = {"escolha outra impresso"}; // vide: string
Uma vez que a varivel tenha sido configurada (conferida um valor), voc pode
testar seu valor para verificar se atende determinada condio, ou usar seu valor
diretamente. Por exemplo, o cdigo a seguir testa se o valor da varivel
inputVariable2 menor que 100, ento configurando um atraso (delay) baseado no
valor de inputVariable2, que no mnimo 100.
if (inputVariable2 < 100)
{
inputVariable2 = 100;
}
delay(inputVariable2);
Este exemplo mostra todas as trs operaes teis que se pode fazer com
variveis. Ele testa a varivel (if (inputVariable2 < 100)), configura o valor 100
caso o teste tenha passado (inputVariable2 = 100), e utiliza o valor armazenado
na varivel como parmetro de entrada na funo delay (delay(inputVariable2)).
Nota de Estilo: Voc deve nomear suas variveis descrevendo as caractersticas
do valor guardado, para fazer o cdigo ficar mais agradvel de ler. Nomes de
variveis como tiltSensor oupushButton te ajudam (ou a qualquer um que esteja
lendo seu cdigo) a entender o que a varivel representa.
Voc pode nomear uma varivel com qualquer palavra que voc quiser, desde que
no sejam as reservadas do Arduino (link para palavras reservadas). Evite nomes
que comecem com nmeros.
char
byte
int
unsigned int
long
unsigned long
float
double
Exemplo:
int gPWMval;
void setup()
{
// ...
}
void loop()
{
int i;
// "i" apenas "visvel" dentro da funo "loop"
float f; // "f" apenas "visvel" dentro da funo "loop"
// ...
for (int j = 0; j <100; j++){
// varivel j pode ser apenas
// acessada dentro das chaves do lao-for
}
}
Traduo: Renato Aloi
Original em Ingls:http://arduino.cc/en/Reference/VariableDeclaration
http://arduino.cc/en/Reference/scope
Funes do Arduino
Segmentar o cdigo em funes possibilita ao programador criar partes modulares,
que desempenham tarefas bem definidas, e ento retornam para a rea do cdigo
a partir de onde foram chamadas. O caso tpico de criao de uma funo quando
existe a necessidade de executar a mesma tarefa diversas vezes durante um
programa.
Para programadores acostumados ao BASIC, funes do Arduino fornecem (e
estendem) a utilidade do uso das subrotinas (GOSUB em BASIC).
Padronizar fragmentos de cdigo em funes tem vrias vantagens:
Elas tambm tornam mais fcil reutilizar cdigo, tornando-o mais modular, e
com um efeito colateral benfico: fica mais agradvel de ler o cdigo.
Existem duas funes mandatrias nos Sketches do Arduino: setup() e loop().
Outras funes podem ser criadas fora das chaves ({}) dessas duas funes. Como
um exemplo, vamos criar uma funo simples para multiplicar dois valores.
Exemplo
Outro exemplo
Esta funo abaixo far a leitura de um sensor, cinco vezes, utilizando a funo
analogRead(); calculando a mdia das cinco leituras. Ela tambm converte os dados
da leitura para 8 bits (0-255), e a inverte, invertendo assim a sada.
int ReadSens_and_Condition(){
int i;
int sval = 0;
for (i = 0; i < 5; i++){
sval = sval + analogRead(0);
}
sval = sval / 5;
// mdia
sval = sval / 4;
sval = 255 - sval;
return sval;
}
Para chamar a funo, ns apenas fazemos a atribuio para uma varivel.
int sens;
sens = ReadSens_and_Condition();