buonasera.... ho un problema con il ciclo while. praticamente vorrei fare in modo che quando nessuno di due pulsanti è premuto sul monitor seriale venga scritto una frase mentre quando premo uno dei due pulsanti venga scritto un' altra frase. lo sketch è questo ma non funziona perché sul monitor seriale viene scritto sempre la prima frase.
int pulsante=7;
int pulsante1=8;
void setup(){
pinMode(pulsante,INPUT);
pinMode(pulsante1,INPUT);
Serial.begin(9600);
}
void loop(){
pulsante=0;
pulsante1=0;
while(pulsante==0 && pulsante1==0){
int p=digitalRead(pulsante);
int p1=digitalRead(pulsante1);
Serial.println("sono nel while");
delay(1000);
}
delay(1000);
Serial.println("sono uscito dal while");
ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (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).
non è che le variabili "pulsante" e "pulsante1" si aggiornano da sole eh ! ... per aggiornarle devi leggere sempre lo stato del pin con la digitalRead()
Guglielmo
Edit: per il punto 1 mi sono sovrapposto con Nid69ita
stai facendo moooolta confusione tra pulsante/pulsante1 che sono i numeri dei pin con p/p1 che sono i valori letti da quei pin.
Fai una bella cosa, prima di tutto dichiara pulsante e pulsante1 const byte: const byte pulsante=7; // invece di intcosi trovi subito l'errore perché il compilatore ti segnalerà errore quando fai pulsante=0;