Navigation

Arduino CMPS10

CMPS10 - Arduino Mega2540
5V - 5V
SDA - SDA/20
SCL - SCL/21
0v Ground - GND

#include <Wire.h> // Use I2C library
#define ADDRESS 0x60 // Address of CMPS10

void setup(){
Serial.begin(9600);
Wire.begin(); // Connect to I2C
}

void loop(){
byte byteHigh, byteLow, fine; // byteHigh/byteLow store high and low bytes of the bearing
// fine stores decimal place of bearing
char pitch, roll; // Stores pitch and roll (signed values)
int bearing; // Full bearing

Wire.beginTransmission(ADDRESS); // begin communication with CMPS09
Wire.write(2); // Start read
Wire.endTransmission();
Wire.requestFrom(ADDRESS, 4); // Request 4 bytes from CMPS09
while(Wire.available() < 4); // Wait for the bytes to arrive
byteHigh = Wire.read(); // Store values
byteLow = Wire.read();
pitch = Wire.read();
roll = Wire.read();

bearing = ((byteHigh<<8) + byteLow) / 10; // Calculate full bearing
fine = ((byteHigh<<8) + byteLow) % 10; // Calculate bearing decimal
print_data(bearing, fine, pitch, roll); // Print data

//delay(500);
}

void print_data(int bearing, int fine, int pitch, int roll) {
// Print data to Serial Monitor window
Serial.print("Bearing=");
Serial.print(bearing, DEC);
Serial.print(".");
Serial.print(fine, DEC);

Serial.print("\t");
Serial.print("Pitch=");
Serial.print(pitch, DEC);

Serial.print("\t");
Serial.print("Roll=");
Serial.print(roll, DEC);
Serial.println("");
}

Comments

 

'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';
'500','78','50','70','207','0','66','0';