Comandos e Funções do Arduino C

Tempo de leitura: 3 minutes
Olá, amantes de robótica! Nesse post mostraremos os comandos nativos mais usados do arduino. Abaixo de cada código disponibilizamos links de consulta de exemplos dos códigos no site  arduino.cc. Nossa intenção é proporcionar uma busca rápida sobre qual comando nos ajudará em um determinado código do arduino.

Variáveis

Tipo de dado             Intervalo numérico
boolean                      0 a 1 (false ou true)
int                                -32.768 a 32.767
unsigned int              0 a 65.535
Word                           0 a 65.535
Char                            -128 a 127
usigned char            0 a 255
Byte                           0 a 255
void                           keyword
Long                          -2.147.483.648 a 2.147.483.647
Usigned long            0 a 4.294.967.295
float                           -3,4028235e+38 a 3,4028235e+38
Double                      -3,4028235e+38 a 3,4028235e+38
string                        Sequência de caracteres
array (vetor)            Sequência de variáveis

Operadores de Comparação

==  Igual
!=   Diferente
<    Menor
>    Maior
>=  Maior ou igual
<=  Menor ou igual

Operadores Lógicos

&&   AND
||      OR
!       NOT

Símbolos Compostos

x++      Incrementa x
x–        Decrementa x
x+=y    x = x+y
x-=y     x = x-y
x*=y    x = x*y
x/=y    x = x/y

Símbolos

{}               Entre as chaves fica o conteúdo da função
;                 Final de um comando/linha
//               Linha de comentário
/* … */      Comentário de varias linhas

Entradas Analógicas

anologRead(Pino)

Lê entrada analógica 0-5V transformando em 10 bit’s (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.

Saídas/entradas Digitais e PWM

pinMode(porta,Tipo)

Define se a porta será uma entrada (TIPO=INPUT) ou uma saída (TIPO= OUTPUT).

digitalWriter (pino, VL)

Coloca 0V (VL =LOW) ou 5V(VL = HIGH) na saída.

digitalRead(pino)

Lê o sinal digital no pino citado.

analogWrite(pino, x)

Saída PWM 500Hz ( 0 <= x <=255).

tone(pino,frequência,duração)

Gera uma frequência no pino durante um determinado tempo.

tone(pino,frequência)

Gera uma frequência no pino até que ocorra um comando de mudança de Freq.

noTone(pino)

Cessa a geração do tom no pino.

pulseIn(pino,valor,espera)

Mede a largura em microssegundo de um pulso no pino digital, “valor” é o tipo de pulso a ser medido (LOW ou HIGH), espera (opcional) faz com que a medida do pulso só comece após o tempo em microssegundos especificado.

attachInterrupt(pino,função,modo)

É uma interrupção, ou seja, caso a condição “modo” ocorra no pino especificado a função é executada imediatamente.
  • LOW Dispara a interrupção quando o pino está em 0
  • CHANGE Dispara sempre q o pino muda de estado (borda 0-> 1 ou viceversa)
  • RISING Somente borda de subida (0 para 1)
  • FALLING Somente borda de descida (1 para 0)

 

Funções Matemáticas e de tempo

delay(t)

O programa tem uma pausa de t milissegundos (1000 milissegundos = 1 segundo)

delayMicroseconds(t)

O programa tem uma pausa de t microssegundos

millis()

Retorna o tempo, em milissegundos, desde que o programa começou a rodar

randomSeed(referência)

Gera uma referência para o primeiro número aleatório (Função setup)

random(min,max)

Gera um valor pseudo aleatório int entre min e max (a função acima é necessária)

abs(x)

Retorna o módulo (valor absoluto) do número real passado como parâmetro

map(valor,min1,max1,min1,max2)

Converte um valor inserido em uma faixa de valores para um proporcional em uma nova faixa de valores. Mudança de range.

sin(x)

Retorna o seno de x(rad)

Comunicação Serial

Serial.begin(TAXA)

Habilita a porta serial e fixa a taxa de transmissão (função setup)

Serial.end()

Desabilita a porta serial para permitir o uso dos pinos digitais

Serial.flush()

Libera caracteres que estão na linha serial, deixando-a vazia e pronta para entradas e saídas.

Serial.available()

Retorna o número de bytes disponíveis para leitura no buffer da porta serial.

Serial.read()

Lê o primeiro byte que está no buffer da porta serial

Serial.print(‘valor’,formato)

Envia para a porta serial um caractere ASCII

Serial.println(‘valor’,formato)

O mesmo que o anterior, porem pula uma linha

Funções

If(condição)
{}
else
{}

Função Se e Se não

if(condição)
{}
else if(condição 2)
{}

Função Se em cascata

switch(expressão){
case expressão = x: Bloco1;
break;
case expressão = y: Bloco2;
break;
default: bloco3
}

Função Caso

while(condição){bloco
funções}

Função Enquanto

do{
bloco de instruções
}
while(condição);

Função Enquanto, ela é executada pelo menos uma vez.

for(var;condição;incremento)
{}

Função Para

(condição) ? bloco1:bloco2;

Operador ternário ’?’ caso condição seja verdadeira ele executa o bloco 1, caso
contrario, executa o bloco 2.
Ex.: y = (x >10)? 15:20; // caso x>10 y=15, caso contrario, y = 20
Visits: 1 Visits: 1200522