Мазмуну:
- 1 -кадам: Аппараттык камсыздоо талап кылынат:
- 2 -кадам: Аппараттык туташуу:
- 3 -кадам: Ылдамданууну өлчөө үчүн Python коду:
- 4 -кадам: Тиркемелер:
Video: H3LIS331DL жана Raspberry Pi колдонуу менен ылдамданууну өлчөө: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
H3LIS331DL-бул санариптик I²C сериялык интерфейси бар, "нано" үй-бүлөсүнө таандык, аз кубаттуу, 3 октук сызыктуу акселерометр. H3LIS331DL колдонуучунун ± 100g/± 200g/± 400g тандап ала турган толук таразасына ээ жана ал 0,5 Гцтен 1 кГцке чейин маалымат ылдамдыгын ылдамдатууга жөндөмдүү. H3LIS331DL -40 ° Cдан +85 ° C чейин узартылган температура диапазонунда иштөө кепилдикке ээ.
Бул окуу куралында биз H3LIS331DLдин Raspberry Pi менен интерфейсин көрсөтөбүз, pythonду программалоо тили катары колдонобуз.
1 -кадам: Аппараттык камсыздоо талап кылынат:
Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:
1. H3LIS331DL
2. Raspberry Pi
3. I2C кабели
4. Малина pi үчүн I2C Shield
5. Ethernet кабели
2 -кадам: Аппараттык туташуу:
Аппараттык туташуу бөлүмү негизинен сенсор менен малина пи ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:
H3LIS331DL I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!
Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.
Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.
3 -кадам: Ылдамданууну өлчөө үчүн Python коду:
анын малина пи колдонуунун артыкчылыгы, башкача айтканда, сенсорго интерфейс үчүн тактаны программалоону каалаган программалоо тилинин ийкемдүүлүгүн камсыздайт. Бул тактанын артыкчылыгынан пайдаланып, биз бул жерде анын питондогу программалоосун көрсөтүп жатабыз. Python - эң оңой синтаксиси бар эң оңой программалоо тилдеринин бири. H3LIS331DL үчүн питон кодун биздин github коомчулугунан көчүрүп алса болот DCUBE дүкөнү.
Колдонуучулардын ыңгайлуулугу үчүн, биз бул жерде кодду түшүндүрүп жатабыз:
Коддоонун биринчи кадамы катары сиз питон үчүн SMBus китепканасын жүктөп алышыңыз керек, анткени бул китепкана коддо колдонулган функцияларды колдойт. Ошентип, китепкананы жүктөө үчүн төмөнкү шилтемеге кире аласыз:
pypi.python.org/pypi/smbus-cffi/0.5.1
Жумуш кодун бул жерден көчүрүп алсаңыз болот:
smbus импорттоо
импорттоо убактысы
# Get I2C busbus = smbus. SMBus (1)
# H3LIS331DL дареги, 0x18 (24)
# Башкаруу регистрин тандоо 1, 0x20 (32)
# 0x27 (39) Power ON режими, Маалымат чыгаруу ылдамдыгы = 50 Гц# X, Y, Z-Axis иштетилген
bus.write_byte_data (0x18, 0x20, 0x27)
# H3LIS331DL дареги, 0x18 (24)# 4 башкаруу регистрин тандоо, 0x23 (35)
# 0x00 (00) Үзгүлтүксүз жаңыртуу, Толук масштабдуу тандоо = +/- 100г
bus.write_byte_data (0x18, 0x23, 0x00)
убакыт.уйку (0.5)
# H3LIS331DL дареги, 0x18 (24)
# Маалыматтарды 0x28 (40), 2 байттан кайра окуу
# X-Axis LSB, X-Axis MSB
data0 = bus.read_byte_data (0x18, 0x28)
data1 = bus.read_byte_data (0x18, 0x29)
# Convert the dataxAccl = data1 * 256 + data0
эгер xAccl> 32767:
xAccl -= 65536
# H3LIS331DL дареги, 0x18 (24)
# 0x2A (42), 2 байт маалыматтарын кайра окуу
# Y-Axis LSB, Y-Axis MSB
data0 = bus.read_byte_data (0x18, 0x2A)
data1 = bus.read_byte_data (0x18, 0x2B)
# Маалыматтарды айландыруу
yAccl = data1 * 256 + data0
эгер yAccl> 32767:
yAccl -= 65536
# H3LIS331DL дареги, 0x18 (24)
# Окууну 0x2C (44), 2 байттан кайра окуу
# Z-Axis LSB, Z-Axis MSB
data0 = bus.read_byte_data (0x18, 0x2C)
data1 = bus.read_byte_data (0x18, 0x2D)
# Маалыматтарды айландыруу
zAccl = data1 * 256 + data0
эгер zAccl> 32767:
zAccl -= 65536
# Экранга маалыматтарды чыгаруу
басып чыгаруу "Акселерде ылдамдануу: %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 г чейин. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
H3LIS331DL жана Arduino Nano колдонуу менен ылдамданууну өлчөө: 4 кадам
H3LIS331DL жана Arduino Nano аркылуу ылдамдатууну өлчөө: H3LIS331DL-бул санариптик I²C сериялык интерфейси бар, "нано" үй-бүлөсүнө таандык, аз кубаттуу, 3 октук сызыктуу акселерометр. H3LIS331DL колдонуучу ± 100g/± 200g/± 400g тандап алган толук таразаларга ээ жана ылдамдыкты өлчөй алат
H3LIS331DL жана бөлүкчө фотонун колдонуу менен ылдамдатууну өлчөө: 4 кадам
H3LIS331DL жана Particle Photon колдонуп ылдамдатууну өлчөө: H3LIS331DL-бул санариптик I²C сериялык интерфейси бар, "нано" үй-бүлөсүнө таандык, аз кубаттуу, 3 октук сызыктуу акселерометр. H3LIS331DL колдонуучу ± 100g/± 200g/± 400g тандап алган толук таразаларга ээ жана ылдамдыкты өлчөй алат
ADXL345 жана Raspberry Pi менен ылдамданууну өлчөө: 4 кадам
ADXL345 жана Raspberry Pi колдонуу менен ылдамдатууну өлчөө: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, жогорку чечим (13-бит) ± 16 г чейин өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
ADXL345 жана Arduino Nano колдонуу менен ылдамданууну өлчөө: 4 кадам
ADXL345 жана Arduino Nano колдонуу менен ылдамдатууну өлчөө: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечим (13-бит) менен өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт