Good Day!
For my DIY Project, I intended to construct a non-contact device/diagnostic machine capable of identifying various breathing patterns, and monitoring of respiration rate. Just wanted to ask if the 10.525GHz Doppler Effect Microwave Motion Sensor would work for this project? I have tried playing around with it but I'm not sure what output it gives in the serial monitor, except for the fact that the value increases when it detects motion for a long period of time. Any help would be appreciated. Thank you.
1 Like
Your post confuses me. The output on the serial monitor is whatever output your program sends.
Post a link to the motion sensor.
It seems unlikely that this motion detector will be useful to identify breathing patterns, or even to measure respiration rate, especially if you use the program recommended on the product page. The program delays for 2 seconds every time motion detected.
If you have questions about the "program output", post the code you are using, using code tags, and examples of the output that confuses you.
1 Like
@ jremington and I agree on the device you referenced.
But "contactless" is a very broad statement and clothed humans are going to present a difficult detection scenario. Maybe an RF approach, like a Theremin?
Some research into the advancement of "lie detectors" may be useful, too.
Since you have the setup handy, try this simplified program using the Arduino serial plotter (instead of the serial monitor), to report the motion detected, 10 times each second.
Be sure to set the serial plotter to 115200 Baud before using it.
Point the sensor at a breathing person's chest and let us know what the plotter program reports.
int pbIn = 2; // Define the interrupt PIN: digital pin 2 on Uno
volatile unsigned int count=0;
void setup()
{
Serial.begin(115200);
attachInterrupt(digitalPinToInterrupt(pbIn), stateChange, FALLING);
}
void loop()
{
noInterrupts();
unsigned int count_copy=count; //make a copy with interrupts off
count = 0; //reset count
interrupts();
Serial.println(count_copy); //print count
delay(100); //about 10x per second
}
void stateChange() //Interrupt function
{
count++;
}
1 Like
Thank you so much @jremington. Will definitely try this out and will post the results as soon as possible.
Hello @mrburnette. Thank you for the suggestion of an RF approach. With this, do you have any radar sensor that you could recommend for me to make use of?
Regarding the "contactless" statement, i was hoping to make a simple device such as the images attached:
Did you notice that the sensor you linked has a motion detection range of 2 m to 16 m?
1 Like
Yes. I noticed that the sensor can be adjusted continuously within the range of 2 meters to 16 meters. The following images I have attached are just samples I found on the internet; I do not plan to copy their detection ranges.
What do you intend to do so you will not use their ranges? The device will not work for shorter or longer distances.
Good Day.
After testing out the sensor, using the minimum detection range of 2 meters, and the code you have provided. I found out that it is not possible for this sensor to measure respiration rate. The results of the code can be seen below (only motion such as the target standing up was detected, but the breathing motion resulted in a flat line):
Given the results, can anyone suggest me a possible electromagnetic radar sensor that can be utilized for monitoring of respiration rate, with a detection range of 1-meter. Thank you so much!
Simple test, worked well, even if the results are negative.
Why not consider other types of sensors?
1 Like
Is there any sensor that you might like to suggest @jremington?
If you don't want to use conventional methods to measure respiration rates and patterns, and are dead set on a radar sensor, then the mm wavelength body scanners used in airport security screening would probably work.
Maybe try something like these 24 GHz hobby modules.
There is this disclaimer on the product page:
The minimum speed accuracy that the sensor is capable of detecting is 52cm/s, which equals to 0.52m/s, 3.6km/h and 2.23mph. Additionally, the results returned by function getSpeed() are multiples of 52cm/s and are absolute values accordingly.
1 Like
A 5 second search shows some researchers are trying UWB radar for measuring respiration rate.
It is not a simple task in real life settings, as the following paper shows.
But if you include arduino in the search, you will find a video of someone who made a crude radar respiration rate sensor that appears to work, sometimes.
Hi. I've been studying the radar that I have linked above and saw from one related post that this sensor cannot measure distance.
However, as this type of sensor is widely used in industrial, transportation and civil applications such as measuring a vehicle's speed. Should it not be able to measure speed of the target object, and with this speed, calculate distance? Since speed = distance / time.
Also wanted to ask if this sensor ( 10.525GHz Doppler Effect Microwave Motion Sensor SKU: CQRSENWB01 - CQRobot-Wiki ) could work the same way as what this link has done: HB100 microwave radar to Arduino | (epanorama.net)
Sample Output taken from the link, epanorama. net:
Only if that capability is provided on the sensor PCB.
and with this speed, calculate distance?
You cannot calculate distance given only speed. speed = (change in distance)/time
2 Likes
The cqrobot output is digital: either 0 or 1, depending on whether motion is detected.
The hb100 output is analog: a few micro-volts square waveform at a frequency of the detected Doppler shift.
Someone may be able to hack the cqrobot sensor to do what you want.
1 Like