ciao a tutti sto usando dei sensori infrarossi ma vorrei che il programma non leggesse continuamente i valori ma leggesse solo un valore singolo nel momento in cui un ostacolo interrompe il flusso in modo da evitare che rimanendo sopra con la mano vengano visualizzati tutti i valori che scorrono.
Come è possibile farlo?
ho provato in questo modo ma non funziona moltissimo
boolean run = false;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(250000);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue1 = analogRead(A0);
int longletter = 1;
Serial.println(sensorValue1);
if (sensorValue1 > 350 && run == false ) {
Serial.print(longletter);
Serial.print (' ');
Serial.println(sensorValue1);
run = true; //don't need to declare again
} // end of if
if (sensorValue1 < 350) {
run = false;
} //end of if
} // end of loop
**@carolina19: **ti ricordo che in conformità al regolamento, punto 7, devi editare (in basso a destra del post, bottone More → Modify) il tuo post e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra). Grazie.
Grazie per l'aiuto ho provato ad aggiungere il tuo codice ma funziona per i primi secondi e poi mi appere una lista di valori continua magari c'è qualcosa di sbagliato allego il codice..
boolean run = false;
boolean read = false;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(250000);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue1 = analogRead(A0);
if (sensorValue1 > 350) {
run = true;
}
else {
run = false;
read = true;
}
if (run == true && read == false) {
Serial.println(sensorValue1);
read = false;
}
}
@carolina19: Prima di tutto, non avendolo tu ancora fatto, ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ...
... poi, in conformità al suddetto regolamento, punto 13, il cross-posting è proibito (anche tra lingue diverse) e tu hai già posto la stessa domanda QUI.
Non solo, in quel thread ti hanno già risposto e ti stanno ancora rispondendo (l'ultima risposta è di ieri alle 16:44) ... ed è veramente poco cortese abbandonare una discussione e chi ti stava aiutando, per venire di qua a porre la stessa domanda come a significare ... "mica mi fido tanto, ora vado a verificare da un'altra parte". :
Pertanto, in conformità al regolamento, questo thread viene chiuso e cortesemente continua nell'altro thread dove hai già parecchie risposte.