Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: Arduino kód a gyorsulásméréshez:
- 4. lépés: Alkalmazások:
Videó: A gyorsulás mérése H3LIS331DL és Arduino Nano használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
A H3LIS331DL egy kis teljesítményű, nagy teljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL ± 100 g/± 200 g/± 400 g felhasználó által választható teljes skálával rendelkezik, és képes 0,5 Hz és 1 kHz kimeneti adatátviteli sebességű gyorsulások mérésére. A H3LIS331DL garantáltan -40 ° C és +85 ° C közötti kiterjesztett hőmérséklettartományban működik.
Ebben az oktatóanyagban bemutatjuk a H3LIS331DL és az Arduino Nano interfészét.
1. lépés: Szükséges hardver:
A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:
1. H3LIS331DL
2. Arduino Nano
3. I2C kábel
4. I2C pajzs az Arduino Nano számára
2. lépés: Hardver csatlakoztatása:
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és az arduino nano között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:
A H3LIS331DL az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.
A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus. Csak négy vezetékre van szüksége!
Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.
Ezeket az összefüggéseket a fenti képek mutatják be.
3. lépés: Arduino kód a gyorsulásméréshez:
Kezdjük most az arduino kóddal.
Miközben az érzékelő modult használja az arduino -val, a Wire.h könyvtárat is tartalmazza. A "Wire" könyvtár azokat a funkciókat tartalmazza, amelyek megkönnyítik az i2c kommunikációt az érzékelő és az arduino kártya között.
A teljes arduino kódot az alábbiakban adjuk meg a felhasználó kényelme érdekében:
#befoglalni
// H3LIS331DL I2C cím 0x18 (24)
#define Addr 0x18
üres beállítás ()
{
// Inicializálja az I2C kommunikációt MASTER -ként
Wire.begin ();
// Inicializálja a soros kommunikációt, állítsa be az átviteli sebességet = 9600
Sorozat.kezdet (9600);
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Vezérlőregiszter kiválasztása 1
Wire.write (0x20);
// Engedélyezze az X, Y, Z tengelyt, bekapcsolási módot, 50Hz adatkimeneti sebességet
Wire.write (0x27);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki a vezérlőregisztert 4
Wire.write (0x23);
// Teljes skála beállítása, +/- 100 g, folyamatos frissítés
Wire.write (0x00);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
késleltetés (300);
}
üres hurok ()
{
előjel nélküli int adatok [6];
for (int i = 0; i <6; i ++)
{
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Adatregiszter kiválasztása
Wire.write ((40+i));
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// 1 bájt adat kérése
Wire.requestFrom (Addr, 1);
// 6 bájt adat olvasása
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
ha (Wire.available () == 1)
{
adatok = Wire.read ();
}
}
késleltetés (300);
// Konvertálja az adatokat
int xAccl = ((adatok [1] * 256) + adatok [0]);
int yAccl = ((adatok [3] * 256) + adatok [2]);
int zAccl = ((adatok [5] * 256) + adatok [4]);
// Adatok kimenete soros monitorra
Serial.print ("Gyorsulás az X-tengelyben:");
Sorozat.println (xAccl);
Serial.print ("Gyorsulás az Y tengelyen:");
Soros.println (yAccl);
Serial.print ("Gyorsulás Z-tengelyben:");
Soros.println (zAccl);
késleltetés (300);
}
Mindössze annyit kell tennie, hogy elégeti a kódot arduino -ban, és ellenőrzi a leolvasott értékeket a soros porton. A kimenet a fenti képen látható.
4. lépés: Alkalmazások:
Az olyan gyorsulásmérők, mint a H3LIS331DL, leginkább a játékokban és a megjelenítési profilváltásban találhatók. Ez az érzékelő modul a mobil alkalmazások fejlett energiagazdálkodási rendszerében is használatos. A H3LIS331DL egy háromtengelyes digitális gyorsulásérzékelő, amely intelligens chipen belüli mozgás által kiváltott megszakításvezérlővel van felszerelve.
Ajánlott:
A gyorsulás mérése ADXL345 és részecskefoton segítségével: 4 lépés
A gyorsulás mérése ADXL345 és részecskefoton segítségével: Az ADXL345 egy kicsi, vékony, ultralow teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a
Gyorsulás mérése H3LIS331DL és részecskefoton használatával: 4 lépés
Gyorsulás mérése H3LIS331DL és részecskefoton segítségével: A H3LIS331DL egy kis teljesítményű, nagyteljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL felhasználó által választható teljes skála ± 100 g/± 200 g/± 400 g, és képes gyorsulások mérésére
A gyorsulás mérése ADXL345 és Raspberry Pi használatával: 4 lépés
A gyorsulás mérése az ADXL345 és a Raspberry Pi használatával: Az ADXL345 egy kicsi, vékony, rendkívül alacsony teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a
Gyorsulás mérése H3LIS331DL és Raspberry Pi használatával: 4 lépés
A gyorsulás mérése a H3LIS331DL és a Raspberry Pi használatával: A H3LIS331DL egy kis teljesítményű, nagy teljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL felhasználó által választható teljes skála ± 100 g/± 200 g/± 400 g, és képes gyorsulások mérésére
A gyorsulás mérése ADXL345 és Arduino Nano használatával: 4 lépés
Gyorsulás mérése ADXL345 és Arduino Nano használatával: Az ADXL345 egy kicsi, vékony, ultralow teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, akár ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a