Comandos de Arduino, Variáveis, Funções e Estruturas de comando
Este texto resume os comandos nativos mais usados do arduino.
Variáveis Saídas/entradas Digitais e PWM
Tipo de dado Intervalo numérico pinMode(porta,Tipo)
boolean 0 a 1 (false ou true)
int -32.768 a 32.767 Define se a porta será uma entrada (TIPO=INPUT)
unsigned int 0 a 65.535 ou uma saída (TIPO= OUTPUT).
Word 0 a 65.535
Char -128 a 127
digitalWriter (pino, VL)
usigned char 0 a 255 Coloca 0V (VL =LOW) ou 5V(VL = HIGH) na saída.
Byte 0 a 255
void keyword digitalRead(pino)
Long -[Link] a [Link]
Lê o sinal digital no pino citado.
Usigned long 0 a [Link]
float -3,4028235e+38 a 3,4028235e+38 analogWrite(pino, x)
Double -3,4028235e+38 a 3,4028235e+38
string Sequência de caracteres Saída PWM 500Hz ( 0 <= x <=255).
array (vetor) Sequência de variáveis tone(pino,frequência,duração)
Operadores de Comparação Gera uma frequência no pino durante um
determinado tempo.
== Igual
!= Diferente tone(pino,frequência)
< Menor
Gera uma frequência no pino até que ocorra um
> Maior
comando de mudança de Freq.
>= Maior ou igual
<= Menor ou igual noTone(pino)
Operadores Lógicos Cessa a geração do tom no pino.
&& AND E pulseIn(pino,valor,espera)
|| OR OU Mede a largura em microssegundo de um pulso no
! NOT NÃO (NEGAÇÃO) pino digital, “valor” é o tipo de pulso a ser medido
(LOW ou HIGH), espera (opcional) faz com que a
Incremento e decremento medida do pulso só comece após o tempo em
x++ Incrementa x microssegundos especificado.
x - - Decrementa x
attachInterrupt(pino,função,modo)
Símbolos
{} Entre as chaves fica o conteúdo da função É uma interrupção, ou seja, caso a condição “modo”
ocorra no pino especificado a função é executada
; Final de um comando/linha
imediatamente.
// Linha de comentário
/* */ Comentário de várias linhas LOW Dispara a interrupção quando o pino
Entradas Analógicas está em 0
CHANGE Dispara sempre q o pino muda de
anologRead(Pino) estado (borda 0-> 1 ou viceversa)
RISING Somente borda de subida (0 para 1)
Lê entrada analógica 0-5V transformando em 10 bit’s
FALLING Somente borda de descida (1 para 0)
(resolução 4,9mV). Pinos analógicos podem ser
usados como porta digitais usando a função
pinMode(), quando usado como porta analógica não
necessitam de configuração.
[Link](‘valor’,formato)
Funções Matemáticas e de tempo Envia para a porta serial um caractere ASCII
delay(t) [Link](‘valor’,formato)
O programa tem uma pausa de t milissegundos O mesmo que o anterior, porem pula uma linha
(1000 milissegundos = 1 segundo) Comandos de condição
delayMicroseconds(t) IF/ELSE
O programa tem uma pausa de t microssegundos If(condição)
millis() {comandos}
else
Retorna o tempo, em milissegundos, desde que o
{comandos}
programa começou a rodar
randomSeed(referência) IF/ELSE IF
Gera uma referência para o primeiro número if(condição)
aleatório (Função setup) {comandos}
else if(condição 2)
random(min,max) {comandos}
Gera um valor pseudo aleatório int entre min e max (a
função acima é necessária) SWITCH
abs(x) switch(expressão){
case expressão = x: Bloco1;
Retorna o módulo (valor absoluto) do número real
break;
passado como parâmetro
case expressão = y: Bloco2;
map(valor,min1,max1,min1,max2) break;
default: bloco3
Converte um valor inserido em uma faixa de valores
para um proporcional em uma nova faixa de valores. }
Mudança de range. Comandos de repetição
sin(x) WHILE
Retorna o seno de x(rad)
while(condição){
Comunicação Serial comandos;
}
[Link](TAXA)
Habilita a porta serial e fixa a taxa de transmissão. DO WHILE
[Link]() do{
comandos;
Desabilita a porta serial para permitir o uso dos pinos }
digitais
while(condição);
[Link]() FOR
Libera caracteres que estão na linha serial, deixando-a for(var; condição; incremento)
vazia e pronta para entradas e saídas. {
[Link]() comandos;
}
Retorna o número de bytes disponíveis para leitura no
buffer da porta serial. OPERADOR TERNÁRIO
[Link]() (condição) ? bloco1: bloco2;
Lê o primeiro byte que está no buffer da porta serial
Operador ternário ? caso condição seja
verdadeira ele executa o bloco 1, caso contrário,
executa o bloco 2.