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 Arduino Nano használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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 bemutattuk az ADXL345 érzékelő modul és az arduino nano interfészét. A gyorsulási értékek leolvasásához az arduino -t használtuk 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. 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:
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 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
// Az ADXL345 I2C címe 0x53 (83)
#define Addr 0x53
ü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);
// Válassza ki a sávszélesség -nyilvántartást
Wire.write (0x2C);
// Normál mód, kimeneti adatsebesség = 100 Hz
Wire.write (0x0A);
// Az I2C átvitel leállítása
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki a teljesítményszabályozó regisztert
Wire.write (0x2D);
// Automatikus alvás letiltása
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);
// Az önteszt letiltva, 4 vezetékes interfész, teljes felbontás, tartomány = +/- 2g
Wire.write (0x08);
// Az I2C átvitel leállítása
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
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 ();
}
}
// 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 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 a Z-tengelyben:");
Soros.println (zAccl);
késleltetés (300);
}
A vezetékes könyvtárban a Wire.write () és a Wire.read () parancsokat írják és olvassák le az érzékelő kimenetét.
A Serial.print () és a Serial.println () az érzékelő kimenetének megjelenítésére szolgál az Arduino IDE soros monitorá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:
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
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