Мазмұны:

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

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

Бейне: H3LIS331DL мен Raspberry Pi көмегімен үдеуді өлшеу: 4 қадам
Бейне: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, Қараша
Anonim
Image
Image

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. Таңқурайға арналған I2C қалқаны

5. Ethernet кабелі

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

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

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

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

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

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

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

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

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

Оның таңқурай пиін қолданудың артықшылығы - бұл сенсорды интерфейске қосу үшін тақтаны бағдарламалайтын тілдің икемділігін қамтамасыз етеді. Бұл тақтаның артықшылығын пайдаланып, біз мұнда оның питонда бағдарламалануын көрсетеміз. Python - синтаксисі қарапайым бағдарламалау тілдерінің бірі. H3LIS331DL үшін питон кодын біздің github қауымдастығынан жүктеуге болады DCUBE дүкені.

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

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

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

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

smbus импорттау

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

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

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

# 1, 0x20 басқару регистрін таңдаңыз (32)

# 0x27 (39) Қуатты қосу режимі, Деректерді шығару жылдамдығы = 50 Гц# X, Y, Z осі қосылған

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)

# DataxAccl = 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-Axis LSB, Z-Axis 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-бұл үш фазалы цифрлық үдеткіш сенсоры, ол интеллектуалды микросхеманың қозғалысы бар үзіліс контроллерімен біріктірілген.

Ұсынылған: