Увеличить
Компас HMC5883L 3-х осевой GY-273
ВВЕДЕНИЕ
Плата с магнетометром HMC5883L, который измеряет магнитное поле, причем делает это в трех осях. Это дает возможность получать трехмерную картину направленности магнитного поля и его величину. Управляется по шине I2C, питание микросхемы 3.3В, но шина толерантна к 5В уровням, так что к Arduino можно подключать напрямую. На плате установлен параметрический стабилизатор на 3.3В.
ПАРАМЕТРЫ
- Чип: HMC5883L
- Питание: 5V
- Протокол связи: стандартный IIC (он же I2C, он же TWI)
- Диапазон измерений: ± 1.3-8 гаусс, точность 5 милли-гаусс
- Размеры платы: 14х13 мм
ПРИМЕР КОДА
#include "wire.h" //I2C Arduino
#define addr 0x1E //I2C адрес HMC5883
void setup(){
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(addr);
Wire.write(0x02); // Установить регистр
Wire.write(0x00); // непрерывное измерение
Wire.endTransmission();
}
void loop(){
int x,y,z; //оси
Wire.beginTransmission(addr);
Wire.write(0x03);
Wire.endTransmission();
//Читаем данные .. 2 байта для каждой оси .. 6 общее число байтов
Wire.requestFrom(addr, 6);
if(6<=Wire.available()){
x = Wire.read()<<8; //MSB x
x |= Wire.read(); //LSB x
z = Wire.read()<<8; //MSB z
z |= Wire.read(); //LSB z
y = Wire.read()<<8; //MSB y
y |= Wire.read(); //LSB y
}
// показываем значение
Serial.print("X Value: ");
Serial.println(x);
Serial.print("Y Value: ");
Serial.println(y);
Serial.print("Z Value: ");
Serial.println(z);
Serial.println();
delay(500);
}
ДОКУМЕНТЫ
КОМПЛЕКТ
- Датчик-компас GY-273 х 1