Mục lục:

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

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

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python Hướng dẫn: 4 bước
Video: Raspberry Pi LIS3DHTR 3-Axis Accelerometer Python Tutorial 2024, Tháng mười một
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 raspberry pi bằng cách sử dụng mã python.

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. Raspberry Pi

2. MMA8452Q

3. Cáp I²C

4. I²C Shield cho Raspberry Pi

5. Cáp Ethernet

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

Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối

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

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.

Đồng thời kết nối cáp Ethernet với pi hoặc bạn có thể sử dụng mô-đun WiFi.

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

Bước 3: Mã:

Mã số
Mã số

Mã python cho MMA8452Q có thể được tải xuống từ kho lưu trữ github của chúng tôi- ControlEverythingCommunity

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

Chúng tôi đã sử dụng thư viện SMBus cho mã python, các bước để cài đặt SMBus trên raspberry pi được mô tả ở đây:

pypi.python.org/pypi/smbus-cffi/0.5.1

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 Mô-đun Mini MMA8452Q_I2CS I2C.

nhập khẩu smbus

thời gian nhập khẩu

# Nhận xe buýt I2C

bus = smbus. SMBus (1)

Địa chỉ # MMA8452Q, 0x1C (28)

# Chọn Thanh ghi điều khiển, 0x2A (42)

# 0x00 (00) Chế độ StandBy

bus.write_byte_data (0x1C, 0x2A, 0x00)

Địa chỉ # MMA8452Q, 0x1C (28)

# Chọn Thanh ghi điều khiển, 0x2A (42)

# 0x01 (01) Chế độ hoạt động

bus.write_byte_data (0x1C, 0x2A, 0x01)

Địa chỉ # MMA8452Q, 0x1C (28)

# Chọn Thanh ghi cấu hình, 0x0E (14)

# 0x00 (00) Đặt phạm vi thành +/- 2g

bus.write_byte_data (0x1C, 0x0E, 0x00)

time.sleep (0,5)

Địa chỉ # MMA8452Q, 0x1C (28)

# Đọc lại dữ liệu từ 0x00 (0), 7 byte

# Thanh ghi trạng thái, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

data = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Chuyển đổi dữ liệu

xAccl = (dữ liệu [1] * 256 + dữ liệu [2]) / 16

nếu xAccl> 2047:

xAccl - = 4096

yAccl = (dữ liệu [3] * 256 + dữ liệu [4]) / 16

nếu yAccl> 2047:

yAccl - = 4096 z

Accl = (dữ liệu [5] * 256 + dữ liệu [6]) / 16

nếu zAccl> 2047:

zAccl - = 4096

# Xuất dữ liệu ra màn hình

in "Gia tốc theo Trục X:% d"% xAccl

print "Gia tốc theo trục Y:% d"% yAccl

in "Gia tốc theo Trục Z:% d"% zAccl

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: