ho postato nella sezione inglese, ma nessuno mi ha saputo aiutare, spero che voi ne sappiate qualcosa in più di me e che mi sappiate dare qualche spunto per risolvere il mio problema.
Ed ho usato lo sketch riportato al fondo della pagina del tutorial per testare il funzionamento del sonar.
Nel datasheet, c'è scritto che questo sensore arriva a rilevare oggetti sino a 6 metri di distanza, tuttavia, quando lo testo ed apro Serial Monitor, di default mi porta una distanza di 50-52cm massimo e diminuisce solo se gli avvicino un oggetto a distanza minore.
Non capisco perchè mi rilevi qualcosa a 52cm se non c'è nulla.
Forse devo settare qualcosa io?
Il sonar se non trova nulla all'interno del suo range, non dovrebbe non segnalare alcuna distanza?
Questo è l'output di una prova:
Light: 21
Range: 52cm <- apro serial monitor e senza che ci siano oggetti a meno di 52 cm lui già mi visualizza questo dato
Light: 21
Range: 51cm
Light: 21
Range: 51cm
Light: 21
Range: 51cm
Light: 21
Range: 11cm <- avvicino un oggetto a 11cm
Light: 21
Range: 8cm <- lo avvicino ancora di più
Light: 21
Range: 52cm <- lo tolgo e ritorna a misurarmi 52cm
Light: 20
E' un problema tipico di questo sonar, e del SRF10, che per via dell'elevata sensibilità e dell'elevato angolo di apertura del cono sonar capta facilmente echi provenienti da pavimento, muri e altri oggetti vicini falsando la lettura riducendo drasticamente la distanza massima rilevabile.
Per risolvere basta impostare il gain del sonar, guarda il dastasheet, ad un valore minore di quello massimo utilizzato come default.
In effetti, avevo visto che nel datasheet si parlava del gain, ma pensavo che fosse slegato dal problema che stavo avendo.
Ho provato ad abbassare il guadagno e portarlo ad un valore intermedio:
Wire.beginTransmission(srfAddress); // Start communicating with SRF08
Wire.send(cmdByte); // Send Command Byte
Wire.send(0x51); // Send 0x51 to start a ranging in cm
Wire.send(0x20); // <-- gain abbassato a 395
Wire.endTransmission();
delay(100); // Wait for ranging to be complete
ma non ci sono stati miglioramenti perchè il range è sempre di 50-52cm al massimo.