Sisukord:

Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 4 sammu
Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 4 sammu

Video: Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 4 sammu

Video: Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 4 sammu
Video: Электровелосипед MINAKO F10 ТЕСТ ДРАЙВ ОБЗОР электро фэтбайк minako f10 электробайк минако ф10 2021 2024, Juuli
Anonim
Image
Image

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 valitud täisskaala ± 100 g/± 200 g/± 400 g ja see on võimeline mõõtma kiirendusi väljundandmete kiirusega 0,5 Hz kuni 1 kHz. H3LIS331DL töötab garanteeritult temperatuurivahemikus -40 ° C kuni +85 ° C.

Selles õpetuses demonstreerime H3LIS331DL liidestumist osakeste footoniga.

Samm: vajalik riistvara:

Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara

Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:

1. H3LIS331DL

2. Osakeste footon

3. I2C kaabel

4. I2C kilp osakeste footonile

2. samm: riistvara ühendamine:

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja osakeste footoni 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:

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

Kiirenduse mõõtmise kood
Kiirenduse mõõtmise kood

Alustame nüüd osakeste koodiga.

Andurimoodulit koos arduinoga kasutades kaasame teeki application.h ja spark_wiring_i2c.h. Raamatukogu "application.h" ja spark_wiring_i2c.h sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja osakese vahel.

Kogu osakeste kood on kasutaja mugavuse huvides toodud allpool:

#kaasake

#kaasake

// H3LIS331DL I2C aadress on 0x18 (24)

#define Addr 0x18

int xAccl = 0, yAccl = 0, zAccl = 0;

tühine seadistus ()

{

// Määra muutuja

Particle.variable ("i2cdevice", "H3LIS331DL");

Particle.variable ("xAccl", xAccl);

Particle.variable ("yAccl", yAccl);

Particle.variable ("zAccl", zAccl);

// Initsialiseeri I2C side kui MASTER

Wire.begin ();

// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600

Seriaalne algus (9600);

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Valige juhtregister 1

Wire.write (0x20);

// Luba X, Y, Z telg, sisselülitusrežiim, andmete väljundkiirus 50 Hz

Wire.write (0x27);

// Peata I2C edastamine

Wire.endTransmission ();

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Valige juhtregister 4

Wire.write (0x23);

// Määra täisskaala, +/- 100 g, pidev värskendamine

Wire.write (0x00);

// Peata I2C edastamine

Wire.endTransmission ();

viivitus (300);

}

tühine tsükkel ()

{

allkirjastamata int andmed [6];

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

{

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Valige andmeregister

Wire.write ((40 + i));

// Peata I2C edastamine

Wire.endTransmission ();

// Taotle 1 baiti andmeid

Wire.requestFrom (Addr, 1);

// Lugege 6 baiti andmeid

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

kui (Wire.available () == 1)

{

andmed = Wire.read ();

}

viivitus (300);

}

// Teisendage andmed

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

kui (xAccl> 32767)

{

xAccl -= 65536;

}

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

kui (yAccl> 32767)

{

yAccl -= 65536;

}

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

kui (zAccl> 32767)

{

zAccl -= 65536;

}

// Andmete väljastamine armatuurlauale

Particle.publish ("Kiirendus X-teljel on:", String (xAccl));

Particle.publish ("Kiirendus Y-teljel on:", String (yAccl));

Particle.publish ("Kiirendus Z-teljel on:", String (zAccl));

viivitus (300);

}

Funktsioon Particle.variable () loob muutujad anduri väljundi salvestamiseks ja Particle.publish () kuvab väljundi saidi armatuurlaual.

Anduri väljund on näidatud ülaltoodud pildil.

4. samm: rakendused:

Rakendused
Rakendused

Kiirendusmõõturid nagu H3LIS331DL leiavad selle rakenduse enamasti mängudes ja kuvaprofiili vahetamisel. Seda andurimoodulit kasutatakse ka mobiilirakenduste täiustatud toitehaldussüsteemis. H3LIS331DL on kolmeteljeline digitaalne kiirendusandur, mis on ühendatud intelligentse kiibi liikumise käivitatud katkestuskontrolleriga.

Soovitan: