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ó: Gyorsulásmérés BMA250 é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
A BMA250 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 I2C 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 a BMA250 és az Arduino Nano segítségével megmérjük a gyorsulást mind a három merőleges tengelyen.
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. BMA250
2. Arduino Nano
3. I2C kábel
4. I2C pajzs 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 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 BMA250 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
// A BMA250 I2C címe 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);
// Válassza ki a tartományválasztó regisztert
Wire.write (0x0F);
// Tartomány beállítása +/- 2g
Wire.write (0x03);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki a sávszélesség -nyilvántartást
Wire.write (0x10);
// Sávszélesség beállítása 7,81 Hz
Wire.write (0x08);
// Állítsa le az I2C átvitelt
Wire.endTransmission (); késleltetés (300);}
üres hurok ()
{
előjel nélküli int adatok [0];
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Adatregiszterek kiválasztása (0x02 - 0x07)
Wire.write (0x02);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// 6 bájt kérése
Wire.requestFrom (Addr, 6);
// Olvassa el a hat bájtot
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
ha (Wire.available () == 6)
{
adatok [0] = Wire.read ();
adatok [1] = Wire.read ();
adatok [2] = Wire.read ();
adatok [3] = Wire.read ();
adatok [4] = Wire.read ();
adatok [5] = Wire.read ();
}
késleltetés (300);
// Az adatok konvertálása 10 bitre
float xAccl = ((adatok [1] * 256,0) + (adatok [0] és 0xC0)) / 64;
ha (xAccl> 511)
{
xAccl -= 1024;
}
float yAccl = ((adatok [3] * 256,0) + (adatok [2] és 0xC0)) / 64;
ha (yAccl> 511)
{
yAccl -= 1024;
}
float zAccl = ((adatok [5] * 256,0) + (adatok [4] és 0xC0)) / 64;
ha (zAccl> 511)
{
zAccl -= 1024;
}
// Adatok kimenete a 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);
}
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 olyan gyorsulásmérők, mint a BMA250, 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 BMA250 egy háromtengelyes digitális gyorsulásérzékelő, amely intelligens chipen belüli mozgásvezérelt megszakításvezérlővel van felszerelve.
Ajánlott:
A gyorsulás felügyelete a Raspberry Pi és az AIS328DQTR használatával Python használatával: 6 lépés
A gyorsulás nyomon követése a Raspberry Pi és az AIS328DQTR használatával Python használatával: A gyorsulás véges, azt hiszem, a fizika egyes törvényei szerint.- Terry Riley A gepárd elképesztő gyorsulást és gyors sebességváltozásokat használ üldözés közben. A leggyorsabb lény a parton időnként kihasználja csúcssebességét a zsákmány elkapására. Az
Neopixel Ws2812 Rainbow LED izzás M5stick-C - Szivárvány futtatása a Neopixel Ws2812 készüléken az M5stack M5stick C használatával Arduino IDE használatával: 5 lépés
Neopixel Ws2812 Rainbow LED izzás M5stick-C | Szivárvány futása a Neopixel Ws2812-en az M5stack M5stick C használatával Arduino IDE használatával: Sziasztok, srácok, ebben az oktatási útmutatóban megtanuljuk, hogyan kell használni a neopixel ws2812 LED-eket, vagy led szalagot vagy led mátrixot vagy led gyűrűt m5stack m5stick-C fejlesztőtáblával Arduino IDE-vel, és elkészítjük szivárványos mintát vele
Gyorsulásmérés BMA250 és Raspberry Pi használatával: 4 lépés
Gyorsulásmérés BMA250 és Raspberry Pi használatával: A BMA250 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 I2C digitális interfészen keresztül érhetők el. Méri a statikus
Gyorsulásmérés BMA250 és részecskefoton használatával: 4 lépés
Gyorsulásmérés BMA250 és részecskefoton segítségével: A BMA250 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 I2C digitális interfészen keresztül érhetők el. Méri a statikus
Vezeték nélküli távirányító 2,4 GHz -es NRF24L01 modul használatával Arduino - Nrf24l01 4 csatorna / 6 csatornás adó vevő négykópás - Rc Helikopter - Rc sík az Arduino használatával: 5 lépés (képekkel)
Vezeték nélküli távirányító 2,4 GHz -es NRF24L01 modul használatával Arduino | Nrf24l01 4 csatorna / 6 csatornás adó vevő négykópás | Rc Helikopter | Rc sík Arduino használatával: Rc autó működtetése | Quadcopter | Drone | RC sík | RC csónak, mindig szükségünk van vevőre és adóra, tegyük fel, hogy az RC QUADCOPTER esetében szükségünk van egy 6 csatornás adóra és vevőre, és az ilyen típusú TX és RX túl költséges, ezért készítünk egyet