Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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:
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ä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:
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:
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.