We sort of dropped off the planet for a while but we are back. I got the Arduino starter kit the other day along with the flex sensors and Don and I finally had some time to look at it today. For any noobs out there, believe me when I say you have nothing to worry about
! We followed the directions (http://www.arduino.cc/en/Guide/Windows
) and were up and running pretty quick. I still can't believe how well documented this site is!
We then hooked up a bend sensor. Now keep in mind, neither of us have much in the way of electronics backgrounds. Much of this was done on faith alone. I'm happy to report we managed to not create any smoke. In fact, in short time we were watching values alternate in our Processing window as we bent the sensor back and forth in real time. We even programmed it so that the led would turn on only when the bend sensor hit a particular range in angle.
The really exciting part was that even when we thought we were stuck, we just sort of intuitively felt our way through it (it really helps having two people in these times of doubt). I don't expect the rest of the project to go quite as smooth, and when it doesn't, I hope I remember these good times we've had!
As for the project in general, due to limits in time and money, we have decided to scale back. We will only be using 6 bend sensors (for each side of the body
1 at the knee, 1 at the hip-frontal, 1 at the hip-lateral). This should give us enough data to interpolate movement within 3DS Max.
We also met with our scripting guru today and went over the requirements as far as the kind of file type required for Maxscript. I think that side is well covered.
Our biggest concern at the moment is where to store the information.
Ideally we want 60 samples per second for our sensors (although we can go down to 30 if we have to). This will give us enough data to produce fluid motion when the data is reconstructed. Each of these 60 samples will contain 6 integer values (coming off each flex sensor). If I understand correctly, each integer takes up 2 bytes, so
2*6 = 12 bytes / sample
12 bytes * 60 samples per second = 720 bytes / second
This works out to 2.47 megs/hour
I would like to collect data for about an hour at a time.
I've searched the internet and these forums looking for well documented ways to store data with the Arduino. So far the two most accessible systems seem to be USB and DataFlash Memory
USB (ftdi) http://www.arduino.cc/playground/Main/UsbMemory
DataFlash Memory http://www.arduino.cc/playground/Code/Dataflash
I'm tempted to go with USB because it is a more universal standard and I already have a thumb drive I can use.
The problem is that in the description of the ftdi board above, the author notes “If you write info to it too quickly then it could possibly lose info as it won't be able to pause the sending of info
Do you think our application (our transfer rates?) would cause the system to loose information? Would the DataFlash system be exempt from this caveat?
Also, given that we are really just starting out, is one system easier to implement from a programming perspective than the other?
Any suggestions on which way to go would be much appreciated.
Carlo and Don