Arduino colaborativo/Código fonte
Nessa experiência tem-se que o LED será a saída física do programa, para tanto um pino de saída deve-lhe ser atribuído. Essa atribuição à variável led é feita na linha 3 do código abaixo. Como dito anteriormente, na maioria das placas Arduino este pino contém um led que pode ser usado para visualizar a saída do programa na falta de um LED externo. A variável led é então inicializada como o pino de saída 13 (linha 6).
A linha 9 é responsável por elevar a condição da variável led para o estado ligado (High), de forma que o pino 13 passa a ser alimentado com uma tensão de 5V, o que cria uma DDP que acenderá o LED. Este que ficará aceso por 1000 ms, como é definido na linha 10.
Após o tempo de espera terminar, o LED será desligado pela atribuição do estado LOW no pino referido (linha 11). Assim como no estado anterior, o LED continuará desligado por 1000 ms (linha 12).
Os tempos de espera são necessários para que o efeito de ligar e desligar o LED seja perceptível. Sem as linhas 10 e 12, o LED piscaria à uma velocidade aproximada de 16 Mhz, onde os estados não são distinguíveis. A função delay(), então, pausa o sistema pelo tempo desejado.
// Rotina Pisca led
//
int led = 13;
//
void setup(){
pinMode(led, OUTPUT); // inicializa o pino 13 como saida
}
void loop(){
digitalWrite(led, HIGH); // SAIDA = 1
delay(1000); //Aguarda 1000 milisegundos
digitalWrite(led, LOW); // SAIDA = 0
delay(1000); // Aguarda 1000 milisegundos
}