Compass Heading, Motor Control, Wireless and Graphic Display Project

I have done basic programming with PIC and Basic Stamps and now having fun with my Arduino Uno. I have a project and would like advice as to which is the optimal Arduino for my project. I have a simple TV antenna (aluminum) on a aluminum mast to a rotor that runs on 12vdc (solar charged deep cycle batteries) that I would like to control remotely from in-house while also monitoring the antenna compass heading in real time . Basically set the heading desired and have the controller activate the rotor motor until heading is reached. I have figured out the basics of my Uno reading data from an LCM303 magnetometer, and now have an Xbee Series1 connected to my Uno transferring corrected compass heading data via the SerialSoft.h library to another Xbee connected to my laptop.

For my remote project, at the antenna side, I envision a local arduino+mag sensor+servo relay shield+Xbee. About 150' away I will have another Arduino standalone controller + Xbee+Graphics LCD. (to start though I will only have the Xbee to a laptop software control).

For the remote location setup, would a Uno or Due be adequate to handle Xbee serial interrupt communications sending magnetometer data strings, and receiving servo motor requests? The remote Arduino code will be very basic with the Loop code alternating between sending compass heading updates and receiving servo motor control while the in-house Arduino (or laptop program) would parse the data and decide whether to update the remote servo motor or not. To avoid a lot of unnecessary back and forth fine motor movements, my in-house control program will only activate the remote servo motor to target a rotor turn to a specific heading selection. I will need to write the code so that as the selected compass heading is being approached, the servo rotor impulses (On cycles) are slowed down and matched to real compass heading data updates to prevent overshoot and oscillations.

I would appreciate comments from forum members on my project concept and any advice about the Xbee communication and serial interrupts needed to limit data overflow/delays.

tia jerry

Any arduino can do the job - you certainly don’t need to part with the cash for a Due.

What about the number of interrupt service routine available? I read here that Uno only has digital pin 2 and 3 for ISR's and that is being taken up by Xbee wireless. Do you think I need interrupt driven routines for the magnetometer data changes?


Xbee seems overkill for this.

Comms base on Rfm12b modules or even separate 433 MHz am modules would be far cheaper.

Take a look at the Jeenode

I think Rfm12b are around $15 or less.