Sisukord:
- Samm: vajalik riistvara:
- 2. samm: riistvara ühendamine:
- 3. samm: kiirenduse mõõtmise kood:
- 4. samm: rakendused:
Video: Kiirenduse mõõtmine ADXL345 ja Raspberry Pi abil: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
ADXL345 on väike, õhuke, üliväikese võ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. Mõõdab staatilist raskuskiirendust kaldetundlikes rakendustes, samuti liikumisest või põrutusest tulenevat dünaamilist kiirendust. Selle kõrge eraldusvõime (3,9 mg/LSB) võimaldab mõõta kalde muutusi alla 1,0 °.
Selles õpetuses on näidatud ADXL345 andurimooduli liidestamist vaarika pi -ga ja illustreeritud on ka selle programmeerimine python -keelt kasutades. Kiirenduse väärtuste lugemiseks kõigil 3-teljel oleme kasutanud vaarika pi koos I2C adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.
Samm: vajalik riistvara:
Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:
1. ADXL345
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:
ADXL345 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.
3. samm: kiirenduse mõõtmise kood:
Vaarika pi kasutamise eeliseks on see, et saate paindlikult programmeerimiskeelt, milles soovite plaati programmeerida, et andurit sellega liidestada. Kasutades selle plaadi eeliseid, demonstreerime siin selle programmeerimist pythonis. ADXL345 püütoni koodi saab alla laadida meie githubi kogukonnast, mis on Control Everything Community.
Lisaks kasutajate mugavusele selgitame koodi ka siin:
Kodeerimise esimese sammuna peate pythoni korral alla laadima smbus -raamatukogu, kuna see teek toetab koodis kasutatavaid funktsioone. Niisiis, teegi allalaadimiseks võite külastada järgmist linki:
pypi.python.org/pypi/smbus-cffi/0.5.1
Siit saate kopeerida ka selle anduri töötava püütoni koodi:
import smbus
impordi aeg
# Hankige I2C siinus = smbus. SMBus (1)
# ADXL345 aadress, 0x53 (83)
# Valige ribalaiuse kiirusregister, 0x2C (44)
# 0x0A (10) Tavaline režiim, väljundandmesagedus = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# ADXL345 aadress, 0x53 (83)
# Valige toitejuhtimisregister, 0x2D (45)
# 0x08 (08) Automaatne unerežiimi keelamine
bus.write_byte_data (0x53, 0x2D, 0x08)
# ADXL345 aadress, 0x53 (83)
# Valige andmevorminguregister, 0x31 (49)
# 0x08 (08) Enesetesti on keelatud, 4-juhtmeline liides
# Täisresolutsioon, vahemik = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
aeg. uni (0,5)
# ADXL345 aadress, 0x53 (83)
# Lugege andmeid tagasi 0x32 (50), 2 baiti
# X-telg LSB, X-telg MSB
andmed0 = bus.read_byte_data (0x53, 0x32)
andmed1 = bus.read_byte_data (0x53, 0x33)
# Teisendage andmed 10-bitisteks
xAccl = ((andmed1 & 0x03) * 256) + andmed0
kui xAccl> 511:
xAccl -= 1024
# ADXL345 aadress, 0x53 (83)
# Lugege andmeid tagasi 0x34 (52), 2 baiti
# Y-telg LSB, Y-telg MSB
andmed0 = bus.read_byte_data (0x53, 0x34)
andmed1 = bus.read_byte_data (0x53, 0x35)
# Teisendage andmed 10-bitisteks
yAccl = ((andmed1 & 0x03) * 256) + andmed0
kui yAccl> 511:
yAccl -= 1024
# ADXL345 aadress, 0x53 (83)
# Lugege andmeid tagasi 0x36 (54), 2 baiti
# Z-telg LSB, Z-telg MSB
andmed0 = bus.read_byte_data (0x53, 0x36)
andmed1 = bus.read_byte_data (0x53, 0x37)
# Teisendage andmed 10-bitisteks
zAccl = ((andmed1 & 0x03) * 256) + andmed0
kui zAccl> 511:
zAccl -= 1024
# Väljastage andmed ekraanile
print "Kiirendus X-teljel: %d" %xAccl
print "Kiirendus Y-teljel: %d" %yAccl
print "Z-telje kiirendus: %d" %zAccl
Allpool mainitud koodi osa sisaldab teeke, mida on vaja püütoni koodide õigeks täitmiseks.
impordi importimise aeg
Koodi saab käivitada, sisestades käsureale allpool nimetatud käsu.
$> python ADXL345.py
Anduri väljund on kasutaja jaoks viidatud ka ülaltoodud pildile.
4. samm: rakendused:
ADXL345 on väike, õhuke, üliväikese võimsusega 3-teljeline kiirendusmõõtur, mida saab kasutada mobiiltelefonides, meditsiiniseadmetes jne. Selle rakendus hõlmab ka mängu- ja osutusseadmeid, tööstusseadmeid, isiklikke navigeerimisseadmeid ja kõvaketta kaitset.
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 Raspberry Pi abil: 4 sammu
Kiirenduse mõõtmine H3LIS331DL ja Raspberry Pi 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 Arduino Nano abil: 4 sammu
Kiirenduse mõõtmine ADXL345 ja Arduino Nano 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