Sisällysluettelo:

Kiihtyvyyden mittaus käyttäen H3LIS331DL ja Raspberry Pi: 4 vaihetta
Kiihtyvyyden mittaus käyttäen H3LIS331DL ja Raspberry Pi: 4 vaihetta

Video: Kiihtyvyyden mittaus käyttäen H3LIS331DL ja Raspberry Pi: 4 vaihetta

Video: Kiihtyvyyden mittaus käyttäen H3LIS331DL ja Raspberry Pi: 4 vaihetta
Video: Измерение ускорения свободного падения. 2024, Joulukuu
Anonim
Image
Image

H3LIS331DL on pienitehoinen, 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 olevat täydet asteikot ± 100 g/± 200 g/± 400 g, ja se pystyy mittaamaan kiihtyvyydet lähtötiedonsiirtonopeuksilla 0,5 Hz - 1 kHz. H3LIS331DL: n taataan toimivan laajemmalla lämpötila -alueella -40 ° C -+85 ° C.

Tässä opetusohjelmassa aiomme osoittaa H3LIS331DL: n rajapinnan Raspberry Pi: n kanssa käyttämällä python -ohjelmointikieltä.

Vaihe 1: Tarvittava laitteisto:

Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto

Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:

1. H3LIS331DL

2. Vadelma Pi

3. I2C -kaapeli

4. I2C Shield vadelmalle pi

5. Ethernet -kaapeli

Vaihe 2: Laitteiston kytkentä:

Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
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:

H3LIS331DL 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:

Kiihtyvyysmittauksen Python -koodi
Kiihtyvyysmittauksen Python -koodi

Raspberry pi: n käytön etu on se, 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. H3LIS331DL: 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)

# H3LIS331DL -osoite, 0x18 (24)

# Valitse ohjausrekisteri 1, 0x20 (32)

# 0x27 (39) Käynnistystila, tiedonsiirtonopeus = 50 Hz# X, Y, Z-akseli käytössä

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

# H3LIS331DL -osoite, 0x18 (24)# Valitse ohjausrekisteri 4, 0x23 (35)

# 0x00 (00) Jatkuva päivitys, koko asteikon valinta = +/- 100 g

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

aika. unta (0,5)

# H3LIS331DL -osoite, 0x18 (24)

# Lue tiedot takaisin 0x28 (40), 2 tavua

# X-akseli LSB, X-akseli MSB

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

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

# Muunna dataxAccl = data1 * 256 + data0

jos xAccl> 32767:

xAccl -= 65536

# H3LIS331DL -osoite, 0x18 (24)

# Lue tiedot takaisin 0x2A (42), 2 tavua

# Y-akseli LSB, Y-akseli MSB

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

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

# Muunna tiedot

yAccl = data1 * 256 + data0

jos yAccl> 32767:

yAccl -= 65536

# H3LIS331DL -osoite, 0x18 (24)

# Lue tiedot takaisin 0x2C (44), 2 tavua

# Z-akseli LSB, Z-akseli MSB

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

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

# Muunna tiedot

zAccl = data1 * 256 + data0

jos zAccl> 32767:

zAccl -= 65536

# 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 H3LIS331DL.py gt; python H3LIS331DL.py

Anturin lähtö näkyy yllä olevassa kuvassa käyttäjän viitteenä.

Vaihe 4: Sovellukset:

Sovellukset
Sovellukset

Kiihtyvyysmittarit, kuten H3LIS331DL, 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ä. H3LIS331DL on kolmiaksiaalinen digitaalinen kiihtyvyysanturi, joka on varustettu älykkäällä sirulla tapahtuvalla liikkeen laukaisemalla keskeytysohjaimella.

Suositeltava: