in a previous post I briefly showed how to read the sum signal of a receiver that is able to output the signal. Although the code works quite well there are several issues with the code:
pulseIn(SignalPin, HIGH) blocks until the corresponding pin is set to
HIGH, which is a major waste of time, because no other calculations can be performed in the meantime
- I noticed that every now and then the readings start to glitch causing unwanted noise
To cope with the first issue I used Arduino's external interrupt feature that calls a callback function for every rising edge. In addition I wrapped it in a class and defined it as a library for easy usage.
[update: 2013-07-28][update: 2013-08-02]
Using a RC transmitter to be able to control aspects of a circuit controlled by an Arduino is a very nice feature. The first thing that comes to my mind is controlling stepper motors instead of servos, as they are way more precise. An easier example, but cool nonetheless, is mapping the input to a PWM signal for diming LEDs.
Reading the values of the channels of your RC receiver is not as complicated as I first thought.
That is, if you have a receiver that is able to output a PPM sumsignal.
I recently bought a RC set, the mx-10 of the HoTT series from Graupner.
The receiver GR-12 coming along with it is able to provide you with up to 16 channels! However, the mx-10 has 5 channels, so setting it to a higher value makes no sense in this case.