Khác

QMC5883L GY-271 Cảm biến la bàn điện tử số (từ trường)

Mã sản phẩm: K1_99
QMC5883L là cảm biến la bàn điện tử thay thế cho cảm biến phiên bản trước là HMC5883L. Là sản phẩm dựa trên sự phát triển của công nghệ tiên tiến nhất, được đánh giá cấp phép từ công ty công nghệ hàng đầu Honeywell AMR.Cải tiến nâng cao cho tiếng ồn...
70,000₫
Hàng còn: 1
Số lượng
 
1
 
Thêm vào giỏ Mua ngay

Dịch vụ & Khuyến mãi

Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng

Giảm 5k cho đơn hàng trên 300k đồng

Giảm 10k cho đơn hàng trên 500k đồng

Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng

Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.

Chi tiết sản phẩm

  • QMC5883L là cảm biến la bàn điện tử thay thế cho cảm biến phiên bản trước là HMC5883L. 
  • Là sản phẩm dựa trên sự phát triển của công nghệ tiên tiến nhất, được đánh giá cấp phép từ công ty công nghệ hàng đầu Honeywell AMR.
  • Cải tiến nâng cao cho tiếng ồn thấp, độ chính xác cực kỳ cao, tiêu thụ điện năng thấp, có tích hợp bộ cân bằng nhiệt độ giúp đảm bảo độ chính xác luôn trong khoảng cho phép 1º - 2º.
  •  
THÔNG SỐ KỸ THUẬT QMC5883L:
 

- Điện áp: 3-5V

- Giao tiếp: I2C

- Chuyển đổi dữ liệu ADC 16bit

- Độ phân giải: 5mm gauss

- Dải đo: 1.3-8 gauss

- PCB Board Size: 1.5 x 1.3cm/0.59" x 0.51"(L*W)

- Nhiệt độ làm việc: -40º - 85ºC

 Ứng dụng:

Dùng trong các ứng dụng xác định phương hướng từ trường, la bàn, trong robot tự hành...

SƠ ĐỒ KẾT NỐI QMC5883L VỚI ARDUINO

CÁCH TẢI THƯ VIỆN QMC5883L

 

Lưu ý: Hiện nay trên thị trường có rất nhiều phiên  bản QMC5883L nên quý khach cần chạy chương trình I2C scanner để biết địa chỉ là gì, sau đó sẽ nạp code tương ứng.

 

Nếu địa chỉ I2C=0x2C thì sử dụng CODE  này:

 

#include <Wire.h>

 

// QMC5883P的I2C地址

const int QMC5883P_ADDR = 0x2C;

 

// 控制寄存器地址

const int MODE_REG = 0x0A;

const int CONFIG_REG = 0x0B;

 

// 数据输出寄存器地址

const int X_LSB_REG = 0x01;

const int X_MSB_REG = 0x02;

const int Y_LSB_REG = 0x03;

const int Y_MSB_REG = 0x04;

const int Z_LSB_REG = 0x05;

const int Z_MSB_REG = 0x06;

 

// 状态寄存器地址

const int STATUS_REG = 0x09;

 

// 初始化QMC5883P

void initQMC5883P() {

  Wire.begin();

  // 设置为连续测量模式,数据输出速率为200Hz,量程为±8G

  Wire.beginTransmission(QMC5883P_ADDR);

  Wire.write(MODE_REG);

  Wire.write(0xCF); // 0xCF: 连续模式, 200Hz数据输出速率

  Wire.endTransmission();

 

  Wire.beginTransmission(QMC5883P_ADDR);

  Wire.write(CONFIG_REG);

  Wire.write(0x08); // 0x08: 设置Set/Reset模式为开启,量程为±8G

  Wire.endTransmission();

}

 

// 读取QMC5883P的原始数据

void readQMC5883PData(int16_t& x, int16_t& y, int16_t& z) {

  Wire.beginTransmission(QMC5883P_ADDR);

  Wire.write(X_LSB_REG);

  Wire.endTransmission(false);

  Wire.requestFrom(QMC5883P_ADDR, 6);

 

  if (Wire.available() == 6) {

    byte x_lsb = Wire.read();

    byte x_msb = Wire.read();

    byte y_lsb = Wire.read();

    byte y_msb = Wire.read();

    byte z_lsb = Wire.read();

    byte z_msb = Wire.read();

 

    x = (x_msb << 8) | x_lsb;

    y = (y_msb << 8) | y_lsb;

    z = (z_msb << 8) | z_lsb;

  }

}

 

void setup() {

  Serial.begin(9600);

  initQMC5883P();

}

 

void loop() {

  int16_t x, y, z;

  readQMC5883PData(x, y, z);

 

  Serial.print("X: ");

  Serial.print(x);

  Serial.print("\tY: ");

  Serial.print(y);

  Serial.print("\tZ: ");

  Serial.println(z);

 

  delay(100);

}

 

NẾU ĐỊA CHỈ I2C = 0X0D THÌ NẠP CODE NÀY:

 

/*

===============================================================================================================

QMC5883LCompass.h Library XYZ Example Sketch

Learn more at [https://github.com/mprograms/QMC5883LCompass]

 

This example shows how to get the XYZ values from the sensor.

 

===============================================================================================================

Release under the GNU General Public License v3

[https://www.gnu.org/licenses/gpl-3.0.en.html]

===============================================================================================================

*/

#include <QMC5883LCompass.h>

 

QMC5883LCompass compass;

 

void setup() {

  Serial.begin(9600);

  compass.init();

 

}

 

void loop() {

  int x, y, z;

 

  // Read compass values

  compass.read();

 

  // Return XYZ readings

  x = compass.getX();

  y = compass.getY();

  z = compass.getZ();

 

  Serial.print("X: ");

  Serial.print(x);

  Serial.print(" Y: ");

  Serial.print(y);

  Serial.print(" Z: ");

  Serial.print(z);

  Serial.println();

 

  delay(250);

}

Bình luận

Không có sản phẩm nào trong giỏ hàng của bạn

Không có sản phẩm nào trong giỏ hàng của bạn

LINH KIỆN ĐIỆN TỬ ĐỨC HUY (29A BÙI XUÂN PHÁI)
Hotline 0942954739
LINH KIỆN ĐIỆN TỬ ĐỨC HUY (29A BÙI XUÂN PHÁI)