Мазмуну:

Raspberry Pi - ADXL345 3 -октук акселерометр Python үйрөткүчү: 4 кадам
Raspberry Pi - ADXL345 3 -октук акселерометр Python үйрөткүчү: 4 кадам

Video: Raspberry Pi - ADXL345 3 -октук акселерометр Python үйрөткүчү: 4 кадам

Video: Raspberry Pi - ADXL345 3 -октук акселерометр Python үйрөткүчү: 4 кадам
Video: Гироскоп-Акселерометр MPU-6050. Первое знакомство 2024, Июль
Anonim

ADXL345-кичине, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечилиште (13-бит) өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Бул эңкейүүнү сезүүчү колдонмолордо тартылуу күчүнүн статикалык ылдамдатуусун, ошондой эле кыймылдан же шоктон келип чыккан динамикалык ылдамданууну өлчөйт. Анын жогорку токтому (3,9 мг/LSB) жантайыштын өзгөрүүсүн 1,0 ° дан аз өлчөөгө мүмкүндүк берет. Бул жерде python кодун колдонуп, малина pi менен демонстрация.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Raspberry Pi

2. ADXL345

3. I²C кабели

4. Raspberry Pi үчүн I²C Shield

5. Ethernet кабели

2 -кадам: Байланыш:

Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу

Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.

Андан кийин I2C кабелинин бир учун ADXL345 сенсоруна, экинчи башын I2C калканчына туташтырыңыз.

Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

ADXL345 үчүн питон кодун биздин GitHub репозиторийинен көчүрүп алса болот- Dcube Store

Мына ушуга шилтеме:

github.com/DcubeTechVentures/ADXL345..

Биз SMBus китепканасын python коду үчүн колдонгонбуз, малина пи боюнча SMBus орнотуу кадамдары бул жерде сүрөттөлгөн:

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

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

# Эркин лицензия менен бөлүштүрүлгөн.

# Аны каалагандай колдон, пайда же бекер, эгерде ал тиешелүү эмгектеринин лицензиясына туура келсе.

# ADXL345

# Бул код Dcube дүкөнүндө жеткиликтүү ADXL345_I2CS I2C Mini модулу менен иштөө үчүн иштелип чыккан.

smbus импорттоо

импорттоо убактысы

# I2C автобусун алыңыз

автобус = smbus. SMBus (1)

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

# Өткөрүү ылдамдыгынын регистрин тандоо, 0x2C (44)# 0x0A (10) Жөнөкөй режим, Чыгуу маалымат ылдамдыгы = 100 Гц

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 зымдуу интерфейс

# Толук чечим, диапазон = +/- 2г

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

убакыт.уйку (0.5)

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

# Маалыматтарды 0x32 (50), 2 байттан кайра окуу

# X-Axis LSB, X-Axis MSB

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

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

# Маалыматтарды 10 битке айландырыңыз

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

эгер xAccl> 511:

xAccl -= 1024

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

# 0x34 (52), 2 байт маалыматтарын кайра окуу

# Y-Axis LSB, Y-Axis MSB

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

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

# Маалыматтарды 10 битке айландырыңыз

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

эгер yAccl> 511:

yAccl -= 1024

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

# Маалыматтарды 0x36 (54), 2 байттан кайра окуу

# Z-Axis LSB, Z-Axis MSB

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

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

# Маалыматтарды 10 битке айландырыңыз

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

эгер zAccl> 511:

zAccl -= 1024

# Экранга маалыматтарды чыгаруу

басып чыгаруу "Акселерде ылдамдануу: %d" %xAccl

басып чыгаруу "Y огунда ылдамдануу: %d" %yAccl

басып чыгаруу "Z-огунда ылдамдануу: %d" %zAccl

4 -кадам: Тиркемелер:

ADXL345-бул кичинекей, ичке, ультра кубаттуу, 3-октук акселерометр, аны телефондордо, медициналык приборлордо ж.

Сунушталууда: