Оглавление:
Видео: Raspberry Pi - 3-осевой акселерометр ADXL345, учебное пособие по Python: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
ADXL345 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) и измерением до ± 16 г. Данные цифрового вывода форматируются как 16-битное дополнение до двоек и доступны через цифровой интерфейс I2C. Он измеряет статическое ускорение свободного падения в приложениях для измерения наклона, а также динамическое ускорение, возникающее в результате движения или удара. Его высокое разрешение (3,9 мг / младший значащий бит) позволяет измерять изменения наклона менее 1,0 °. Вот это демонстрация с Raspberry Pi с использованием кода Python.
Шаг 1: Что вам нужно..
1. Raspberry Pi
2. ADXL345
3. Кабель I²C
4. I²C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключение:
Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.
Затем подключите один конец кабеля I2C к датчику ADXL345, а другой конец - к экрану I2C.
Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.
Подключения показаны на картинке выше.
Шаг 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 Гц
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-Axis LSB, X-Axis 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-Axis LSB, Y-Axis 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-Axis LSB, Z-Axis 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
# Выводить данные на экран
print "Ускорение по оси X:% d"% xAccl
print "Ускорение по оси Y:% d"% yAccl
print "Ускорение по оси Z:% d"% zAccl
Шаг 4: Приложения:
ADXL345 - это небольшой, тонкий, 3-осевой акселерометр со сверхнизким энергопотреблением, который можно использовать в мобильных телефонах, медицинских приборах и т. Д. Его применение также включает игровые и указывающие устройства, промышленные приборы, персональные навигационные устройства и защиту жесткого диска (HDD).
Рекомендуемые:
Учебное пособие на Python по датчику влажности и температуры Raspberry Pi SHT25: 4 шага
Raspberry Pi SHT25 Датчик влажности и температуры Руководство Python: Датчик влажности и температуры SHT25 I2C ± 1,8% относительной влажности ± 0,2 ° C Мини-модуль I2C. Высокоточный датчик влажности и температуры SHT25 стал отраслевым стандартом с точки зрения форм-фактора и интеллекта, обеспечивая калиброванный, линеаризованный сигнал датчика
Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: MPL3115A2 использует датчик давления MEMS с интерфейсом I2C для предоставления точных данных о давлении / высоте и температуре. Выходы датчиков оцифровываются 24-битным АЦП высокого разрешения. Внутренняя обработка удаляет задачи компенсации из
Raspberry Pi - Учебное пособие на Python по цифровому датчику внешней освещенности BH1715: 4 шага
Raspberry Pi - Цифровой датчик внешней освещенности BH1715 Учебное пособие по Python: BH1715 - это цифровой датчик внешней освещенности с интерфейсом шины I²C. BH1715 обычно используется для получения данных об окружающем освещении для регулировки мощности подсветки ЖК-дисплея и клавиатуры для мобильных устройств. Это устройство предлагает 16-битное разрешение и настройку
Raspberry Pi - Учебное пособие по Python для инфракрасного датчика термобатареи TMP007: 4 шага
Raspberry Pi - Инфракрасный датчик термобатареи TMP007 Python Учебное пособие: TMP007 - это инфракрасный датчик термобатареи, который измеряет температуру объекта, не контактируя с ним. Инфракрасная энергия, излучаемая объектом в поле датчика, поглощается термобатареей, встроенной в датчик. Термопиль
Raspberry Pi - PCA9536 Учебное пособие по Python для расширителя ввода / вывода: 4 шага
Raspberry Pi - PCA9536 Расширитель ввода / вывода Учебное пособие по Python: PCA9536 - это 8-контактное устройство CMOS, которое обеспечивает 4-битное расширение универсального параллельного ввода / вывода (GPIO) для приложений I2C-bus / SMBus. Он состоит из 4-битного регистра конфигурации для выбора входа или выхода, 4-битный