Arduino C-code implementation of velocity detection???

Does anyone have a successful Arduino C-code implementation of velocity detection using a CON RSM3650? If so, will you share it?

I have built an Arduino Nano controlled robot from a radio control model level car. My initial design uses two sonar proximity detectors to guide the car around the room counter clockwise looking down. I want the car to go faster. I need to calculate 'closing speed'. It appears that the RSM3650 has the capability and is not too expensive. What do you all say? How tough a job am I setting for myself?

What do you all say?

Pretty much the same thing we always say when someone asks a question about a device other than an Arduino. You need to post a link to the device.

How tough a job am I setting for myself?

That all depends on what a CON whatever is, how you access its data, how accurate that data is, and what you want to do with that data.

There was a post several weeks ago, this is a doppler radar sensor. It outputs a voltage or frequency depending on the speed?

Voltage can be measured with ADC ==> analogRead()
Frequency can be measured with PulseIn(), or an IRQ based counter...

Have you searched this forum for the sensor number?

Here is a link to the CON RSM3650 technical page.

http://shop.hygrosens.com/out/media/502374_rsm3650_dbe.pdf

I had just hoped that someone in Arduino land had used it.

No good!!! Sensitivity is spec'd at 4 to 16 meters. Any suggestions for velecity detection by measuring closing speed?

Have you managed to amplify the 300 micovolt output to use able levels?

s. Any suggestions for velecity detection by measuring closing speed?

It's a Doppler unit; it only measures velocity.

Hi Ken,

By "closing speed" I assume you mean that you want to measure how quickly the car is approaching the wall and adjust its velocity proportionally, (no wall = full speed, approaching wall = slower and slower speed), correct?

You could estimate the car's velocity by calculating the difference between subsequent sensor readings (or an average of multiple subsequent readings b/c of sensor noise) and dividing it by the time between readings. Essentially, you are finding the numerical derivative of your position indicated by the sonar sensor readings. Then, you could increase or decrease the current to the car's motors based on how close you are to the wall.

To get the time between readings, try using the Time library, or more directly the now() function. Not sure what the resolution of the time is -- might only give you integer seconds as opposed to fractions of a second via a double or float, but it's worth a shot! :slight_smile:

arduinoRobo