Съдържание:
- Стъпка 1: Изисква се хардуер:
- Стъпка 2: Свързване на хардуера:
- Стъпка 3: Python код за измерване на ускорението:
- Стъпка 4: Приложения:
Видео: Измерване на ускорението с помощта на H3LIS331DL и Raspberry Pi: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
H3LIS331DL е високоефективен 3-осен линеен акселерометър с ниска мощност, принадлежащ към семейството „нано“, с цифров I²C сериен интерфейс. H3LIS331DL има избираеми от потребителя пълни скали от ± 100 g/± 200 g/± 400 g и е в състояние да измерва ускорения с изходни скорости на данни от 0,5 Hz до 1 kHz. Гарантирано е, че H3LIS331DL ще работи в разширен температурен диапазон от -40 ° C до +85 ° C.
В този урок ще демонстрираме взаимодействието на H3LIS331DL с Raspberry Pi, използвайки python като език за програмиране.
Стъпка 1: Изисква се хардуер:
Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:
1. H3LIS331DL
2. Малина Пи
3. I2C кабел
4. I2C щит за малиново пи
5. Ethernet кабел
Стъпка 2: Свързване на хардуера:
Разделът за свързване на хардуер основно обяснява необходимите кабелни връзки между сензора и малиновото пи. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:
H3LIS331DL ще работи през I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.
Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици. Всичко, от което се нуждаете, са четири проводника!
Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.
Тези връзки са показани на снимките по -горе.
Стъпка 3: Python код за измерване на ускорението:
Предимството на използването на малинов pi е, че ви предоставя гъвкавостта на езика за програмиране, на който искате да програмирате платката, за да свържете интерфейса на сензора с нея. Използвайки това предимство на тази дъска, ние демонстрираме тук нейното програмиране в python. Python е един от най -лесните езици за програмиране с най -лесен синтаксис. Кодът на python за H3LIS331DL може да бъде изтеглен от нашата github общност, която е DCUBE Store.
Освен за улеснение на потребителите, ние обясняваме кода и тук:
Като първа стъпка от кодирането трябва да изтеглите библиотеката SMBus в случай на python, тъй като тази библиотека поддържа функциите, използвани в кода. Така че, за да изтеглите библиотеката, можете да посетите следната връзка:
pypi.python.org/pypi/smbus-cffi/0.5.1
Можете също да копирате работния код от тук:
внос smbus
време за импортиране
# Вземете I2C шина = smbus. SMBus (1)
# H3LIS331DL адрес, 0x18 (24)
# Изберете контролен регистър 1, 0x20 (32)
# 0x27 (39) Режим на включено захранване, Изходна скорост = 50 Hz# X, Y, Z-ос е разрешена
bus.write_byte_data (0x18, 0x20, 0x27)
# H3LIS331DL адрес, 0x18 (24)# Изберете контролен регистър 4, 0x23 (35)
# 0x00 (00) Непрекъснато актуализиране, пълен избор на мащаб = +/- 100g
bus.write_byte_data (0x18, 0x23, 0x00)
time.sleep (0.5)
# H3LIS331DL адрес, 0x18 (24)
# Прочетете данните обратно от 0x28 (40), 2 байта
# X-ос LSB, X-ос MSB
data0 = bus.read_byte_data (0x18, 0x28)
data1 = bus.read_byte_data (0x18, 0x29)
# Конвертирайте даннитеxAccl = data1 * 256 + data0
ако xAccl> 32767:
xAccl -= 65536
# H3LIS331DL адрес, 0x18 (24)
# Прочетете данните обратно от 0x2A (42), 2 байта
# Y-ос LSB, Y-ос MSB
data0 = bus.read_byte_data (0x18, 0x2A)
data1 = bus.read_byte_data (0x18, 0x2B)
# Конвертирайте данните
yAccl = данни1 * 256 + данни0
ако yAccl> 32767:
yAccl -= 65536
# H3LIS331DL адрес, 0x18 (24)
# Прочетете данните обратно от 0x2C (44), 2 байта
# Z-ос LSB, Z-ос MSB
data0 = bus.read_byte_data (0x18, 0x2C)
data1 = bus.read_byte_data (0x18, 0x2D)
# Конвертирайте данните
zAccl = данни1 * 256 + данни0
ако zAccl> 32767:
zAccl -= 65536
# Извеждане на данни на екрана
отпечатайте "Ускорение по ос X: %d" %xAccl
отпечатайте "Ускорение по оста Y: %d" %yAccl
отпечатайте "Ускорение по ос Z: %d" %zAccl
Кодът се изпълнява със следната команда:
$> python H3LIS331DL.py gt; python H3LIS331DL.py
Изходът на сензора е показан на горната снимка за справка на потребителя.
Стъпка 4: Приложения:
Акселерометрите като H3LIS331DL намират своето приложение най -вече в игрите и превключването на профилите на дисплея. Този сензорен модул се използва и в усъвършенстваната система за управление на захранването за мобилни приложения. H3LIS331DL е триаксиален цифров сензор за ускорение, който е интегриран с интелигентен контролер за прекъсвания, задействан от движение на чипа.
Препоръчано:
Измерване на ускорението с помощта на ADXL345 и частичен фотон: 4 стъпки
Измерване на ускорението с помощта на ADXL345 и частичен фотон: ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Измерва
Измерване на ускорението с помощта на H3LIS331DL и Arduino Nano: 4 стъпки
Измерване на ускорението с помощта на H3LIS331DL и Arduino Nano: H3LIS331DL, е маломощен високоефективен 3-осен линеен акселерометър, принадлежащ към семейството „nano“, с цифров I²C сериен интерфейс. H3LIS331DL има избираеми от потребителя пълни скали от ± 100g/± 200g/± 400g и е в състояние да измерва ускорения w
Измерване на ускорението с помощта на H3LIS331DL и фотон на частици: 4 стъпки
Измерване на ускорението с помощта на H3LIS331DL и частичен фотон: H3LIS331DL, е маломощен високоефективен 3-осен линеен акселерометър, принадлежащ към семейството „нано“, с цифров I²C сериен интерфейс. H3LIS331DL има избираеми от потребителя пълни скали от ± 100g/± 200g/± 400g и е в състояние да измерва ускорения w
Измерване на ускорението с помощта на ADXL345 и Raspberry Pi: 4 стъпки
Измерване на ускорението с помощта на ADXL345 и Raspberry Pi: ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Измерва
Измерване на ускорението с помощта на BMA250 и Raspberry Pi: 4 стъпки
Измерване на ускорението с помощта на BMA250 и Raspberry Pi: BMA250 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2C цифров интерфейс. Измерва статичното