7.f. Using the compass

This example program demonstrates using the magnetometer in the Zumo Shield’s LSM303 3-axis compass module (described in section Section 3.d) to help the Zumo coordinate ninety-degree turns and drive in squares. With the Zumo Shield Arduino Libraries installed, the sketch file can be opened in Arduino by selecting File > Examples > ZumoExamples > Compass. This example also requires the LSM303 library to be installed.

Because the batteries, motors, and motor current affect the z axis of the magnetometer much more strongly than the x and y axes, this program calculates the Zumo’s orientation using only the x and y readings from the magnetometer, assuming that the robot is always level. In order to prevent external, locally varying magnetic fields (e.g. from rebar in a concrete floor) from affecting the Zumo’s navigation too much, the program measures the magnetic heading before each turn, then turns ninety degrees relative to that heading.

Related Products

Zumo Shield for Arduino
Zumo Robot Kit for Arduino (No Motors)
Zumo Reflectance Sensor Array
Zumo Robot for Arduino (Assembled with 75:1 HP Motors)
Zumo Shield for Arduino, v1.2
Zumo Robot Kit for Arduino, v1.2 (No Motors)
Zumo Robot for Arduino, v1.2 (Assembled with 75:1 HP Motors)
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors