Ciao a tutti,
ho iniziato ad usare il famoso misuratore di distanza HC-SR04. Ho letto in giro che ha una precisione molto alta, inferiore al millimetro, però nelle mie prove non ho riscontrato questo!
Usando la libreria ultrasonic con questo codice
#include <Ultrasonic.h>
#define TRIGGER_PIN 7
#define ECHO_PIN 8
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
void setup()
{
Serial.begin(9600);
}
void loop()
{
float cmMsec, inMsec;
long microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
Serial.print(", CM: ");
Serial.println(cmMsec);
delay(1000);
}
Ho questi valori:
, CM: 12.91
, CM: 12.96
, CM: 12.96
, CM: 12.87
, CM: 12.91
, CM: 12.91
, CM: 13.00
, CM: 13.34
, CM: 12.83
, CM: 12.89
, CM: 13.45
, CM: 12.91
, CM: 12.89
, CM: 12.91
, CM: 13.03
, CM: 12.91
, CM: 12.91
, CM: 13.34
, CM: 13.00
, CM: 13.34
, CM: 12.89
, CM: 12.96
, CM: 13.00
, CM: 13.34
, CM: 13.34
, CM: 13.00
, CM: 13.00
, CM: 12.89
, CM: 12.89
, CM: 12.91
, CM: 13.00
, CM: 12.89
, CM: 12.91
, CM: 13.32
, CM: 13.03
, CM: 13.32
E' vero che la maggior parte dei valori è sui 12,8 e 12,9 cm ma ci sono valori anche consecutivi sopra 13 fino a 13,3.
Mi aspettavo una precisione più alta! Il valore sballato ci può essere, ma delle volte sono sballati 3-4 valori consecutivi!
Adesso non so se è il mio che ha un difetto oppure ha sempre questa tolleranza!