Mục lục:

Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Hướng dẫn: 4 bước
Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Hướng dẫn: 4 bước

Video: Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Hướng dẫn: 4 bước

Video: Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Hướng dẫn: 4 bước
Video: Arduino Nano - MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial 2024, Tháng bảy
Anonim
Image
Image

MMA8452Q là một gia tốc kế thông minh, công suất thấp, ba trục, điện dung, được gia tốc vi cơ với độ phân giải 12 bit. Các tùy chọn có thể lập trình của người dùng linh hoạt được cung cấp với sự hỗ trợ của các chức năng nhúng trong gia tốc kế, có thể định cấu hình cho hai chân ngắt. Nó có các thang đo đầy đủ có thể lựa chọn của người dùng là ± 2g / ± 4g / ± 8g với dữ liệu được lọc bộ lọc thông cao cũng như dữ liệu không được lọc có sẵn trong thời gian thực. Đây là phần trình diễn của nó với Arduino nano.

Bước 1: Những gì bạn cần.. !

Những gì bạn cần.. !!
Những gì bạn cần.. !!

1. Arduino Nano

2. MMA8452Q

3. Cáp I²C

4. Tấm chắn I²C cho Arduino Nano

Bước 2: Kết nối:

Sự liên quan
Sự liên quan
Sự liên quan
Sự liên quan
Sự liên quan
Sự liên quan
Sự liên quan
Sự liên quan

Lấy một tấm chắn I2C cho Arduino Nano và nhẹ nhàng đẩy nó qua các chân của Nano.

Sau đó kết nối một đầu của cáp I2C với cảm biến MMA8452Q và đầu kia với lá chắn I2C.

Các kết nối được hiển thị trong hình trên.

Bước 3: Mã:

Mã số
Mã số

Bạn có thể tải xuống mã arduino cho MMMA8452Q từ kho lưu trữ github - DCUBE Store của chúng tôi.

Đây là liên kết.

Chúng tôi bao gồm thư viện Wire.h để tạo điều kiện giao tiếp I2c của cảm biến với bảng Arduino.

Bạn cũng có thể sao chép mã từ đây, nó được đưa ra như sau:

// Được phân phối với một giấy phép tự do.

// Sử dụng nó theo bất kỳ cách nào bạn muốn, lợi nhuận hoặc miễn phí, miễn là nó phù hợp với giấy phép của các tác phẩm liên quan.

// MMA8452Q

// Mã này được thiết kế để hoạt động với MMA8452Q_I2CS I2C Mini Module.

#bao gồm

// Địa chỉ I2C MMA8452Q là 0x1C (28)

#define Addr 0x1C

void setup ()

{

// Khởi tạo giao tiếp I2C dưới dạng MASTER

Wire.begin ();

// Giao tiếp nối tiếp khởi tạo, đặt tốc độ truyền = 9600

Serial.begin (9600);

// Bắt đầu truyền I2C

Wire.beginTransmission (Addr);

// Chọn thanh ghi điều khiển

Wire.write (0x2A);

// Chế độ chờ

Wire.write (0x00);

// Dừng truyền I2C

Wire.endTransmission ();

// Bắt đầu truyền I2C

Wire.beginTransmission (Addr);

// Chọn thanh ghi điều khiển

Wire.write (0x2A);

// Chế độ hoạt động

Wire.write (0x01);

// Dừng truyền I2C

Wire.endTransmission ();

// Bắt đầu truyền I2C

Wire.beginTransmission (Addr);

// Chọn thanh ghi điều khiển

Wire.write (0x0E);

// Đặt dải ô thành +/- 2g

Wire.write (0x00);

// Dừng truyền I2C

Wire.endTransmission ();

chậm trễ (300);

}

void loop ()

{

dữ liệu int không dấu [7];

// Yêu cầu 7 byte dữ liệu

Wire.requestFrom (Addr, 7);

// Đọc 7 byte dữ liệu

// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

if (Wire.available () == 7)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

data [4] = Wire.read ();

data [5] = Wire.read ();

data [6] = Wire.read ();

}

// Chuyển đổi dữ liệu thành 12 bit

int xAccl = ((data [1] * 256) + data [2]) / 16;

nếu (xAccl> 2047)

{

xAccl - = 4096;

}

int yAccl = ((data [3] * 256) + data [4]) / 16;

if (yAccl> 2047)

{

yAccl - = 4096;

}

int zAccl = ((data [5] * 256) + data [6]) / 16;

nếu (zAccl> 2047)

{

zAccl - = 4096;

}

// Xuất dữ liệu ra màn hình nối tiếp

Serial.print ("Gia tốc theo trục X:");

Serial.println (xAccl);

Serial.print ("Gia tốc theo trục Y:");

Serial.println (yAccl);

Serial.print ("Gia tốc theo trục Z:");

Serial.println (zAccl);

chậm trễ (500);

}

Bước 4: Ứng dụng:

MMA8452Q có các ứng dụng khác nhau bao gồm các ứng dụng E-La bàn, Phát hiện hướng tĩnh kết hợp Chân dung / Phong cảnh, Lên / Xuống, Trái / Phải, Nhận dạng vị trí Sau / Trước, Máy tính xách tay, đầu đọc điện tử và Phát hiện rơi máy tính xách tay và rơi tự do, Thời gian thực phát hiện định hướng bao gồm phản hồi vị trí người dùng 3D thực tế ảo và chơi game, phân tích hoạt động trong thời gian thực như đếm bước đi của máy đếm bước, phát hiện rơi tự do cho ổ cứng, sao lưu GPS tính toán chết và hơn thế nữa.

Đề xuất: