I was wondering if it was possible in my project (in which I am rectifying and classifying movements of a prosthetic hand based on EMG signals from the Advancer Technologies Myoware EMG sensor) to communicate the analog information from the sensor which outputs to the Uno R3 to my personal computer?
The reason I need an answer to this question is because I realized only after buying it (sadly) that the Uno only has 2k SRAM. Thus, it might be hard to fit both a feature extraction method (wavelets) and a classification method (neural network) on a device with such small memory. Therefore, I will definitiely need to use my computer for such stressful computation.
If yes (I can use it), how do you propose I can program this type of communication where information comes from the arduino, into the computer, and then back out to the arduino in order to operate some motors?
If no, what solutions are there, because I am at a total loss lol.
This robotic hand has given me some stress over the last few days, and if anyone can give out a helping hand (lol) it would be greatly appreciated.
Also, possibly I could change from using wavelet transfrom to fourier transform for an easier programming load on the arduino?
Also, I dont know if I was clear on this, but I need the arduino in order to use the muscle sensor and control the motors, thus this is why I cant just use a computer
wirenoob:
I realized only after buying it (sadly) that the Uno only has 2k SRAM. Thus, it might be hard to fit both a feature extraction method (wavelets) and a classification method (neural network) on a device with such small memory.
There are other variants of the Arduino UNO that have much larger memory, both Flash and SRAM.
For example, the MEGA has 256K storage and 8K SRAM and lots of pins.
The Due (I think this is now retired?) is only a 3.3v device but has 96K SRAM and 512K Flash. The Due also has a much more powerful ARM processor.
So whilst things might be tight on the UNO (which can still be used for general programming) one of the other boards may help you further. I'm sure others here have experience in these and other boards, as well as ways to communicate with your PC (such as WiFi, either using a shield or an ESP8266 module which can be run as a web server, thus communicating with your PC).
The code on the computer can be in whatever language you're comfortable writing in - review the facilities for using serial port in the language you're considering. Python is pretty easy to throw things together in - I've done some work with python doing serial communication with an AVR.