logo

domenica 24 ottobre 2010

Super Car Arduino

// LED EFFETTO CHASE
// Dichiara e inizializza un array per i pin
byte ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int ledDelay(65);    // tempo di attesa prima del cambiamento
int direction = 1;
int currentLED = 0;
unsigned long changeTime;
void setup() {
// setta i pin per l’output
for (int x=0; x<10; x++) {
pinMode(ledPin[x], OUTPUT); }
changeTime = millis();
}
void loop() {
// gestisce il controllo del tempo di attesa
if ((millis() - changeTime) > ledDelay) {
changeLED();
changeTime = millis();
}
}
void changeLED() {
// spegne tutti i LED
for (int x=0; x<10; x++) {
digitalWrite(ledPin[x], LOW);
}
// accende il LED corrente
digitalWrite(ledPin[currentLED], HIGH);
// incrementa in base al valore della direzione
currentLED += direction;
// cambia il valore della direzione si è raggiunto l’ultimo LED
if (currentLED == 9) {direction = -1;}
if (currentLED == 0) {direction = 1;}
}

Nessun commento:

Posta un commento