Мазмуну:
- 1 -кадам: Аппараттык камсыздоо талап кылынат:
- 2 -кадам: Аппараттык туташуу:
- 3 -кадам: Ылдамданууну өлчөө коду:
- 4 -кадам: Тиркемелер:
Video: ADXL345 жана Raspberry Pi менен ылдамданууну өлчөө: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
ADXL345-кичине, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечилиште (13-бит) өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Бул эңкейүүнү сезүүчү колдонмолордо тартылуу күчүнүн статикалык ылдамдатуусун, ошондой эле кыймылдан же шоктон келип чыккан динамикалык ылдамданууну өлчөйт. Анын жогорку токтому (3,9 мг/LSB) жантайыштын өзгөрүүсүн 1,0 ° дан аз өлчөөгө мүмкүндүк берет.
Бул окуу куралында ADXL345 сенсор модулунун малина пи менен интерфейси көрсөтүлгөн жана анын питон тили менен программаланышы да көрсөтүлгөн. Бардык 3-огунда ылдамдануунун маанилерин окуу үчүн I2C adapter. This I2C адаптери менен малина пи колдонгонбуз, сенсор модулуна туташууну жеңил жана ишенимдүү кылат.
1 -кадам: Аппараттык камсыздоо талап кылынат:
Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:
1. ADXL345
2. Raspberry Pi
3. I2C кабели
4. Малина pi үчүн I2C Shield
5. Ethernet кабели
2 -кадам: Аппараттык туташуу:
Аппараттык туташуу бөлүмү негизинен сенсор менен малина пи ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:
ADXL345 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз.
Сизге болгону төрт зым керек! Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.
Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.
3 -кадам: Ылдамданууну өлчөө коду:
Малина пи колдонуунун артыкчылыгы, башкача айтканда, сенсорго интерфейс үчүн тактаны программалоону каалаган программалоо тилинин ийкемдүүлүгүн камсыздайт. Бул тактанын артыкчылыгынан пайдаланып, биз бул жерде анын питондогу программалоосун көрсөтүп жатабыз. ADXL345 үчүн питон кодун биздин гитуб коомчулугунан жүктөп алсаңыз болот, бул - Бардыгын көзөмөлдөө жамааты.
Колдонуучулардын ыңгайлуулугу үчүн, биз бул жерде кодду түшүндүрүп жатабыз:
Коддоонун биринчи кадамы катары сиз питон үчүн smbus китепканасын жүктөп алышыңыз керек, анткени бул китепкана коддо колдонулган функцияларды колдойт. Ошентип, китепкананы жүктөө үчүн төмөнкү шилтемеге кире аласыз:
pypi.python.org/pypi/smbus-cffi/0.5.1
Бул сенсордун жумушчу питон кодун бул жерден көчүрүп алсаңыз болот:
smbus импорттоо
импорттоо убактысы
# Get I2C busbus = 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) + data0
эгер 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 = ((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) + data0
эгер zAccl> 511:
zAccl -= 1024
# Экранга маалыматтарды чыгаруу
басып чыгаруу "Акселерде ылдамдануу: %d" %xAccl
басып чыгаруу "Y огунда ылдамдануу: %d" %yAccl
басып чыгаруу "Z-огунда ылдамдануу: %d" %zAccl
Төмөндө айтылган коддун бөлүгү python коддорунун туура аткарылышы үчүн керектүү китепканаларды камтыйт.
smbusimport убактысын импорттоо
Код төмөнкү буйрукту буйрук сабына терүү менен аткарылышы мүмкүн.
$> python ADXL345.py
Сенсордун чыгышы да колдонуучунун маалымдамасы үчүн жогорудагы сүрөттө көрсөтүлгөн.
4 -кадам: Тиркемелер:
ADXL345-бул кичинекей, ичке, ультра кубаттуу, 3-октук акселерометр, аны телефондордо, медициналык приборлордо ж.
Сунушталууда:
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 жана Raspberry Pi колдонуу менен ылдамданууну өлчөө: 4 кадам
H3LIS331DL жана Raspberry Pi: H3LIS331DL менен ылдамданууну өлчөө-бул IanoC санариптик интерфейси бар, "нано" үй-бүлөсүнө таандык, аз кубаттуу, 3 октук сызыктуу акселерометр. H3LIS331DL колдонуучу ± 100g/± 200g/± 400g тандап алган толук таразаларга ээ жана ылдамдыкты өлчөй алат
ADXL345 жана Arduino Nano колдонуу менен ылдамданууну өлчөө: 4 кадам
ADXL345 жана Arduino Nano колдонуу менен ылдамдатууну өлчөө: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечим (13-бит) менен өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
HDC1000 жана Raspberry Pi менен температураны жана нымдуулукту өлчөө: 4 кадам
HDC1000 жана Raspberry Pi менен температураны жана нымдуулукту өлчөө: HDC1000 - бул өтө аз кубаттуулукта мыкты өлчөө тактыгын камсыз кылган интегралдык температура сенсоруна ээ болгон санарип нымдуулук сенсору. Аппарат нымдуулукту жаңы сыйымдуу сенсордун негизинде өлчөйт. Нымдуулук жана температура сенсорлору бетке