Ciao a tutti. Ho appena realizzato il mio primo progetto con Arduino seguendo un manuale (for Dummies) che trovo interessantissimo. Questo è lo schema:

Ho modificato appena un pò il codice in questo modo:
// Chapter 4: The All-Seeing Eye
// Accende una serie di led sequenzialmente
// Variabile per impostare un tempo di ritardo tra ciascun LED
int delayTime = 400;
// Una variabile per memorizzare lo stato attuale del LED
int currentLED = 4;
// Una variabile per memorizzare la direzione
int dir = 1;
// Una variabile per memorizzare l'ultima volta che è stato cambiato qualcosa
long timeChanged = 0;
// Un array per contenere il valore di ogni pin dei LED
byte ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
void setup() {
// Imposta tutti i pin per l'uscita
for (int i=0; i<10; i++) {
pinMode(ledPin[i], OUTPUT);
}
// Registra il tempo una volta che il setup è avvenuto
timeChanged = millis();
}
void loop() {
// Verifica se è trascorso il tempo abbastanza a lungo
if ((millis() - timeChanged) > delayTime) {
//disattiva tutti i LED
for (int i=0; i<10; i++) {
digitalWrite(ledPin[i], LOW);
}
// Accende il LED corrente
digitalWrite(ledPin[currentLED], HIGH);
//piccola modifica
//quando si accende il led numero 5
if (currentLED == 4){
//allora accendi uno si e uno no
for(int i=0; i<10; i++){
if (i%2==0){
digitalWrite(ledPin[i], HIGH);
}
}
}
// Incrementa il valore della direzione (su o giù)
currentLED = currentLED + dir;
// Se siamo alla fine della riga, cambia la direzione
if (currentLED == 9) {
dir = -1;
}
if (currentLED == 0) {
dir = 1;
}
//per il potenziometro
//delayTime = analogRead(0);
//delay(5);
// Memorizza il tempo corrente nella variabile timeChanged
timeChanged = millis();
}
}
Ora vorrei capire come funzionano analogReed(0) e delay(5). Con il potenziometro e le funzioni definite in questo modo:
delayTime = analogRead(0);
delay(5);
si può cambiare la velocità di scorrimento dei LED direttamente dal potenziometro, ma se volessi dire che, invece di cambiare la velocità, vorrei accendere un led alla volta con il potenziometro?