OK, Just got the arduino to talk to my rc set up,
Which consists of a Futaba T4YF transmitter and an Alpex APR-4FM receiver.
I hooked up the trainer output from the Transmitter to the oscilloscope program (the electroacoustic Toolbox from faber acoustical) and discovered that ppm was essentially the same as what Matt described with slightly different values.
For some reason the PPM was inverted on the Oscilloscope but I just tweaked the Arduino until I had some thing that matched the signal coming out of the transmitter.
So the Futaba T4YF transmitter uses a frame length of 18 milliseconds, a 400 microsecond low pulse before each of the high pulses and for me the high pulses were 1050 microseconds for dead center.
So this code keeps everything in the center
int outPin = 12; // digital pin 12
void setup()
{
pinMode(outPin, OUTPUT); // sets the digital pin as output
}
void loop()
{
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(400); // pauses for 400 microseconds
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(1050); // pauses for 1050 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(400); // pauses for 400 microseconds
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(1050); // pauses for 1050 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(400); // pauses for 400 microseconds
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(1050); // pauses for 1050 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(400); // pauses for 400 microseconds
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(1050); // pauses for 1050 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(400); // pauses for 400 microseconds
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(1050); // pauses for 1050 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(400); // pauses for 400 microseconds
digitalWrite(outPin, HIGH); // sets the pin off
delayMicroseconds(10350); // pauses for 10650 microseconds
}
So my question for everyone now is I'm controlling 6 of these transmitters which should be no problem with the Arduino, However, I want to have global control of the Arduino from Max/MSP. I can't use the Max/MSP message systems because the timing in Max is only millisecond (not microsecond) resolution. How can I send the Arduino global messages from Max while it keeps running its microsecond routines? Is that clear?
Thanks everyone for your help.
Casey