Comandos_Arduino
Comandos_Arduino
Para programar no Arduino, utiliza-se uma linguagem de alto nível semelhante a C/C++ e
geralmente tem os seguintes componentes para elaborar o algoritmo:
• Estruturas
• Variáveis –
• Operadores booleanos, de comparação e aritméticos –
• Estrutura de controle –
• Funções digitais e analógicas
Estruturas
São duas funções principais que deve ter todo programa em Arduino.
A função setup() é chamada quando um programa começa a rodar. Use esta função para
inicializar as suas variáveis, os modos dos pinos, declarar o uso de bibliotecas, etc. Esta função
será executada apenas uma vez após a placa Arduino ser ligada ou ressetada.
setup(){ }
Após criar uma função setup() que declara os valores iniciais, a função loop() faz exatamente o
que seu nome sugere, entra em looping (executa sempre o mesmo bloco de código), permitindo
ao seu programa fazer mudanças e responder. Use esta função para controlar ativamente a
placa Arduino.
loop(){
}
Variáveis
Variáveis são expressões que você pode usar em programas para armazenar valores como a
leitura de um sensor em um pino analógico. Aqui destacamos algumas:
- Variáveis Booleanas
Variáveis boolenas, assim chamadas em homenagem a George Boole, podem ter apenas dois
valores: verdadeiro (true) e falso (false).
- Char
Um tipo de dado que ocupa 1 byte de memória e armazena o valor de um caractere ASCII.
Caracteres literais são escritos entre aspas.
Operadores booleanos
Estes operadores podem ser usados dentro da condição em uma sentença if.
- || (“ou” lógico )
Verdadeiro se algum dos operandos for verdadeiro, ou seja, se a primeira ou a segunda
condição for verdadeira. Exemplo:
- ! (negação )
Verdadeiro apenas se o operando for falso. Exemplo:
if (!x) { // ...
}
é verdadeiro apenas se x for falso (ou seja, se x for igual a 0).
O programa verifica se algumaVariavel (colocar acentos em nomes de variáveis não é uma boa
idéia) é maior que 50. Se for, o programa realiza uma ação específica. Colocado de outra
maneira, se a sentença que está dentro dos parêntesis é verdadeira o código que está dentro
das chaves roda; caso contrário o programa salta este bloco de código.
As chaves podem ser omitidas após uma sentença if se só houver uma única linha de código (
definida pelo ponto e vírgula) que será executado de modo condicional :
A sentença que está sendo verificada necessita o uso de pelo menos um dos operadores de
comparação:
x == y (x é igual a y) x != y (x é não
igual a y) x < y (x é menor que y)
x > y (x é maior que y) x <= y (x é
menor ou igual a y) x >= y (x é
maior ou igual a y)
Operadores aritméticos
= (igualdade)
+ (adição)
- (subtração)
* (multiplicação)
/ ( divisão )
% (resto da divisão)
Estes operadores podem ser usados dentro da condição em uma sentença if.
Estruturas de controle
São instruções que permitem decidir e realizar diversas repetições de acordo com alguns
parâmetros. Entre os mais importantes podemos destacar:
- Switch/case
Do mesmo modo que as sentenças if, as switch/case controlam o fluxo dos programas.
Switch/case permite ao programador construir uma lista de “casos” dentro de um bloco
delimitado por chaves. O programa checa cada caso com a variável de teste e executa o código
se encontrar um valor idêntico.
- While
While fará com que o bloco de código entre chaves se repita contínua e indefinidamente até que
a expressão entre parentesis () se torne falsa. Algo tem que provocar uma mudança no valor da
variável que está sendo verificada ou o código vai sempre ficar dando voltas dentro do while.
Isto poderia ser o incremento de uma variável ou uma condição externa, como o teste de um
sensor.
var = 0; while( var < 200){ // algum código que se
repete 200 vezes var++;
}
- For
A sentença for é utilizada para repetir um bloco de código delimitado por chaves. Um contador
com incremento normalmente é usado para controlar e finalizar o loop. A sentença for é útil para
qualquer operação repetitiva, e é frequentemente usada com arrays para operar em conjuntos de
dados ou de pinos.
Funções digitais
- pinMode ()
Configura o pino especificado para que se comporte ou como uma entrada (input) ou uma saída
(output).
Sintaxe:
pinMode(pin, mode)
- digitalRead ()
Lê o valor de um pino digital especificado, HIGH ou LOW.
Sintaxe:
digitalRead(pin)
- digitalWrite ()
Escreve um valor HIGH ou um LOW em um pino digital.
Sintaxe:
digitalWrite(pin, valor)
- analogRead ()
Lê o valor de um pino analógico especificado. A placa Arduino contém um conversor analógico-
digital de 10 bits com 6 canais. Com isto ele pode mapear voltagens de entrada entre 0 e 5 volts
para valores inteiros entre 0 e 1023. Isto permite uma resolução entre leituras de 5 volts / 1024
unidades ou 0,0049 volts (4.9 mV) por unidade.
Sintaxe:
analogRead(pin)
- analogWrite ()
Escreve um valor analógico (onda PWM) em um pino. Pode ser usado para acender um LED
variando o brilho ou girar um motor a velocidade variável.
Sintaxe:
analogWrite(pin, valor)