Sisällysluettelo:

Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: 4 vaihetta
Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: 4 vaihetta

Video: Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: 4 vaihetta

Video: Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: 4 vaihetta
Video: Электровелосипед MINAKO F10 ТЕСТ ДРАЙВ ОБЗОР электро фэтбайк minako f10 электробайк минако ф10 2021 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 Arduino Nanon kanssa.

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. Arduino Nano

3. I2C -kaapeli

4. I2C -kilpi Arduino Nanolle

Vaihe 2: Laitteiston kytkentä:

Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä

Laitteiston kytkentäosio selittää periaatteessa anturin ja arduino nanon väliset tarvittavat johdot. 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: Arduino -koodi kiihtyvyyden mittaamiseen:

Arduino -kiihtyvyysmittauksen koodi
Arduino -kiihtyvyysmittauksen koodi
Arduino -kiihtyvyysmittauksen koodi
Arduino -kiihtyvyysmittauksen koodi

Aloitetaan nyt arduino -koodilla.

Kun käytät anturimoduulia arduinon kanssa, sisällytämme Wire.h -kirjaston. "Wire" -kirjasto sisältää toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja arduino -kortin välillä.

Koko arduino -koodi on annettu alla käyttäjän mukavuuden vuoksi:

#sisältää

// H3LIS331DL I2C -osoite on 0x18 (24)

#define Addr 0x18

mitätön asennus ()

{

// Alusta I2C -viestintä MASTERiksi

Wire.begin ();

// Alusta sarjaliikenne, aseta baudinopeus = 9600

Sarja.alku (9600);

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse ohjausrekisteri 1

Wire.write (0x20);

// Ota käyttöön X, Y, Z -akseli, käynnistystila, tiedonsiirtonopeus 50 Hz

Wire.write (0x27);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse ohjausrekisteri 4

Wire.write (0x23);

// Aseta koko asteikko, +/- 100 g, jatkuva päivitys

Wire.write (0x00);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

viive (300);

}

tyhjä silmukka ()

{

allekirjoittamattomat int -tiedot [6];

(int i = 0; i <6; i ++)

{

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse tietorekisteri

Wire.write ((40+i));

// Pysäytä I2C -lähetys

Wire.endTransmission ();

// Pyydä 1 tavu dataa

Wire.requestFrom (Addr, 1);

// Lue 6 tavua dataa

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

jos (Wire.available () == 1)

{

data = Wire.read ();

}

}

viive (300);

// Muunna tiedot

int xAccl = ((data [1] * 256) + data [0]);

int yAccl = ((data [3] * 256) + data [2]);

int zAccl = ((data [5] * 256) + data [4]);

// Tulostustiedot sarjamittarille

Serial.print ("Kiihtyvyys X-akselissa:");

Sarja.println (xAccl);

Serial.print ("Kiihtyvyys Y-akselilla:");

Sarja.println (yAccl);

Serial.print ("Kiihtyvyys Z-akselissa:");

Sarja.println (zAccl);

viive (300);

}

Sinun tarvitsee vain polttaa koodi arduino -ohjelmassa ja tarkistaa lukemat sarjaportista.

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: