go away spammer

Author Topic: Hacking NXT Compass Sensor  (Read 4275 times)

0 Members and 1 Guest are viewing this topic.

Offline airman00Topic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 3,650
  • Helpful? 21
  • narobo.com
    • Narobo.com - Mechatronics and related
Hacking NXT Compass Sensor
« on: May 09, 2009, 11:16:43 AM »
In my quest for an accurate compass I found this - http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NMC1034

Quote
The NXT Compass Sensor is a digital compass that measures the earth's magnetic field and outputs a value representing the current heading. The magnetic heading is calculated to the nearest 1° and returned as a number from 0 to 359. The NXT Magnetic Compass Sensor updates the heading 100 times per second.

From the documenation it seems like plain old I2C communication, so it should work fine with microcontrollers like the Axon. Anyone have any experience with hacking the NXT protocol? Any tips or tricks?

Or , does anyone know of a compass which has 1° accuracy that has a different interface?
Check out the Roboduino, Arduino-compatible board!


Link: http://curiousinventor.com/kits/roboduino

www.Narobo.com

Offline hazzer123

  • Supreme Robot
  • *****
  • Posts: 460
  • Helpful? 3
Re: Hacking NXT Compass Sensor
« Reply #1 on: May 09, 2009, 11:28:30 AM »
I'm using this one quite successfully. Simple I2C interface and it reports an angle in decidegrees. To get 1 degree accurate readings you would need to mount it so that it was always flat. Any small tilts throw the readings off quite a bit.

« Last Edit: May 09, 2009, 11:48:08 AM by hazzer123 »
Imperial College Robotics Society
www.icrobotics.co.uk

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Hacking NXT Compass Sensor
« Reply #2 on: May 30, 2009, 07:24:50 AM »
If you really want accuracy, you need tilt compensation.

http://www.sparkfun.com/commerce/product_info.php?products_id=8960


 


Get Your Ad Here

data_list