Hi all. First post waves Sorry for the long post - I figure it's easier if I go into detail straight up.
I'm working on a project that I'm struggling with and was hoping someone who knows more than I do would be able to give me a bit of insight. I'm fairly new to Arduino and it's possible I'm biting off more than I can chew but I'm hoping if I can break it down into small enough parts it'll work. I've given myself about 6 months to work the first couple of stages out so there's plenty of time to learn.
So what I'm trying to create is a sensor simulator for a number of different sensors. These sensors will monitor either analog voltages or frequencies etc and based on values from the lookup table, output different voltages etc. As an example, one of these has a DC 0-5V input from which it should output up to three different analog voltages out (think a mirrored potentiometer but more complicated.) So for each sensor there should be a lookup table, eg for x input voltage, output 1 should have y volts output, output 2 should have z volts output etc. Rather than having one Arduino doing everything I want to spread it out between a number of Arduino units as some of the sensors output a complex waveform at a frequency where the processing speed of the Arduino becomes an issue.
The catch is that the sensor "profiles" need to be changeable and selectable via PC. The idea then is that a master lookup table (I'm thinking .csv) containing the selected profiles for all the sensors is transferred via USB to the master Arduino unit with USB input and stored either on it or (preferably) on an SD card or other external memory (SD would be better as it's non-volatile). Once this is complete, each of the secondary Arduino units copies a section of the master lookup table (I'm thinking via I2C) to their own internal memory for their own lookup table, at which time the master Arduino becomes obsolete (or gets re-purposed, whatever - it's not important) as does the data on the SD card - at this time, all the secondary Arduino units are working independently of each other. I figure this is an easier solution as there's no confusion with multiple access to the memory.
Although for now I'm only planning one-way communication via the USB (transfer the lookup table and that's it) I would like to avoid having activity on the USB once it has done the initial transfer of the lookup table (ie no streaming from the PC) as further down the line I'd like to do data display on the PC.
Which brings me to my questions. Firstly, does this idea seem feasible? I'm worried that I'm overlooking some fundamental issue that's going to bite me on the butt and render the whole project next to impossible.
Secondly (and the reason why I asked in this section of the forum) one of the main things I'm having difficulty finding out is what the best method is for transferring the lookup table to (either the master Arduino or external memory eg SD card). I haven't really been able to find any examples that suit what I'm trying to do. Obviously there needs to be a PC side, and either an Arduino side or otherwise some way to write directly via USB to an SD card. I'm not really sure what to do here. I've seen examples using Python (a language admittedly I don't know much about) but they seem to be streaming the lookup data from the PC rather than having it stored on-board.
Thoughts? Suggestions? Any help greatly appreciated.