home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Pic Micro
Tutto quanto riguarda questi microprocessori... progetti, suggerimenti, aiuti, discussioni...ecc


eseguire comando solo una volta
     
Autore Messaggio opzioni
daniele1979





postato il:
29.12.2019, alle ore 22:02
eseguire comando solo una volta 

buonasera a tutti, chiedo un aiuto per un comando con arduino.
io devo eccitare un rele' ogni volta che entro in un case...

case X:
 {
//  mio codice 
}
digitalWrire high
delay
digitalwrite low
break;

come posso fare?
grazie mille!
daniele1979





postato il:
29.12.2019, alle ore 22:03
solo una volta, se esco e rientro effettua nuovamente il eccita e diseccita
gironico




una ogni 100 livelli


postato il:
30.12.2019, alle ore 11:19
è un errore di sintassi quello che hai fatto.

per prima cosa, ti consiglio di dichiarare la tua uscita nel void setup

esempio pin 13, almeno cosi lo visualizzi nel led a bordo

 
void setup {
pinMode(13, OUTPUT);
   digitalWrite(13,LOW);


 


nel tuo case,

 
   digitalWrite(13,HIGH);// l'uscita 13 va a livello logico alto(led acceso) 
delay(1000); // pausa di 1 secondo
digitalWrite(13,LOW);//l'uscita 13 va alivello logico basso (led Spento)






La vita è troppo breve per bere vini mediocri
caccamo2





postato il:
30.12.2019, alle ore 11:51
daniele1979:
eseguire comando solo una volta

daniele1979:
io devo eccitare un rele' ogni volta che entro in un case...

chiarissimo!



...
daniele1979





postato il:
30.12.2019, alle ore 12:04
quello era chiaro, era per fare capire il case,pero scrivendolo cosi, il ciclo si ripete
caccamo2





postato il:
30.12.2019, alle ore 12:53
 
void setup
prima_volta=1

void main
case X:
if prima_volta=1 ...tuo codice
prima_volta=0
break



...
gironico




una ogni 100 livelli


postato il:
30.12.2019, alle ore 17:04
con informazioni a morsi e bocconi non si hanno risposte precise.

Se il ciclo si ripete, occorre vedere cosa stà succedendo al programma, non da escludere che una volta che uscito dal case, rientri al giro successivo perchè si è verificata ancora la condizione....

Se questo è il normale ciclo del programma, allora si usa una variabile di comodo che si icrementa quando il tuo rele cummuta) con una condizione dentro il ciclo case come ti ha suggerito caccamo2



La vita è troppo breve per bere vini mediocri
picmicro675




una ogni 10 livelli


postato il:
31.12.2019, alle ore 11:21

switch (X) {
    case 1: {
        ++X;
        digitalWrite(RELAY, HIGH);
        break,              // entra solo una volta fino a che non e' zero
        
    }
    case 2: {
    }
    case 3: {
    }
    case 4: {
    }
    case 5: {
    }
    case default: {
        digitalWrite(RELAY, LOW);   // Se si vuole che rimanga basso
    }
        //                  fa tutto il resto non incluso negli altri case



Anno nuovo, forum nuovo.
Mi sa che lascio.
daniele1979





postato il:
04.01.2020, alle ore 00:18
ok grazie
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale