Мазмұны:

Raspberry Pi - ADXL345 3 осьті акселерометр Python оқулығы: 4 қадам
Raspberry Pi - ADXL345 3 осьті акселерометр Python оқулығы: 4 қадам

Бейне: Raspberry Pi - ADXL345 3 осьті акселерометр Python оқулығы: 4 қадам

Бейне: Raspberry Pi - ADXL345 3 осьті акселерометр Python оқулығы: 4 қадам
Бейне: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, Шілде
Anonim

ADXL345-бұл кішкентай, жұқа, ультра қуат, 3 осьті акселерометр, жоғары ажыратымдылықпен (13 биттік) ± 16 г дейін. Сандық шығыс деректері 16 биттік қосалқы ретінде форматталған және I2 C сандық интерфейсі арқылы қол жетімді. Көлбеуді сезу кезінде ауырлық күшінің статикалық үдеуін, сонымен қатар қозғалыс немесе соққыдан болатын динамикалық үдеуді өлшейді. Оның жоғары ажыратымдылығы (3,9 мг/LSB) көлбеудің өзгеруін 1,0 ° -тан төмен өлшеуге мүмкіндік береді. Міне, бұл питон кодын қолданатын таңқурай пиімен демонстрация.

1 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!
Сізге не керек.. !!
Сізге не керек.. !!

1. Raspberry Pi

2. ADXL345

3. I²C кабелі

4. Raspberry Pi үшін I²C қалқаны

5. Ethernet кабелі

2 -қадам: Қосылу:

Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу

Таңқурай пи үшін I2C қалқанын алыңыз және оны таңқурай пи gpio түйреуіштерінен ақырын басыңыз.

Содан кейін I2C кабелінің бір ұшын ADXL345 сенсорына, екінші ұшын I2C қалқанына қосыңыз.

Ethernet кабелін pi -ге қосыңыз немесе WiFi модулін қолдана аласыз.

Қосылымдар жоғарыдағы суретте көрсетілген.

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

Код
Код

ADXL345 үшін питон кодын біздің GitHub репозиторийінен жүктеуге болады- Dcube дүкені

Міне, сол үшін сілтеме:

github.com/DcubeTechVentures/ADXL345..

Біз питон коды үшін SMBus кітапханасын қолдандық, мұнда таңқурай pi -де SMBus орнату қадамдары сипатталған:

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

Сіз кодты осы жерден көшіре аласыз, ол келесі түрде берілген:

# Ерікті лицензиямен таратылды.

# Мұны онымен байланысты жұмыстардың лицензиясына сәйкес келген жағдайда, оны кез келген жолмен пайдаланыңыз немесе тегін пайдаланыңыз.

# ADXL345

# Бұл код Dcube дүкенінде қол жетімді ADXL345_I2CS I2C шағын модулімен жұмыс жасауға арналған.

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) + деректер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 = ((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) + деректер0

егер zAccl> 511:

zAccl -= 1024

# Деректерді экранға шығару

басып шығару «X осіндегі үдеу: %d» %xAccl

басып шығару «Y осінде үдеу: %d» %yAccl

басып шығару «Z осінде үдеу: %d» %zAccl

4 -қадам: Өтініштер:

ADXL345-бұл шағын, жұқа, ультра қуатты, 3 осьті акселерометр, оны телефон тұтқаларында, медициналық құралдарда қолдануға болады және т.

Ұсынылған: