A estrutura básica da linguagem de programação do Arduino é bastante simples: ela encapsula dois blocos de funções que são formados por outros blocos de funções escritas em linguagem C/C++. O primeiro bloco de funções forma a função setup( ); o segundo, a função loop( ).
Função: Em linguagens de programação são como sub-rotinas ou procedimentos; são pequenos blocos de programas usados para montar o programa principal. Elas são escritas pelo programador para realizar tarefas repetitivas, ou podem ser importadas prontas para o programa em forma de bibliotecas.
Declaração da Função: Toda função deve ser declarada antes de ser chamada atribuindo-lhe um tipo e um nome seguido de parênteses, onde serão colocados os parâmetros de passagem da função. Depois do nome são definidos entre as chaves { e } os procedimentos que a função vai executar.
A função setup() é chamada quando um programa começa a rodar. Use esta função para inicializar as sua variáveis, os modos dos pinos, declarar o uso de livrarias, etc. Esta função será executada apenas uma vez após a placa Arduino ser ligada ou ressetada.
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.
Exemplo
/*
Blink Acende e apaga um LED com intervalos de 1 segundo repetidamente.
Este código de exemplo é de domínio publico.
*/
// Você pode ou não conectar um diretamente na placa como na imagem.
int led = 13; // cria uma variável do tipo inteiro com o nome led e valor 13// a função setup roda uma única vez quando a placa é alimentada
// ou quando o botão de reset é pressionado
void setup() {
// inicializa o pino digital como uma saída.
pinMode(led, OUTPUT);
}
// a função loop roda indefinidamente:
void loop() {
// acende o LED (HIGH é o nível de voltagem da placa)
digitalWrite(led, HIGH);
// espera de 1 segundo
delay(1000);
// apaga o LED
digitalWrite(led, LOW);
// espera de 1 segundo
delay(1000);
}
Para utilizar o
código acima você necessita de uma placa Arduino que pode ser alimentada apenas
pela conexão USB e com um LED conectado como mostra a imagem abaixo. Caso um
LED não seja conectado há um LED SMD conectado ao pino 13 na própria placa que
responderá ao código.
Imagem gerada com Fritzing. |
Fontes: