Go Down

Topic: problema : cicli for non eseguiti in successione [ risolto] (Read 116 times) previous topic - next topic

Fabrizio_76

Ciao a tutti,

ho provato a risolvere con il ciclo for il seguente problema:

ho preparato basetta con due led collegati al pin 10 ed 8 con relativa resistenza.
poi vorrei fare il seguente esercizio:

tre accensioni/spegnimenti LED01 e successivamente 5 accensioni/spegnimenti LED02

il problema è che i due cicli non  cicli partono in successione ma (quasi?) contemporaneamente.


Dove sbaglio?

grazie.

ecco il codice:


Code: [Select]

int led01 = 10;
int led02 = 8;

void setup() {
 pinMode(led01 , OUTPUT);
 pinMode(led02 , OUTPUT);
}

void loop() {
 

for(int i=0; i<3; i++);       //ciclo led01
 {
 digitalWrite(led01, HIGH);
 delay(1000);
 digitalWrite(led01,LOW);
 delay(1000);

}

for(int i=0; i<5; i++);    //ciclo led02
 {
 digitalWrite(led02, HIGH);
 delay(1000);
 digitalWrite(led02,LOW);
 delay(1000);

}

gpb01

#1
Jun 11, 2019, 04:02 pm Last Edit: Jun 11, 2019, 04:03 pm by gpb01
Buongiorno,
prima di tutto, essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ...

... poi, in conformità al suddetto regolamento, punto 13, il cross-posting è proibito (anche tra lingue diverse) per cui, il tuo post duplicato nella sezione Inglese del forum (post per di più scritto in Italiano, cosa NON permessa) è stato cancellato e ti prego, per il futuro, di evitare di aprire più post sullo stesso argomento in sezioni differenti del forum ...

... infine, sempre in conformità al suddetto regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).
In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo.

Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell'apposito thread e sistemato come richiesto il codice, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. ;)
Search is Your friend ... or I am Your enemy !

torn24

Ciao! Secondo me non sbagli :) il primo for dovrebbe impiegare 6 secondi con i delay() al suo interno, finito iniziare il secondo for. Il programma è giusto per quello che vorresti fare, ma non capisco proprio perché dovrebbero partire contemporaneamente.

SukkoPera

Code: [Select]
for(int i=0; i<3; i++);

Vedi quel puntoevirgola finale? Ecco, toglilo ;).
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

torn24

Non avevo notato il punto e virgola ; :)

In quel modo il ciclo for(int i=0;i<3;i++);  è solo questa riga senza istruzioni, non fa nulla.

Le istruzioni del primo led, non appartengono al for, accette,pausa,spegne e poi esegue il secondo for.

Go Up