Hello everyone !
I know that question was already (kind of) asked by other, but I couldn't find an appropriate answer. Hence why I'm writing here today.
One of my PhD project requiers that I measure the upper body movement of participants while they are standing. For that, I was thinking using accelerometers. As such, the accelerometer device need to be small enough to be wear by the participant.
I was planning to stream the accelerometer data to my LabVIEW application so that I can have real time data. Although the accelerometer that I was looking at has a frequency of 104 Hz, I was planning using a buffer to get the data at 10 or 5 Hz.
For that, I was thinking connecting the Arduino Nano rp2040 to my computer (I chose that one because it has Wifi and Bluetooth). The problem is that for using it wireless, it need a battery. I know that coin cell battery are not strong enough for what I'm looking for and I want something rechargeable since I will be using the device for many participants.
So ... is there a way that I can connect a small enough battery to my accelerometer with Arduino so that it be wearable or should I look somewhere else ?
They run standalone from a small LiPo battery, or when plugged in to the USB port, recharge the battery using the built in charger. The accelerometer could be piggy-backed on the board with tape.
There is two main reason why i dont want wires here.
I might do a condition where they are walking.
There is other stuff happening during the experiment and although they are just standing, if they manage to feel the wire, this could provide haptic feedback that might affect our results.
The last resort will be a wire accelerometer, but for now, we are looking at a wireless one.
The Feather modules are really nice. Having a built in connector and charging for LiPo batteries simplifies things a great deal. I used some of them to build portable data loggers and they work very well. I'm very impressed by everything I've bought from Adafruit.
Thanks everyone for your suggestions concerning the Feather modules. I will definitely go with that.
@jremington suggested the M0 radio modules which now run with LoRa. I've been looking a lot into LoRa for the past two days and I was juste wondering if anyone knew the sending / receiving speed.
I want to get the real time data of the accelerometer on my computer (probably using a buffer that send 5 - 10 data at the time). Will LoRa be fast enough ? What happen if I add additional accelerometers, will my receiver be able to receive everything ? I tried to find the answer online, but the only thing I was able to find was that with LoRa, you sacrifice speed for distance ...
A rather large number of people. Make a reasonable estimate of the number of bytes per second that you actually need to transmit, and people can answer your question.
The sensor outputs integers, usually 3x16 bits each for accel and gyro, so 12 bytes total. 1200 bytes per second at 100 Hz, or 9.6 kbps is not a problem.
With LoRa the bit rate depends on how the tx/rx parameters are set up, but for short range, 30 kbps is a reasonable goal.
However, do you really think you need 100 measurements per second?
I thought accelerometers were giving floating numbers, not integers. Either way, I'm well within the range. Especially if I go with the RFM69HCW.
Sadly, I do aim for 100 Hz as sampling frequency. Method papers do suggest that sampling frequency for body movement. I could technically go lower, but it's just gonna be a hassle with reviewers. So if I can go 100 Hz, it would be great.
That being said, during the experiment, the data that I want to visualize "live" don't need to be display at 100 Hz. 10 Hz will be enough. The 100 Hz is for the post experiment analysis.
What did you have in mind by asking that question ? Assuming the 9.6 / 30 kbps for 100 Hz, what would be the advantage of going lower as it still within the range.
The sensor data sheet provides all of the important details, and is the most reliable source of information. The sensor library you use might do a data type conversion by default, which is neither necessary nor desirable.
Either radio can easily handle the 9.6 kbps data rate. Have fun!
Yes, I just found that it give an Int that can after be converted in decimals.
Thanks for your help, I will start with the RFM69HCW and see how it works. Will do some test with that and consider WiFi if it doesn't work. At least, it's not expensive !
This is digital electronics. Measurements are made digitally which means integers. It is no more possible to read a value as a floating point as it is for you to read a ruler as a floating point.
If you consider where floating point notations are useful, it is in mathematical planning where you do not know in advance the scale of the numbers. But in all the applications where you are reading sensors you clearly know the scale involved as the sensors are only capable of reading within a certain scale.
You can use integers to represent fixed decimal values, the integer simply represents for example hundredths of a unit (or conversely, thousands).