Sisukord:
- Samm: vajalik riistvara:
- 2. samm: riistvara ühendamine:
- Samm: kiirenduse mõõtmise Pythoni kood:
- 4. samm: rakendused:
Video: Kiirenduse mõõtmine H3LIS331DL ja Raspberry Pi abil: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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:
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 ü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:
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:
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:
Kiirenduse mõõtmine ADXL345 ja osakeste footoni abil: 4 sammu
Kiirenduse mõõtmine ADXL345 ja osakeste footonite abil: ADXL345 on väike, õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs digitaalse liidese I2 C kaudu. See mõõdab
Kiirenduse mõõtmine H3LIS331DL ja Arduino Nano abil: 4 sammu
Kiirenduse mõõtmine H3LIS331DL ja Arduino Nano abil: 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 valitavad täisskaalad ± 100 g/± 200 g/± 400 g ja see on võimeline mõõtma kiirendusi
Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 4 sammu
Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 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 valitavad täisskaalad ± 100 g/± 200 g/± 400 g ja see on võimeline mõõtma kiirendusi
Kiirenduse mõõtmine ADXL345 ja Raspberry Pi abil: 4 sammu
Kiirenduse mõõtmine ADXL345 ja Raspberry Pi abil: ADXL345 on väike, õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs digitaalse liidese I2 C kaudu. See mõõdab
Kiirenduse mõõtmine BMA250 ja Raspberry Pi abil: 4 sammu
Kiirenduse mõõtmine, kasutades BMA250 ja Raspberry Pi: BMA250 on väike õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs I2C digitaalse liidese kaudu. See mõõdab staatilist