Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ricerca personalizzata

cambio scena con 1 pulsante centralina giochi di luce

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto Utentexyz, Foto UtenteWALTERmwp

0
voti

[11] Re: cambio scena con 1 pulsante centralina giochi di luce

Messaggioda Foto UtenteTardoFreak » 30 gen 2018, 0:38

lga83 ha scritto:... io vado per concetto guardando altri programmi simili già fatti ...
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,3k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15959
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[12] Re: cambio scena con 1 pulsante centralina giochi di luce

Messaggioda Foto UtenteWALTERmwp » 30 gen 2018, 2:58

lga83 ha scritto:Guarda non sono uno esperto di programmazione arduino adesso non riesco a spiegarti la sintesi, io vado per concetto guardando altri programmi simili già fatti e cercare di capire come funzionano
se c'è interesse, meglio.

Il ciclo for ripete le istruzioni contenute all'interno delle sue parentesi graffe, tante volte fino a che la variabile utilizzata per controllare il ciclo stesso(in tal caso la i ) non raggiunge il limite, in tal caso fissato a 5.
La variabile i, ogni volta che il programma esegue la riga dove è scritta l'istruzione for, viene incrementata di 1 (questo incremento è dovuto al fatto che c'è scritto: i++).
Nel tuo programma, però, il ciclo for è privo delle sue parentesi graffe, infatti tu lo hai scritto così:

Codice: Seleziona tutto
(...)
for (i = 0; i < 5; i++)
if (contatore==1) {
PORTD = B10000001;
delay(analogRead(0));
PORTD = B11000011;
delay(analogRead(0));
PORTD = B10100101;
delay(analogRead(0));
PORTD = B10011001;
delay(analogRead(0));
PORTD = B10100101;
delay(analogRead(0));
PORTD = B11000011;
delay(analogRead(0));
}
(...)

mentre invece potrebbe essere scritto così:
Codice: Seleziona tutto
(...)
for (i = 0; i < 5; i++) {
if (contatore==1) {
PORTD = B10000001;
delay(analogRead(0));
PORTD = B11000011;
delay(analogRead(0));
PORTD = B10100101;
delay(analogRead(0));
PORTD = B10011001;
delay(analogRead(0));
PORTD = B10100101;
delay(analogRead(0));
PORTD = B11000011;
delay(analogRead(0));
}
}

riesci a vedere che c'è una coppia di parentesi graffe in più ?

Prova intanto ad applicare questa modifica e verifica il comportamento del tuo gioco di luci (andrebbe riportata per entrambi i cicli for).
Oltre a ciò, potresti provare a sostituire il numero 5 con un altro numero, per esempio 127.
Non so se è un buon sistema, ma può essere un modo per rendersi conto di quello che succede introducendo delle variazioni.
Dopo, magari, si può anche pensare a come gestire il pulsante che ti permette di cambiare "l'effetto luci".

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
20,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 6040
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[13] Re: cambio scena con 1 pulsante centralina giochi di luce

Messaggioda Foto Utentelga83 » 30 gen 2018, 10:36

ho messo le graffe come hai detto e spiegato perfettamente tu, ma il risultato non cambia sempre lo stesso gioco di luce ma nessun cambiaento..
Avatar utente
Foto Utentelga83
0 1 5
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 19 gen 2007, 22:53

1
voti

[14] Re: cambio scena con 1 pulsante centralina giochi di luce

Messaggioda Foto UtenteTardoFreak » 30 gen 2018, 11:28

Prima di proseguire con queste prove che non porteranno a niente, trova un libro o pdf o tutorial sulla programmazione in C, studi il linguaggio (per quello che ti serve ci metti poco tempo), e poi vedrai che la soluzione la troverai tu molto facilmente.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,3k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15959
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[15] Re: cambio scena con 1 pulsante centralina giochi di luce

Messaggioda Foto UtenteWALTERmwp » 30 gen 2018, 11:32

lga83 ha scritto:ho messo le graffe come hai detto e spiegato perfettamente tu, ma il risultato non cambia sempre lo stesso gioco di luce ma nessun cambiaento..
quello che ti ho suggerito non è e non può essere risolutivo del tuo inconveniente, infatti, la gestione del rilevamento dello stato del pulsante (o interruttore) è altra cosa.
Considerato che, forse, non hai ben chiaro come si comporta il codice che hai utilizzato, ho pensato di procedere come ho fatto.
Hai modificato anche il valore di comparazione ?

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
20,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 6040
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[16] Re: cambio scena con 1 pulsante centralina giochi di luce

Messaggioda Foto Utentelga83 » 30 gen 2018, 15:31

no, il valore non l'ho modificato
Avatar utente
Foto Utentelga83
0 1 5
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 19 gen 2007, 22:53

Precedente

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti