Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
BMA250 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2C digitalt grensesnitt. Den måler den statiske gravitasjonsakselerasjonen i tilt-sensing-applikasjoner, samt dynamisk akselerasjon som følge av bevegelse eller sjokk. Den høye oppløsningen (3,9 mg/LSB) muliggjør måling av hellingsendringer mindre enn 1,0 °.
I denne opplæringen skal vi måle akselerasjonen i alle de tre vinkelrette aksene ved hjelp av BMA250 og Raspberry Pi. Sensoren er programmert på pythonspråk.
Trinn 1: Nødvendig maskinvare:
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. BMA250
2. Bringebær Pi
3. I2C -kabel
4. I2C Shield for Raspberry Pi
5. Ethernet -kabel
Trinn 2: Maskinvaretilkobling:
Maskinvaretilkoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og bringebær -pi. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:
BMA250 vil fungere over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.
Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker. Alt du trenger er fire ledninger!
Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.
Disse sammenhengene er vist på bildene ovenfor.
Trinn 3: Python -kode for akselerasjonsmåling:
Fordelen med å bruke bringebær pi er at det gir deg fleksibiliteten til programmeringsspråket der du vil programmere brettet for å koble sensoren til det. Ved å utnytte denne fordelen med dette brettet, demonstrerer vi her programmeringen i python. Python er et av de enkleste programmeringsspråkene med den enkleste syntaksen. Python -koden for BMA250 kan lastes ned fra vårt GitHub -fellesskap som er Dcube Store
I tillegg til brukernes brukervennlighet, forklarer vi koden også her:
Som det første trinnet i kodingen må du laste ned SMBus -biblioteket i tilfelle python fordi dette biblioteket støtter funksjonene som brukes i koden. Så for å laste ned biblioteket kan du besøke følgende lenke:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan også kopiere arbeidskoden herfra:
importer smbus
importtid
# Få I2C -bussbuss = smbus. SMBus (1)
# BMA250 -adresse, 0x18 (24)
# Velg register for registervalg, 0x0F (15)
# 0x03 (03) Angi område = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)
# BMA250 -adresse, 0x18 (24)# Velg båndbredderegister, 0x10 (16)
# 0x08 (08) Båndbredde = 7,81 Hzbus.write_byte_data (0x18, 0x10, 0x08)
time.sleep (0,5)
# BMA250 -adresse, 0x18 (24)
# Les data tilbake fra 0x02 (02), 6 byte
# 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)
# Konverter dataene til 10 bits
xAccl = (data [1] * 256 + (data [0] og 0xC0)) / 64
hvis xAccl> 511:
xAccl -= 1024
yAccl = (data [3] * 256 + (data [2] og 0xC0)) / 64
hvis yAccl> 511:
yAccl -= 1024
zAccl = (data [5] * 256 + (data [4] og 0xC0)) / 64
hvis zAccl> 511:
zAccl -= 1024
# Utdata til skjermen
print "Akselerasjon i X-aksen: % d" % xAccl
print "Akselerasjon i Y-aksen: % d" % yAccl
print "Akselerasjon i Z-aksen: % d" % zAccl
Koden kjøres med følgende kommando:
$> python BMA250.py gt; python BMA250.py
Sensorens utgang er vist på bildet ovenfor for referanse til brukeren.
Trinn 4: Søknader:
Akselerometre som BMA250 finner stort sett sin anvendelse i spillene og bytte profilvisning. Denne sensormodulen brukes også i det avanserte strømstyringssystemet for mobile applikasjoner. BMA250 er en triaksial digital akselerasjonssensor som er integrert med en intelligent bevegelsesutløst avbryterkontroller på brikken.
Anbefalt:
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: 4 trinn
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: Hei, jeg er Rithik. Vi kommer til å lage en Internett -kontrollert LED ved hjelp av telefonen din. Vi kommer til å bruke programvare som Arduino IDE og Blynk. Det er enkelt, og hvis du lyktes kan du kontrollere så mange elektroniske komponenter du vilTing We Need: Hardware:
Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn
Overvåke akselerasjon ved hjelp av Raspberry Pi og AIS328DQTR Bruke Python: Akselerasjon er begrenset, tror jeg i henhold til noen fysikklover.- Terry Riley En gepard bruker fantastisk akselerasjon og raske endringer i hastighet når jeg jager. Den raskeste skapningen i land en gang i blant bruker sitt høyeste tempo for å fange byttedyr. Den
Akselerasjonsmåling ved bruk av BMA250 og Arduino Nano: 4 trinn
Akselerasjonsmåling ved bruk av BMA250 og Arduino Nano: BMA250 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2C digitalt grensesnitt. Den måler den statiske
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: 4 trinn
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: I denne opplæringen til STM32 skal jeg fortelle deg hvordan du leser en GPIO-pin av STM32L100, så her skal jeg lage en ombord LED-glød av bare trykke på trykknappen
Akselerasjonsmåling ved bruk av BMA250 og Particle Photon: 4 trinn
Akselerasjonsmåling ved hjelp av BMA250 og Particle Photon: BMA250 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2C digitalt grensesnitt. Den måler den statiske