Sisukord:

Kiirenduse mõõtmine H3LIS331DL ja Raspberry Pi abil: 4 sammu
Kiirenduse mõõtmine H3LIS331DL ja Raspberry Pi abil: 4 sammu

Video: Kiirenduse mõõtmine H3LIS331DL ja Raspberry Pi abil: 4 sammu

Video: Kiirenduse mõõtmine H3LIS331DL ja Raspberry Pi abil: 4 sammu
Video: Электровелосипед MINAKO F10 ТЕСТ ДРАЙВ ОБЗОР электро фэтбайк minako f10 электробайк минако ф10 2021 2024, November
Anonim
Image
Image

H3LIS331DL on väikese võimsusega suure jõudlusega 3-teljeline lineaarne kiirendusmõõtur, mis kuulub “nano” perekonda, digitaalse I²C jadaliidesega. H3LIS331DL -l on kasutaja poolt valitud täisskaala ± 100 g/± 200 g/± 400 g ja see on võimeline mõõtma kiirendusi väljundandmete kiirusega 0,5 Hz kuni 1 kHz. H3LIS331DL töötab garanteeritult temperatuurivahemikus -40 ° C kuni +85 ° C.

Selles õpetuses demonstreerime H3LIS331DL liidestamist Raspberry Pi -ga, kasutades programmeerimiskeelena pythonit.

Samm: vajalik riistvara:

Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara

Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:

1. H3LIS331DL

2. Vaarika Pi

3. I2C kaabel

4. I2C Shield vaarika pi jaoks

5. Etherneti kaabel

2. samm: riistvara ühendamine:

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja vaarika pi vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:

H3LIS331DL töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.

Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik. Kõik, mida vajate, on neli juhtmest!

Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.

Neid seoseid on näidatud ülaltoodud piltidel.

Samm: kiirenduse mõõtmise Pythoni kood:

Kiirenduse mõõtmise Pythoni kood
Kiirenduse mõõtmise Pythoni kood

Vaarika pi kasutamise eelis on see, et see annab teile paindlikkuse programmeerimiskeeles, milles soovite plaati programmeerida, et andurit sellega liidestada. Kasutades selle plaadi eeliseid, demonstreerime siin selle programmeerimist pythonis. Python on üks lihtsamaid programmeerimiskeeli, millel on lihtsaim süntaks. H3LIS331DL püütoni koodi saab alla laadida meie githubi kogukonnast, mis on DCUBE Store.

Lisaks kasutajate mugavusele selgitame koodi ka siin:

Kodeerimise esimese sammuna peate pythoni korral alla laadima SMBusi teegi, kuna see raamatukogu toetab koodis kasutatavaid funktsioone. Niisiis, teegi allalaadimiseks võite külastada järgmist linki:

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

Töökoodi saate kopeerida ka siit:

import smbus

impordi aeg

# Hankige I2C siinus = smbus. SMBus (1)

# H3LIS331DL aadress, 0x18 (24)

# Valige juhtregister 1, 0x20 (32)

# 0x27 (39) Sisselülitusrežiim, andmete väljundkiirus = 50 Hz# X, Y, Z-telg lubatud

bus.write_byte_data (0x18, 0x20, 0x27)

# H3LIS331DL aadress, 0x18 (24)# Valige juhtregister 4, 0x23 (35)

# 0x00 (00) Pidev värskendamine, täielik skaala valik = +/- 100 g

bus.write_byte_data (0x18, 0x23, 0x00)

aeg. uni (0,5)

# H3LIS331DL aadress, 0x18 (24)

# Lugege andmeid tagasi 0x28 (40), 2 baiti

# X-telg LSB, X-telg MSB

andmed0 = bus.read_byte_data (0x18, 0x28)

andmed1 = bus.read_byte_data (0x18, 0x29)

# Teisenda dataxAccl = data1 * 256 + data0

kui xAccl> 32767:

xAccl -= 65536

# H3LIS331DL aadress, 0x18 (24)

# Lugege andmeid tagasi 0x2A (42), 2 baiti

# Y-telg LSB, Y-telg MSB

andmed0 = bus.read_byte_data (0x18, 0x2A)

andmed1 = bus.read_byte_data (0x18, 0x2B)

# Teisendage andmed

yAccl = andmed1 * 256 + andmed0

kui yAccl> 32767:

yAccl -= 65536

# H3LIS331DL aadress, 0x18 (24)

# Lugege andmeid tagasi 0x2C (44), 2 baiti

# Z-telg LSB, Z-telg MSB

andmed0 = bus.read_byte_data (0x18, 0x2C)

andmed1 = bus.read_byte_data (0x18, 0x2D)

# Teisendage andmed

zAccl = andmed1 * 256 + andmed0

kui zAccl> 32767:

zAccl -= 65536

# Väljastage andmed ekraanile

print "Kiirendus X-teljel: %d" %xAccl

print "Kiirendus Y-teljel: %d" %yAccl

print "Z-telje kiirendus: %d" %zAccl

Kood käivitatakse järgmise käsu abil:

$> python H3LIS331DL.py gt; python H3LIS331DL.py

Anduri väljund on näidatud ülaltoodud pildil kasutaja jaoks.

4. samm: rakendused:

Rakendused
Rakendused

Kiirendusmõõturid nagu H3LIS331DL leiavad selle rakenduse enamasti mängudes ja kuvaprofiili vahetamisel. Seda andurimoodulit kasutatakse ka mobiilirakenduste täiustatud toitehaldussüsteemis. H3LIS331DL on kolmeteljeline digitaalne kiirendusandur, mis on ühendatud intelligentse kiibi liikumise käivitatud katkestuskontrolleriga.

Soovitan: