//Efeito sequencial
//Fernando Ferreira Silva, 10/06/2014
//Licença: GPL
byte led_pin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; //array para os pinos
int led_delay(70); //intervalo
int direcao = 1;
int led_atual = 0;
unsigned long changetime;
void setup() {
for (int x=0; x<10; x++) { //define todos como saida
pinMode(led_pin[x], OUTPUT);
}
changetime = millis();
}
void loop() {
//verifica o tempo da ultima alteraçao
if ((millis() - changetime) > led_delay) {
troca_led();
changetime = millis();
}
}
void troca_led() {
//apaga todos os leds
for (int x=0; x<10; x++) {
digitalWrite(led_pin[x], LOW);
}
digitalWrite(led_pin[led_atual], HIGH);
led_atual += direcao; //incrementa o valor de direçao
//altera a direcao quando chega ao fim
if (led_atual == 9) {direcao = -1;}
if (led_atual == 0) {direcao = 1;}
}
terça-feira, 10 de junho de 2014
LED's Sequenciais
Assinar:
Postar comentários
(
Atom
)
Nenhum comentário :
Postar um comentário