Sisukord:
- Samm: vajalik riistvara:
- 2. samm: riistvara ühendamine:
- 3. samm: kiirenduse mõõtmise kood:
- 4. samm: rakendused:
Video: Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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:
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 ü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:
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:
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:
Kiirenduse mõõtmine ADXL345 ja osakeste footoni abil: 4 sammu
Kiirenduse mõõtmine ADXL345 ja osakeste footonite abil: ADXL345 on väike, õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs digitaalse liidese I2 C kaudu. See mõõdab
Magnetvälja mõõtmine HMC5883 ja osakeste footoni abil: 4 sammu
Magnetvälja mõõtmine, kasutades HMC5883 ja osakeste fotone: HMC5883 on digitaalne kompass, mis on loodud madala välja magnetvälja tuvastamiseks. Sellel seadmel on lai magnetvälja vahemik +/- 8 Oe ja väljundkiirus 160 Hz. HMC5883 andur sisaldab automaatseid degaussing rihma draivereid, nihke tühistamist ja
Temperatuuri mõõtmine MCP9803 ja osakeste footoni abil: 4 sammu
Temperatuuri mõõtmine, kasutades MCP9803 ja osakeste fotone: MCP9803 on 2-juhtmeline suure täpsusega temperatuuriandur. Need on varustatud kasutaja poolt programmeeritavate registritega, mis hõlbustavad temperatuuri andmise rakendusi. See andur sobib väga keeruka mitme tsooni temperatuuri jälgimissüsteemi jaoks
Kiirenduse mõõtmine BMA250 ja osakeste footoni abil: 4 sammu
Kiirenduse mõõtmine BMA250 ja osakeste footonite abil: BMA250 on väike, õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs I2C digitaalse liidese kaudu. See mõõdab staatilist
Rõhu mõõtmine CPS120 ja osakeste footoni abil: 4 sammu
Rõhu mõõtmine CPS120 ja osakeste fotonite abil: CPS120 on kõrge kvaliteediga ja odava hinnaga mahtuvuslik absoluutrõhu andur, millel on täielikult kompenseeritud väljund. See tarbib väga vähem energiat ja sisaldab üliväikest mikroelektromehaanilist andurit (MEMS) rõhu mõõtmiseks. Sigma-delta baasil