Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: A gyorsulásmérés kódja:
- 4. lépés: Alkalmazások:
Videó: Gyorsulás mérése H3LIS331DL és részecskefoton 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 a részecskék fotonjának összekapcsolásá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. Foton részecske
3. I2C kábel
4. I2C pajzs részecske fotonhoz
2. lépés: Hardver csatlakoztatása:
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a részecskefoton 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: A gyorsulásmérés kódja:
Kezdjük most a részecske kóddal.
Miközben az érzékelő modult használja az arduino -val, az application.h és a spark_wiring_i2c.h könyvtárat is tartalmazza. Az "application.h" és a spark_wiring_i2c.h könyvtár azokat a funkciókat tartalmazza, amelyek megkönnyítik az i2c kommunikációt az érzékelő és a részecske között.
A teljes szemcsekódot az alábbiakban adjuk meg a felhasználó kényelme érdekében:
#befoglalni
#befoglalni
// H3LIS331DL I2C cím 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
üres beállítás ()
{
// Változó beállítása
Particle.variable ("i2cdevice", "H3LIS331DL");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// 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]);
ha (xAccl> 32767)
{
xAccl -= 65536;
}
int yAccl = ((adatok [3] * 256) + adatok [2]);
ha (yAccl> 32767)
{
yAccl -= 65536;
}
int zAccl = ((adatok [5] * 256) + adatok [4]);
ha (zAccl> 32767)
{
zAccl -= 65536;
}
// Adatok kimenete a műszerfalra
Particle.publish ("Az X-tengely gyorsulása:", String (xAccl));
Particle.publish ("Az Y tengely gyorsulása:", String (yAccl));
Particle.publish ("A Z-tengely gyorsulása:", String (zAccl));
késleltetés (300);
}
A Particle.variable () függvény létrehozza a változókat az érzékelő kimenetének tárolására, a Particle.publish () függvény pedig megjeleníti a kimenetet a webhely műszerfalán.
Az érzékelő kimenete 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
A gyorsulás mérése H3LIS331DL és Arduino Nano használatával: 4 lépés
A gyorsulás mérése a H3LIS331DL és az Arduino Nano használatával: 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