Im working on a project for a senior design class in which I'm using an Arduino and an ultrasonic sensor.
My project is quite simple, basically Im trying to use an ultrasonic sensor that can be clipped onto the back of a bicycle seat to measure the distance of an approaching vehicle.
My problem is that HC-SR04 sensor is only accurate up to 2.5m. I need a sensor that can detect up 10m accurately and about the same size as the HC-SR04. Any recommendations? Any links or advice would be highly appreciated.
Try looking for one of the narrow beam devices, but be prepared for disappointment and a project redesign
I think Maxbotix sells the best sensors, but of course the conditions under which they are tested do not include measuring distances between moving objects traveling at the speeds of interest to you, in traffic or otherwise.
I tried using a SR04 but they gave miserable results. Just not quick enough between pulse send and receive. Even trying to detect people walking up on me from behind.
On the other hand light.
I changed to a LIDAR using a STM32 and I am able to have distance readouts of 500cm, I reject distances beyond 500cm in code. Lets my wife, who rides a bike, know when cars are approaching.
I use single trigger mode so that I can send, receive, process, and retrigger in a round robin fashion with freeRTOS. That way speed of object detection is a factor of how close the object is. The quicker a return pulse the quicker the LIDAR is ready to fire. The LIDAR needs solid connections to the STM32 or drop outs and the device needing resets will be common.
I recall having seen ultrasound sensors rated up to 10 meters, but never tried them out. It sounds like it's too much for the technology, you'd need pretty ideal conditions (such as the object you're measuring the distance to being a flat concrete wall).
LiDAR or other IR time of flight type sensors should work. In the form of laser speed guns (such as the police uses to catch speeding) can easily do a couple hundred meters.