Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: A gyorsulás mérésének kódja:
- 4. lépés: Alkalmazások:
Videó: A gyorsulás mérése ADXL345 és részecskefoton segítségével: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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 gravitáció statikus gyorsulását dőlésérzékelő alkalmazásokban, valamint a mozgásból vagy ütésből eredő dinamikus gyorsulást. Nagy felbontása (3,9 mg/LSB) lehetővé teszi az 1,0 ° alatti dőlésváltozások mérését.
Ebben az oktatóanyagban szemléltetjük az ADXL345 érzékelő modulnak a részecskefotonnal való összekapcsolását. A gyorsulási értékek leolvasásához részecskéket használtunk I2c adapterrel. Ez az I2C adapter megkönnyíti és megbízhatóbbá teszi a kapcsolatot az érzékelőmodullal.
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. ADXL345
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:
Az ADXL345 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ás mérésének kódja:
Kezdjük most a részecske kóddal.
Miközben az érzékelőmodult a részecskével együtt használjuk, az application.h és a spark_wiring_i2c.h könyvtárat 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
// Az ADXL345 I2C címe 0x53 (83)
#define Addr 0x53
int xAccl = 0, yAccl = 0, zAccl = 0;
üres beállítás ()
{
// Változó beállítása
Particle.variable ("i2cdevice", "ADXL345");
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);
// Válassza ki a sávszélesség -nyilvántartást
Wire.write (0x2C);
// Válassza ki a kimeneti adatsebességet = 100 Hz
Wire.write (0x0A);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki a teljesítményszabályozó regisztert
Wire.write (0x2D);
// Válassza ki az automatikus alvás letiltását
Wire.write (0x08);
// Az I2C átvitel leállítása
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki az adatformátum regisztert
Wire.write (0x31);
// Teljes felbontás kiválasztása, +/- 2g
Wire.write (0x08);
// Az I2C átvitel befejezése
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 ((50+i));
// Az I2C átvitel leállítása
Wire.endTransmission ();
// 1 bájt adat kérése az eszközről
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);
}
// Az adatok konvertálása 10 bitesre
int xAccl = ((([adatok] és 0x03) * 256) + adatok [0]);
ha (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((adatok [3] & 0x03) * 256) + adatok [2]);
ha (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((adatok [5] & 0x03) * 256) + adatok [4]);
ha (zAccl> 511)
{
zAccl -= 1024;
}
// 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));
}
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 ADXL345 egy kicsi, vékony, rendkívül alacsony teljesítményű, 3 tengelyes gyorsulásmérő, amely kézibeszélőkben, orvosi műszerekben stb. Használható. Alkalmazása magában foglalja a játék- és mutatóeszközöket, az ipari műszereket, a személyi navigációs eszközöket és a merevlemez-meghajtó (HDD) védelmét is.
Ajánlott:
Mágneses mező mérése HMC5883 és részecskefoton segítségével: 4 lépés
Mágneses mező mérése HMC5883 és részecskefoton segítségével: A HMC5883 egy digitális iránytű, amelyet alacsony mezőű mágneses érzékelésre terveztek. Ennek az eszköznek a mágneses mező széles tartománya +/- 8 Oe, és a kimeneti sebessége 160 Hz. A HMC5883 érzékelő magában foglalja az automatikus kivezető heveder meghajtókat, az eltolás törlését és egy
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
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
Hőmérséklet mérése ADT75 és részecskefoton segítségével: 4 lépés
Hőmérsékletmérés ADT75 és részecskefoton segítségével: Az ADT75 egy nagyon pontos, digitális hőmérséklet -érzékelő. Tartalmaz egy sávköz-hőmérséklet-érzékelőt és egy 12 bites analóg-digitális átalakítót a hőmérséklet figyelésére és digitalizálására. Rendkívül érzékeny érzékelője kellően hozzáértővé teszi számomra