Мазмұны:

BMA250 және Raspberry Pi көмегімен үдеуді өлшеу: 4 қадам
BMA250 және Raspberry Pi көмегімен үдеуді өлшеу: 4 қадам

Бейне: BMA250 және Raspberry Pi көмегімен үдеуді өлшеу: 4 қадам

Бейне: BMA250 және Raspberry Pi көмегімен үдеуді өлшеу: 4 қадам
Бейне: Particle Photon BMA250 Digital Triaxial Acceleration Sensor Tutorial 2024, Қараша
Anonim
Image
Image

BMA250-ұсақ, жұқа, ультра қуатты, 3 осьті акселерометр, жоғары ажыратымдылықпен (13 биттік) ± 16 г дейін. Сандық шығыс деректері 16 биттік қосалқы ретінде форматталған және I2C сандық интерфейсі арқылы қол жетімді. Көлбеуді сезу кезінде ауырлық күшінің статикалық үдеуін, сонымен қатар қозғалыс немесе соққыдан болатын динамикалық үдеуді өлшейді. Оның жоғары ажыратымдылығы (3,9 мг/LSB) көлбеудің өзгеруін 1,0 ° -тан төмен өлшеуге мүмкіндік береді.

Бұл оқулықта біз BMA250 және Raspberry Pi көмегімен үш перпендикуляр осьте үдеуді өлшейтін боламыз. Сенсор питон тілінде бағдарламаланған.

1 -қадам: Қажетті жабдық:

Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық

Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:

1. BMA250

2. Raspberry Pi

3. I2C кабелі

4. Raspberry Pi үшін I2C қалқаны

5. Ethernet кабелі

2 -қадам: Жабдықты қосу:

Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу

Аппаратты қосу бөлімі негізінен сенсор мен таңқурай пи арасындағы қажетті сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:

BMA250 I2C режимінде жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.

Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз. Сізге тек төрт сым қажет!

Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.

Бұл байланыстар жоғарыдағы суреттерде көрсетілген.

3 -қадам: Жылдамдықты өлшеуге арналған Python коды:

Жылдамдықты өлшеуге арналған Python коды
Жылдамдықты өлшеуге арналған Python коды
Жылдамдықты өлшеуге арналған Python коды
Жылдамдықты өлшеуге арналған Python коды

Таңқурай пиін қолданудың артықшылығы - бұл сенсорды интерфейске қосу үшін тақтаны бағдарламалайтын тілдің икемділігін қамтамасыз етеді. Бұл тақтаның артықшылығын пайдаланып, біз мұнда оның питонда бағдарламалануын көрсетеміз. Python - синтаксисі қарапайым бағдарламалау тілдерінің бірі. BMA250 үшін питон кодын біздің GitHub қауымдастығынан жүктеуге болады, бұл Dcube Store

Пайдаланушыларға ыңғайлы болу үшін біз кодты осында түсіндіреміз:

Кодтаудың бірінші қадамы ретінде питон жағдайында SMBus кітапханасын жүктеу қажет, себебі бұл кітапхана кодта қолданылатын функцияларды қолдайды. Сонымен, кітапхананы жүктеу үшін келесі сілтемеге кіруге болады:

pypi.python.org/pypi/smbus-cffi/0.5.1

Жұмыс кодын мына жерден көшіруге болады:

smbus импорттау

импорт уақыты

# I2C автобусын алыңыз = smbus. SMBus (1)

# BMA250 мекенжайы, 0x18 (24)

# 0x0F ауқымын таңдау регистрін таңдаңыз (15)

# 0x03 (03) Аралықты орнату = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 мекенжайы, 0x18 (24)# Өткізу регистрін таңдау, 0x10 (16)

# 0x08 (08) өткізу қабілеттілігі = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

уақыт.ұйқы (0.5)

# BMA250 мекенжайы, 0x18 (24)

# Деректерді 0x02 (02), 6 байттан кері оқыңыз

# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB

data = bus.read_i2c_block_data (0x18, 0x02, 6)

# Деректерді 10 битке түрлендіріңіз

xAccl = (деректер [1] * 256 + (деректер [0] & 0xC0)) / 64

егер xAccl> 511:

xAccl -= 1024

yAccl = (деректер [3] * 256 + (деректер [2] & 0xC0)) / 64

егер yAccl> 511:

yAccl -= 1024

zAccl = (деректер [5] * 256 + (деректер [4] & 0xC0)) / 64

егер zAccl> 511:

zAccl -= 1024

# Деректерді экранға шығару

басып шығару «X осіндегі үдеу: % d» % xAccl

басып шығару «Y осінде үдеу: % d» % yAccl

басып шығару «Z осінде үдеу: % d» % zAccl

Код келесі команданың көмегімен орындалады:

$> python BMA250.py gt; питон BMA250.py

Сенсордың шығысы пайдаланушыға сілтеме ретінде жоғарыдағы суретте көрсетілген.

4 -қадам: Өтініштер:

Қолданбалар
Қолданбалар

BMA250 сияқты акселерометрлер көбінесе ойындарда қолданылады және профильді ауыстыруды көрсетеді. Бұл сенсорлық модуль мобильді қосымшаларға арналған қуатты басқарудың жетілдірілген жүйесінде де қолданылады. BMA250-үш фазалы цифрлық үдеткіш сенсоры, ол интеллектуалды микросхемадағы қозғалысты басқаратын үзіліс контроллерімен біріктірілген.

Ұсынылған: