DPRG List  

[DPRG] Compass Circuit

Subject: [DPRG] Compass Circuit
From: Rud Merriam k5rud at arrl.net
Date: Wed Nov 11 19:05:09 CST 2009

As I mentioned previously I have the Devantech Compass (URL below) and their
USB to I2C interface. I got it all working last weekend on my laptop. I also
got it working with an IR range finder (Sharp unit enhanced for I2C by
The USB interface handles all the details of the I2C protocol. All you need
to to is give it commands, the sensor address (modified for reading when
appropriate), the register and data when appropriate. It would be useful to
have for anyone just wanting to check out the operation of an I2C device
that is going to be part of a robot. My goal is to use it with a Fit PC Slim
unit which is a 500 MHz Geode PC in a tiny box.
There was some example code for the USB interface for the PC but not for my
devices. I was able to modify it easily enough. Now I'm making some C++
classes to handle I2C and these devices. Given the ease of use I'll look at
using it for other robot devices.
The compass works as described providing raw (0-255) and degree (0.0-359.9)
measurement. I'm not setup where I am (out of town) to test the accuracy of
the compass. The main problem is making sure the board is level when doing
measurements. It is still unmounted with just the cable plugged in. 
I am holding it against the room desk to maintain a steady orientation. But
the slightest movement in the pitch changes the raw reading. Any of the
pitch positions 'feel' level but obviously are not. Moving around in a house
or office the pitch should not be changing much so that should not be a
problem. Outside the readings might be more approximate than is useful. 
Somewhere I read the suggest ion of using two of these units at right
angles. One of them gives orientation and the other a pitch measurement. By
manipulating the two values you should get a good measurement for both. 
For my purposes, even outside, I think this unit will do what I want. My
experimentation is on the idea of integrating approximate measurements for
location and navigation, as opposed to accurate measurements as done by
odometry. For my purposes, I'm looking for the robot to say, "I must be
_here_ because my vision shows me this image (say a door outline) and my
orientation is roughly pointing NE".

Rud Merriam K5RUD
ARES AEC Montgomery County, TX 
http://TheHamNetwork.net <http://thehamnetwork.net/>  

-----Original Message-----
From: Dodd Gatsos [mailto:dgatsos at hotmail.com] 
Sent: Thursday, November 05, 2009 3:44 PM
To: dprglist at dprg.org
Subject: [DPRG] Compass Circuit

Anyone have any suggestion on a good compass circuit to use with an
Arduino/Sanguino board?
Saw the Honeywell HMR3100, but I don't think I want to have to deal with the
Serial Tx/Rx.
Don't know if this would work:
Or maybe a Dinsmore 1490 or 1525:



Bing brings you maps, menus, and reviews organized in one place. Try it now.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.dprg.org/pipermail/dprglist/attachments/20091111/d961c4a9/attachment.html

More information about the DPRG mailing list