Съдържание:

Raspberry Pi - ADXL345 3 -осен акселерометър Python Урок: 4 стъпки
Raspberry Pi - ADXL345 3 -осен акселерометър Python Урок: 4 стъпки

Видео: Raspberry Pi - ADXL345 3 -осен акселерометър Python Урок: 4 стъпки

Видео: Raspberry Pi - ADXL345 3 -осен акселерометър Python Урок: 4 стъпки
Видео: ADXL345 Accelerometer Visualization 2024, Юли
Anonim

ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Той измерва статичното ускорение на гравитацията в приложенията за отчитане на наклона, както и динамичното ускорение в резултат на движение или удар. Неговата висока разделителна способност (3,9 mg/LSB) позволява измерване на промените в наклона под 1,0 °. Ето демонстрацията с малинов pi с помощта на код на python.

Стъпка 1: Какво ви трябва..

От какво имаш нужда..!!
От какво имаш нужда..!!
От какво имаш нужда..!!
От какво имаш нужда..!!

1. Малина Пи

2. ADXL345

3. Кабел I²C

4. I²C щит за Raspberry Pi

5. Ethernet кабел

Стъпка 2: Свързване:

Връзка
Връзка
Връзка
Връзка
Връзка
Връзка
Връзка
Връзка

Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.

След това свържете единия край на I2C кабела към сензора ADXL345, а другия край към I2C щита.

Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.

Връзките са показани на снимката по -горе.

Стъпка 3: Код:

Код
Код

Кодът на python за ADXL345 може да бъде изтеглен от нашето хранилище на GitHub- Dcube Store

Ето линк за същото:

github.com/DcubeTechVentures/ADXL345..

Използвахме библиотека SMBus за код на python, стъпките за инсталиране на SMBus на raspberry pi са описани тук:

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

Можете също да копирате кода от тук, той е даден, както следва:

# Разпространява се с лиценз за свободна воля.

# Използвайте го по какъвто начин искате, печалба или безплатно, при условие че се вписва в лицензите на свързаните с него произведения.

# ADXL345

# Този код е проектиран да работи с мини модула ADXL345_I2CS I2C, наличен в Dcube Store.

внос smbus

време за импортиране

# Вземете I2C автобус

шина = smbus. SMBus (1)

# ADXL345 адрес, 0x53 (83)

# Изберете регистър на честотната лента, 0x2C (44)# 0x0A (10) Нормален режим, Скорост на изходните данни = 100 Hz

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

# ADXL345 адрес, 0x53 (83)

# Изберете регистър за управление на мощността, 0x2D (45)

# 0x08 (08) Деактивиране на автоматичното заспиване

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

# ADXL345 адрес, 0x53 (83)

# Изберете регистър за формат на данни, 0x31 (49)

# 0x08 (08) Самодиагностиката е деактивирана, 4-жичен интерфейс

# Пълна разделителна способност, Обхват = +/- 2g

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

time.sleep (0.5)

# ADXL345 адрес, 0x53 (83)

# Прочетете данните обратно от 0x32 (50), 2 байта

# X-ос LSB, X-ос MSB

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

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

# Конвертирайте данните в 10-бита

xAccl = ((данни1 и 0x03) * 256) + данни0

ако xAccl> 511:

xAccl -= 1024

# ADXL345 адрес, 0x53 (83)

# Прочетете данните обратно от 0x34 (52), 2 байта

# Y-ос LSB, Y-ос MSB

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

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

# Конвертирайте данните в 10-бита

yAccl = ((данни1 и 0x03) * 256) + данни0

ако yAccl> 511:

yAccl -= 1024

# ADXL345 адрес, 0x53 (83)

# Прочетете данните обратно от 0x36 (54), 2 байта

# Z-ос LSB, Z-ос MSB

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

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

# Конвертирайте данните в 10-бита

zAccl = ((данни1 и 0x03) * 256) + данни0

ако zAccl> 511:

zAccl -= 1024

# Извеждане на данни на екрана

отпечатайте "Ускорение по ос X: %d" %xAccl

отпечатайте "Ускорение по оста Y: %d" %yAccl

отпечатайте "Ускорение по ос Z: %d" %zAccl

Стъпка 4: Приложения:

ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност, който може да се използва в телефони, медицински инструменти и др. Приложението му включва също игри и посочващи устройства, промишлени инструменти, лични навигационни устройства и защита на твърдия диск (HDD).

Препоръчано: