I am just getting started learning about quadcopters and how to make one. My goal is to have a quadcopter with a Ardupilot 2.8 to do the low level work (keeping it level, moving in a specific direction, changing altitude, etc) and accept "commands" from a Uno. For example, the Uno would "tell" the Ardpilot to move 20 meters in compass direction 270 degrees and then stop. Or something along these lines.
There are a lot of videos and articles on the internet but nothing clear how to interface the Ardupilot with the Uno.
There is lots of documentation including the ardupilot web site, but nothing that specifically shows how to have them "talk" to each other bidirectionally.
Connected by wires. Both will reside on the Quad chassis. As mentioned in OP: the Ardupilot will handle the low level control issues (as it is designed to do) and the Uno will send to it the high level directives. This is how the Ardupilot works when a human sends the command: except instead of having a human send a command via wireless, the Uno will send it a command via jumpers.
I am familiar with serial communications. My issue what ports / pins / examples to even get a simple "command" and response going with the Ardupilot 2.8 and Uno going. Once I have that i can take it from there.
You mention emulating GCS: If anyone has an example of that (wiring and code snippet) it would save me a lot of gnashing of teeth.
aarg: Yes, I know the Arduino side is well documented and I have been using it for years in many varieties (Serial. softSerial, AltsoftSerial, etc etc ).
My point is (again) to see the specific of how the Arduino side (well documented as you say) talk t the Ardupilot and get a response... even a simple command and response will do.
jremington: Yes, I have looked into it. I have not seen (yet) exactly how to send / receive information including what pins to use, baud rate, etc, that would be open and available t be used by the Uno.
So... any example / hardware set up is apreciated.
I'm not sure what the point is here. Some of the Ardupilot hardware examples are fast Linux machines. If you need something telling the software where to go, it can simply be another process on the Beaglebone (or whatever).
Also, the software provides mission planning out of the box, so I'm still missing what benefit a (heavy) Uno is going to give you.
Your chances of catching a ready made solution for that here, are slim. It's just a very specialized project. I suspect you will have to tackle it yourself.
Myself, I would be over on the Ardupilot code page looking for a protocol description... before anything else...
wildbill: perhaps I want to add collision avoidance sensors to the Uno, then the Uno can process and decide which direction, and give those comands to the Ardupilot.
Before you do, I suggest you look into the docs a bit more - it's possible that the existing Object Avoidance features can do some (or all) of what you need.