I have a Arduino board that receives and collects information from some sensors and I was wondering if
I can connect APM 2.0 Purple to the Arduino board to receive live flight data. Is there any place were i can place the wires and make the connection rather then using usb or telemetry system?
It's the opposite I want that all the data collected by the APM 2.0 like GPS, speed, gyro, accel, pressure, temperature be send to another Arduino.
It is possible to connect the APM2 to another Arduino via I2C protocol. I've done that in one of my projects and it worked quite well. However, I send data from the Arduino to the APM, not the other way around. Despite this, I think that sending GPS, speed, gyro, accel, pressure, temperature will have some noticeable overhead.
Can you please give further details about what you are trying to do?
OK, here's the deal. APM send ALL telemetry data you want (GPS, altitude, etc...) out the telemetry port on the APM, specically UART0 on APM 2.0 at 57600 baud. The data is formatted in MAVLINK which is a standard set and agreed upon binary protocol.
So, on this Arduino you want to receive the data on, as part of it's code, you need to "read" in MAVLINK data and decode it, then use it for you purpose. Fortunately for you, there are several Arduino projects that already do this so the hard work is done.
Either the ground station code or minimosd (On Screen Display) are Arduino based projects which use code to connect to the standard telemetry port on the APM (note you can do it at the APM, or remote via the 3DR radios or Xbee Pro 900Mhz or 2.4Ghz devices). Here is that code project.http://code.google.com/p/arducam-osd/wiki/minimosd
I had a similiar idea to use that code base to create a talking status using speakjet. The idea is that since the code base reads MAVLINK and then basically puts the values (GPS, altitude, etc..) into a variable in the code and then later, takes that variable and was sending it to the OSD chip. All you need to do is remove the OSD code, and use those variables in your code. Again, think in modules. Read in Mavlink, format it, assign it to variables, then your code does whater you wanted it to do.
The "how" of hooking up to the APM via telemetry should you want to do it remote. Just remember that you would want both radios to be the "air" side with UART connections as the standard kit has one side with USB but that's not what you want. Basically think of it like this, with the radios, it's transparent, so on the ground is the equivalent of plugging into the APM UART port. Basically, your second Arduino can be in the air or on the ground, it doesn't matter.
Also,in this thread http://diydrones.com/forum/topics/question-can-an-xbee-be-used-as-a...
Wilfrid is talking about releasing some nice code that displays to an LCD. This uses the Mavlink via telemetry so the code sounds EXACTLY fit for your project. I too would love to use this code he has described as it sounds easy to adapt to your needs. Too bad it's not posted somewhere today.
I just want to add that doing via the methed I have described you change nothing in the APM code, thus the regular updates and everything works and even more important as others have said, you don't cause issues in the code flying the aircraft. You get exactly what you wanted, the data. It's just a matter of using one of these code bases for your project, and the front end modules "read" in the data and format it to what the rest of your code wants.
Thanks for all the answers I'm going to look into it.