Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Python -koodi kiihtyvyyden mittaamiseen:
- Vaihe 4: Sovellukset:
Video: Kiihtyvyyden mittaus BMA250: n ja Raspberry Pi: n avulla: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
BMA250 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi ja se on saatavana digitaalisen I2C-liitännän kautta. Se mittaa staattisen painovoiman kiihtyvyyden kallistusanturisovelluksissa sekä liikkeen tai iskun aiheuttaman dynaamisen kiihtyvyyden. Sen suuri resoluutio (3,9 mg/LSB) mahdollistaa kaltevuuden muutosten mittaamisen alle 1,0 °.
Tässä opetusohjelmassa aiomme mitata kiihtyvyyden kaikilla kolmella kohtisuoralla akselilla käyttämällä BMA250: tä ja Raspberry Pi: tä. Anturi on ohjelmoitu python -kielellä.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. BMA250
2. Vadelma Pi
3. I2C -kaapeli
4. I2C Shield Raspberry Pi: lle
5. Ethernet -kaapeli
Vaihe 2: Laitteiston kytkentä:
Laitteiston liitäntäosa selittää periaatteessa anturin ja vadelmapi: n väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:
BMA250 toimii I2C: n yli. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.
Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko. Tarvitset vain neljä johtoa!
Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.
Nämä yhteydet on esitetty yllä olevissa kuvissa.
Vaihe 3: Python -koodi kiihtyvyyden mittaamiseen:
Raspberry pi: n käytön etuna on, että se tarjoaa joustavuuden ohjelmointikielelle, jolla haluat ohjelmoida levyn, jotta liitäntä anturiin sen kanssa. Hyödynnämme tämän levyn etua ja esittelemme sen ohjelmointia pythonissa. Python on yksi helpoimmista ohjelmointikielistä, jolla on helpoin syntaksi. BMA250: n python -koodin voi ladata GitHub -yhteisöltämme, joka on Dcube Store
Käyttäjien helpottamiseksi selitämme koodin myös täällä:
Koodauksen ensimmäisenä vaiheena sinun on ladattava SMBus -kirjasto python -tapauksessa, koska tämä kirjasto tukee koodissa käytettyjä toimintoja. Joten voit ladata kirjaston seuraavasta linkistä:
pypi.python.org/pypi/smbus-cffi/0.5.1
Voit myös kopioida toimivan koodin täältä:
tuoda smbus
tuonnin aika
# Hanki I2C -väylä = smbus. SMBus (1)
# BMA250 -osoite, 0x18 (24)
# Valitse alueen valintarekisteri, 0x0F (15)
# 0x03 (03) Aseta alue = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)
# BMA250 -osoite, 0x18 (24)# Valitse kaistanleveysrekisteri, 0x10 (16)
# 0x08 (08) Kaistanleveys = 7,81 Hz bus.write_byte_data (0x18, 0x10, 0x08)
aika. unta (0,5)
# BMA250 -osoite, 0x18 (24)
# Lue tiedot takaisin 0x02 (02), 6 tavua
# X-akseli LSB, X-akseli MSB, Y-akseli LSB, Y-akseli MSB, Z-akseli LSB, Z-akseli MSB
data = bus.read_i2c_block_data (0x18, 0x02, 6)
# Muunna tiedot 10 bittiin
xAccl = (data [1] * 256 + (data [0] & 0xC0)) / 64
jos xAccl> 511:
xAccl -= 1024
yAccl = (data [3] * 256 + (data [2] & 0xC0)) / 64
jos yAccl> 511:
yAccl -= 1024
zAccl = (data [5] * 256 + (data [4] & 0xC0)) / 64
jos zAccl> 511:
zAccl -= 1024
# Tulosta tiedot näytölle
tulosta "Kiihtyvyys X-akselilla: % d" % xAccl
tulosta "Kiihtyvyys Y-akselilla: % d" % yAccl
tulosta "Kiihtyvyys Z-akselilla: % d" % zAccl
Koodi suoritetaan käyttämällä seuraavaa komentoa:
$> python BMA250.py gt; python BMA250.py
Anturin lähtö näkyy yllä olevassa kuvassa käyttäjän viitteenä.
Vaihe 4: Sovellukset:
Kiihtyvyysmittarit, kuten BMA250, löytävät sovelluksensa enimmäkseen peleissä ja näyttöprofiilin vaihtamisessa. Tätä anturimoduulia käytetään myös kehittyneessä mobiilisovellusten virranhallintajärjestelmässä. BMA250 on kolmiaksiaalinen digitaalinen kiihtyvyysanturi, joka on varustettu älykkäällä sirun liikkeen laukaisemalla keskeytysohjaimella.
Suositeltava:
Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: 4 vaihetta
Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: H3LIS331DL on pienitehoinen ja suorituskykyinen 3-akselinen lineaarinen kiihtyvyysanturi, joka kuuluu nano-perheeseen, ja jossa on digitaalinen I²C-sarjaliitäntä. H3LIS331DL: ssä on käyttäjän valittavissa täydet asteikot ± 100 g/± 200 g/± 400 g, ja se pystyy mittaamaan kiihtyvyydet
Kiihtyvyyden mittaus H3LIS331DL: n ja hiukkasfotonin avulla: 4 vaihetta
Kiihtyvyyden mittaus H3LIS331DL: n ja hiukkasfotonin avulla: H3LIS331DL on pienitehoinen, korkean suorituskyvyn 3-akselinen lineaarinen kiihtyvyysanturi, joka kuuluu nano-perheeseen ja jossa on digitaalinen I²C-sarjaliitäntä. H3LIS331DL: ssä on käyttäjän valittavissa täydet asteikot ± 100 g/± 200 g/± 400 g, ja se pystyy mittaamaan kiihtyvyydet
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: 6 vaihetta
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: Kiihtyvyys on rajallinen, mielestäni joidenkin fysiikan lakien mukaan.- Terry Riley Gepardi käyttää hämmästyttävää kiihtyvyyttä ja nopeita nopeuden muutoksia jahtaessaan. Nopein olento rannalla silloin tällöin käyttää huipputahdiaan saaliin saamiseen
Kiihtyvyyden mittaus BMA250: n ja Arduino Nanon avulla: 4 vaihetta
Kiihtyvyyden mittaus BMA250: n ja Arduino Nanon avulla: BMA250 on pieni, ohut, erittäin matalatehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi ja se on saatavana digitaalisen I2C-liitännän kautta. Se mittaa staattisen
Kiihtyvyyden mittaus BMA250: n ja hiukkasfotonin avulla: 4 vaihetta
Kiihtyvyyden mittaus käyttämällä BMA250: tä ja hiukkasfotonia: BMA250 on pieni, ohut, erittäin pienitehoinen 3-akselinen kiihtyvyysmittari, jolla on suuri resoluutio (13-bittinen) mittaus jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi ja se on saatavana digitaalisen I2C-liitännän kautta. Se mittaa staattisen