Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Kiihtyvyyden mittauskoodi:
- Vaihe 4: Sovellukset:
Video: Kiihtyvyyden mittaus BMA250: n ja hiukkasfotonin 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 hiukkasfotonia.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. BMA250
2. Hiukkasfotoni
3. I2C -kaapeli
4. I2C -suoja hiukkasfotonille
Vaihe 2: Laitteiston kytkentä:
Laitteiston kytkentäosio selittää periaatteessa anturin ja hiukkasfotonin 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: Kiihtyvyyden mittauskoodi:
Aloitetaan nyt hiukkaskoodista.
Kun käytät anturimoduulia arduinon kanssa, sisällytämme hakemistoon application.h ja spark_wiring_i2c.h. "application.h" ja spark_wiring_i2c.h -kirjasto sisältävät toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja hiukkasen välillä.
Koko hiukkaskoodi annetaan alla käyttäjän mukavuuden vuoksi:
#sisältää
#sisältää
// BMA250 I2C -osoite on 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
mitätön asennus ()
{
// Aseta muuttuja
Particle.variable ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Alusta I2C -tiedonsiirto MASTERiksi
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse alueen valintarekisteri
Wire.write (0x0F);
// Aseta alue +/- 2g
Wire.write (0x03);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse kaistanleveysrekisteri
Wire.write (0x10);
// Aseta kaistanleveys 7,81 Hz
Wire.write (0x08);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (300);}
tyhjä silmukka ()
{
allekirjoittamaton int -data [0];
// Käynnistä I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse tietorekisterit (0x02 - 0x07)
Wire.write (0x02);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 6 tavua
Wire.requestFrom (Addr, 6);
// Lue kuusi tavua
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
jos (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
viive (300);
// 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 kojelautaan
Particle.publish ("Kiihtyvyys X-akselissa:", Jono (xAccl));
viive (1000);
Particle.publish ("Kiihtyvyys Y-akselissa:", Jono (yAccl));
viive (1000);
Particle.publish ("Kiihtyvyys Z-akselissa:", Jono (zAccl));
viive (1000);
}
Particle.variable () -funktio luo muuttujat anturin lähdön tallentamiseksi ja Particle.publish () -toiminto näyttää tuotoksen sivuston kojelaudalla.
Anturilähtö näkyy yllä olevassa kuvassa.
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
Kosteuden mittaus HYT939: n ja hiukkasfotonin avulla: 4 vaihetta
Kosteuden mittaus HYT939: n ja hiukkasfotonin avulla: HYT939 on digitaalinen kosteusanturi, joka toimii I2C -tiedonsiirtoprotokollalla. Kosteus on keskeinen parametri lääketieteellisissä järjestelmissä ja laboratorioissa, joten näiden tavoitteiden saavuttamiseksi yritimme liittää HYT939: n vadelma pi: hen. Minä
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 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 Raspberry Pi: n avulla: 4 vaihetta
Kiihtyvyyden mittaus käyttämällä BMA250: tä ja Raspberry Pi: tä: 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