ciao a tutti , domani ho le mie gare di robotica con Arduino e il sensore di ultrasuoni ancora si lamenta un po , in pratica , io gli dico che se un ogetto è piu vicino di 3 cm deve fare qualcosa ( sotto metterò il codice ) ma lui lo vede già a 10 cm
utilizzo un sensore SCH o qualcosa di simile ora non posso vederlo , con un solo piedino che funziona sia da trigger che da echo
ecco il codice :
void loop()
{
pinMode(ultrasuoni, OUTPUT);
digitalWrite(ultrasuoni, LOW); // il sensore non manda nessun segnale per 2 microsecondi
delayMicroseconds(2);
digitalWrite(ultrasuoni, HIGH); // il sensore manda un segnale di onda quadra per 10 sec
delayMicroseconds(10);
digitalWrite(ultrasuoni, LOW); // il sensore torna a non emmettere niente
pinMode(ultrasuoni, INPUT);
durata = pulseIn(ultrasuoni, HIGH); // qui dico che la durata è uguale al tempo che ci mette il segnale a tornare al ricevitore
distanza = durata/58; /* ecco questo è il passaggio che mi è meno chiaro XD perchè lo ha fatto un mio amico
if (distanza<= 3) perchè non dividere per due la moltiplicazione tra la velocita del suono e la durata ? */
{
Serial.println (distanza );
right();
delay(700);
avanti();
}
Grazie a tutti per l 'aiuto