I want to build a custom rc controller for a model aircraft carrier I want to build. I think a good way to do this is to take inputs from the controller and output them via Serial.print or write, like this:
30 | 21 | 100 | 245 | 50
J1X J1Y J2X J2Y Buttons
The four joystick values are their respective analogreads/4 (example values given), and the 8 Buttons are going to be bit shifted to compress into one byte of data.
I have been up and down the internet looking for something that can send all of this at once at a speed similar to or better than some commercial controller. When I look for something cheap, I get stuck with almost no range, and when I find something with range, I'm looking at paying for all this extra capability I do not think I really need. I just want to make a cool toy that I can take down to the lake or coast. Once I figure out how to actually set up my controller/receiver, I'll venture into FPV cameras and the like.
I would really appreciate it if anyone knew of a cheap, minimalistic (does what I need it to), super long range data transmitter I could use to send simple strings of data rapidly in succession.
I started using arduino about 1 month ago and started my project 1 week ago.
I've tried pulseIn from an old pre-made receiver/transmitter, but that does not work if I want to have if clauses that do different things when combinations of buttons are pressed; it takes time, and pulseIn is all about time. RC receivers send out PPM signals that servos use to get positioning, a 1ms-2ms pulse in a cycle of ~20ms with some wait time after that, each channel fires off its pulse respectively, and a servo uses its length out of 20ms to determine positioning (at least I think that's how it works).
I've tried interrupts from the same setup, but once again 20ms is taken by incoming data and that means only 2-3ms can be dedicated to the rest of the code. I've grown to hate PPM signals.
I found out I need my own custom made controller and receiver for all my functions, and need to send that data in a text string of numbers that my receiver can read and use, not some stupid timed PPM signal. Again, much appreciation would go out to anyone who can help me find what I'm looking for!