
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57
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).
Препоръчано:
Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: 4 стъпки

Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Python Урок: 4 стъпки

Raspberry Pi MMA8452Q 3-осен 12-битов/8-битов цифров акселерометър Python Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Урок за акселерометър Arduino: Управление на корабен мост с помощта на серво мотор: 5 стъпки

Урок за акселерометър Arduino: Управление на корабен мост с помощта на серво мотор: Сензорите за акселерометър вече са в повечето от нашите смартфони, за да им предоставят голямо разнообразие от възможности за използване и възможности, които използваме ежедневно, без дори да знаем, че отговорен за това е акселерометърът. Една от тези възможности е контролът
Урок за акселерометър CubeSat: 6 стъпки

Урок за акселерометър CubeSat: Кубето е вид миниатюризиран сателит за космически изследвания, който се състои от кратни на 10x10x10 cm кубични единици и маса не повече от 1,33 килограма на единица. Cubesats позволяват изпращането на голямо количество сателити в космоса и
Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Java Урок: 4 стъпки

Raspberry Pi MMA8452Q 3-осен 12-битов/8-битов цифров акселерометър Java Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с ниска мощност с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания