Tartalomjegyzék:
- 1. lépés: A BMG160 áttekintése:
- 2. lépés: Amire szüksége van..
- 3. lépés: Hardver csatlakoztatása:
- 4. lépés: 3 tengelyes giroszkóp mérési részecske kód:
- 5. lépés: Alkalmazások:
Videó: A BMG160 3 tengelyes giroszkópérzékelő illesztése részecskével: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A mai világban a fiatalok és a gyerekek több mint fele szereti a játékot, és mindazok, akik szeretik, és akiket lenyűgöznek a játék technikai aspektusai, tudják, hogy mennyire fontos a mozgásérzékelés ezen a területen. Mi is meglepődtünk ugyanazon dolgon, és csak azért, hogy a táblákra vigyük, úgy gondoltuk, hogy dolgozunk egy giroszkóp érzékelőn, amely képes bármilyen tárgy szögsebességét mérni. Tehát az érzékelő, amelyet a feladat megoldásához vettünk fel, a BMG160. A BMG160 egy 16 bites, digitális, háromtengelyes, giroszkóp érzékelő, amely három merőleges helyiségdimenzióban képes mérni a szögsebességet.
Ebben az oktatóanyagban a BMG160 részecske fotonnal való működését mutatjuk be.
A hardver, amire szüksége lesz erre a célra, a következő:
1. BMG160
2. Részecskés foton
3. I2C kábel
4. I2C pajzs részecske fotonhoz
1. lépés: A BMG160 áttekintése:
Először is szeretnénk megismerni Önt a BMG160 érzékelő modul alapvető jellemzőivel és a kommunikációs protokollal, amelyen működik.
A BMG160 alapvetően egy 16 bites, digitális, háromtengelyes, giroszkóp érzékelő, amely képes mérni a szögsebességet. Képes szögsebességek kiszámítására három merőleges helyiségméretben, az x-, y- és z-tengelyen, és biztosítja a megfelelő kimeneti jeleket. Kommunikálhat a málna pi táblával az I2C kommunikációs protokoll használatával. Ezt a modult úgy tervezték, hogy megfeleljen a fogyasztói alkalmazások és az ipari célok követelményeinek.
A kommunikációs protokoll, amelyen az érzékelő működik, I2C. Az I2C az integrált áramkört jelenti. Ez egy kommunikációs protokoll, amelyben a kommunikáció SDA (soros adat) és SCL (soros óra) vonalakon keresztül történik. Lehetővé teszi több eszköz egyidejű csatlakoztatását. Ez az egyik legegyszerűbb és leghatékonyabb kommunikációs protokoll.
2. lépés: Amire szüksége van..
A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:
1. BMG160
2. Foton részecske
3. I2C kábel
4. I2C pajzs részecske fotonhoz
3. lépés: Hardver csatlakoztatása:
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a részecske közötti 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 BMG160 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.
4. lépés: 3 tengelyes giroszkóp mérési részecske kód:
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
// A BMG160 I2C címe 0x68 (104)
#define Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
üres beállítás ()
{
// Változó beállítása
Particle.variable ("i2cdevice", "BMG160");
Particle.variable ("xGyro", xGyro);
Particle.variable ("yGyro", yGyro);
Particle.variable ("zGyro", zGyro);
// Inicializálja az I2C kommunikációt MASTER -ként
Wire.begin ();
// Inicializálja a soros kommunikációt
Sorozat.kezdet (9600);
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Válassza ki a tartományregisztert
Wire.write (0x0F);
// Teljes skála 2000 dps beállítása
Wire.write (0x80);
// Á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 = 200 Hz
Wire.write (0x04);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
késleltetés (300);
}
üres hurok ()
{
előjel nélküli int adatok [6];
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Adatregiszter kiválasztása
Wire.write (0x02);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// 6 bájt adat kérése
Wire.requestFrom (Addr, 6);
// 6 bájt adat olvasása
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro 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);
// Konvertálja az adatokat
xGyro = ((adatok [1] * 256) + adatok [0]);
ha (xGyro> 32767)
{
xGyro -= 65536;
}
yGyro = ((adatok [3] * 256) + adatok [2]);
ha (yGyro> 32767)
{
yGyro -= 65536;
}
zGyro = ((adatok [5] * 256) + adatok [4]);
ha (zGyro> 32767)
{
zGyro -= 65536;
}
// Adatok kimenete a műszerfalra
Particle.publish ("X-Axis of Rotation:", String (xGyro));
Particle.publish ("Y forgástengely:", String (yGyro));
Particle.publish ("Z-tengely forgás:", String (zGyro));
késleltetés (1000);
}
5. lépés: Alkalmazások:
A BMG160 számos alkalmazást kínál olyan eszközökön, mint a mobiltelefonok, az emberi gép interfész eszközei. Ezt az érzékelőmodult úgy tervezték, hogy megfeleljen a fogyasztói alkalmazások, például a képstabilizátor (DSC és kamera-telefon), a játék- és mutatóeszközök követelményeinek. A gesztusfelismerést igénylő rendszerekben és a beltéri navigációban használt rendszerekben is alkalmazzák.
Ajánlott:
Raspberry Pi - ADXL345 3 tengelyes gyorsulásmérő Python bemutató: 4 lépés
Raspberry Pi-ADXL345 3 tengelyes gyorsulásmérő Python oktatóanyag: 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, 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
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: 4 lépés
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
Raspberry Pi - ADXL345 3 tengelyes gyorsulásmérő Java oktatóanyag: 4 lépés
Raspberry Pi-ADXL345 3 tengelyes gyorsulásmérő Java oktatóanyag: 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
3 tengelyes BMG160 giroszkóp érzékelő illesztése Arduino Nano-val: 5 lépés
A háromtengelyes BMG160 giroszkópérzékelő illesztése az Arduino Nano-val: A mai világban a fiatalok és gyerekek több mint fele szereti a játékot, és mindazok, akik szeretik, szeretik a játék technikai vonatkozásai, tudják a mozgásérzékelés fontosságát ezen a területen. Mi is meglepődtünk ugyanezen a
A BMG160 háromtengelyes giroszkópérzékelő illesztése a Raspberry Pi-vel: 5 lépés
A BMG160 háromtengelyes giroszkópérzékelő illesztése a Raspberry Pi-vel: A mai világban a fiatalok és a gyerekek több mint fele szereti a játékot, és mindazok, akik szeretik, szeretik a játék technikai vonatkozásai, tudják a mozgásérzékelés fontosságát ezen a területen. Mi is meglepődtünk ugyanezen a