Mục lục:

Raspberry Pi - ADXL345 3-Axis Accelerometer Hướng dẫn Python: 4 bước
Raspberry Pi - ADXL345 3-Axis Accelerometer Hướng dẫn Python: 4 bước

Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Hướng dẫn Python: 4 bước

Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Hướng dẫn Python: 4 bước
Video: Accelerometer visualization w/ Raspberry Pi + SenseHat in Python 2024, Tháng bảy
Anonim

ADXL345 là một máy đo gia tốc 3 trục nhỏ, mỏng, công suất cực thấp, có độ phân giải cao (13-bit) với phép đo lên đến ± 16 g. Dữ liệu đầu ra kỹ thuật số được định dạng dưới dạng bổ sung 16 bit hai chiều và có thể truy cập thông qua giao diện kỹ thuật số I2 C. Đo gia tốc tĩnh của trọng lực trong các ứng dụng cảm biến độ nghiêng, cũng như gia tốc động do chuyển động hoặc sốc. Độ phân giải cao của nó (3,9 mg / LSB) cho phép đo các thay đổi độ nghiêng nhỏ hơn 1,0 °. Đây là phần trình diễ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.. !!
Những gì bạn cần.. !!
Những gì bạn cần.. !!

1. Raspberry Pi

2. ADXL345

3. Cáp I²C

4. I²C Shield cho Raspberry Pi

5. Cáp Ethernet

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 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 ADXL345 và đầu kia với tấm 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ố

Có thể tải xuống mã python cho ADXL345 từ kho lưu trữ GitHub của chúng tôi- Dcube Store

Đây là liên kết cho cùng một:

github.com/DcubeTechVentures/ADXL345..

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.

# ADXL345

# Mã này được thiết kế để hoạt động với Mô-đun Mini ADXL345_I2CS I2C có sẵn trong Dcube Store.

nhập khẩu smbus

thời gian nhập khẩu

# Nhận xe buýt I2C

bus = smbus. SMBus (1)

Địa chỉ # ADXL345, 0x53 (83)

# Chọn thanh ghi tốc độ băng thông, 0x2C (44) # 0x0A (10) Chế độ bình thường, Tốc độ dữ liệu đầu ra = 100 Hz

bus.write_byte_data (0x53, 0x2C, 0x0A)

Địa chỉ # ADXL345, 0x53 (83)

# Chọn thanh ghi điều khiển công suất, 0x2D (45)

# 0x08 (08) Tắt Tự động Ngủ

bus.write_byte_data (0x53, 0x2D, 0x08)

Địa chỉ # ADXL345, 0x53 (83)

# Chọn thanh ghi định dạng dữ liệu, 0x31 (49)

# 0x08 (08) Đã tắt tính năng tự kiểm tra, giao diện 4 dây

# Độ phân giải đầy đủ, Phạm vi = +/- 2g

bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0,5)

Địa chỉ # ADXL345, 0x53 (83)

# Đọc lại dữ liệu từ 0x32 (50), 2 byte

# X-Axis LSB, X-Axis MSB

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

# Chuyển đổi dữ liệu thành 10-bit

xAccl = ((data1 & 0x03) * 256) + data0

nếu xAccl> 511:

xAccl - = 1024

Địa chỉ # ADXL345, 0x53 (83)

# Đọc lại dữ liệu từ 0x34 (52), 2 byte

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

# Chuyển đổi dữ liệu thành 10-bit

yAccl = ((data1 & 0x03) * 256) + data0

nếu yAccl> 511:

yAccl - = 1024

Địa chỉ # ADXL345, 0x53 (83)

# Đọc lại dữ liệu từ 0x36 (54), 2 byte

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

# Chuyển đổi dữ liệu thành 10-bit

zAccl = ((data1 & 0x03) * 256) + data0

nếu zAccl> 511:

zAccl - = 1024

# 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:

ADXL345 là một máy đo gia tốc 3 trục nhỏ, mỏng, công suất cực thấp, có thể được sử dụng trong Thiết bị cầm tay, Thiết bị đo đạc y tế, v.v. Ứng dụng của nó cũng bao gồm Thiết bị chơi game và trỏ, Thiết bị đo công nghiệp, Thiết bị định vị cá nhân và Bảo vệ ổ đĩa cứng (HDD).

Đề xuất: