Tartalomjegyzék:
Videó: Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromotoros gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beágyazott funkciói segítségével, amelyek két megszakító csaphoz konfigurálhatók. A felhasználó által választható teljes skálák ± 2 g/± 4 g/± 8 g, felüláteresztő szűrőkkel, valamint valós időben elérhető nem szűrt adatokkal. Itt a bemutatója az Arduino nanóval.
1. lépés: Amire szüksége van..
1. Arduino Nano
2. MMA8452Q
3. I²C kábel
4. I²C pajzs az Arduino Nano számára
2. lépés: Csatlakozás:
Vegyünk egy I2C pajzsot az Arduino Nano számára, és óvatosan toljuk át a Nano csapjaira.
Ezután csatlakoztassa az I2C kábel egyik végét az MMA8452Q érzékelőhöz, a másik végét pedig az I2C árnyékoláshoz.
A csatlakozásokat a fenti kép mutatja.
3. lépés: Kód:
Az MMMA8452Q arduino kódja letölthető a github tárhelyünkről- DCUBE Store.
Itt a link.
Tartalmazzuk a Wire.h könyvtárat, hogy megkönnyítsük az érzékelő I2c kommunikációját az Arduino táblával.
Innen is másolhatja a kódot, ez a következőképpen van megadva:
// Szabad akaratú licenccel terjesztik.
// Bármilyen módon használhatja, haszonnal vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez.
// MMA8452Q
// Ez a kód az MMA8452Q_I2CS I2C Mini modullal való együttműködésre készült.
#befoglalni
// Az MMA8452Q I2C címe 0x1C (28)
#define Addr 0x1C
ü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);
// Vezérlőregiszter kiválasztása
Wire.write (0x2A);
// Készenléti mód
Wire.write (0x00);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Vezérlőregiszter kiválasztása
Wire.write (0x2A);
// Aktív mód
Wire.write (0x01);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr);
// Vezérlőregiszter kiválasztása
Wire.write (0x0E);
// A tartomány beállítása +/- 2g
Wire.write (0x00);
// Állítsa le az I2C átvitelt
Wire.endTransmission ();
késleltetés (300);
}
üres hurok ()
{
előjel nélküli int adatok [7];
// 7 bájt adat kérése
Wire.requestFrom (Addr, 7);
// 7 bájt adat olvasása
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
ha (Wire.available () == 7)
{
adatok [0] = Wire.read ();
adatok [1] = Wire.read ();
adatok [2] = Wire.read ();
adatok [3] = Wire.read ();
adatok [4] = Wire.read ();
adatok [5] = Wire.read ();
adatok [6] = Wire.read ();
}
// Az adatok konvertálása 12 bitesre
int xAccl = ((adatok [1] * 256) + adatok [2]) / 16;
ha (xAccl> 2047)
{
xAccl -= 4096;
}
int yAccl = ((adatok [3] * 256) + adatok [4]) / 16;
ha (yAccl> 2047)
{
yAccl -= 4096;
}
int zAccl = ((adatok [5] * 256) + adatok [6]) / 16;
ha (zAccl> 2047)
{
zAccl -= 4096;
}
// 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 Z-tengelyben:");
Soros.println (zAccl);
késleltetés (500);
}
4. lépés: Alkalmazások:
Az MMA8452Q számos alkalmazással rendelkezik, beleértve az E-Iránytű alkalmazásokat, a Statikus tájolás érzékelést, amely magában foglalja a portré/tájképet, a fel/le, a bal/jobb, a hátsó/elülső pozíció azonosítását, a notebookot, az e-olvasót, valamint a laptop bukdácsolás és szabadesés érzékelését, valós idejű orientáció észlelés, beleértve a virtuális valóságot és a játék 3D felhasználói pozíció visszajelzését, valós idejű tevékenységelemzés, mint például lépésszámláló lépésszámlálása, szabadon eséses érzékelés a HDD-hez, holt-számláló GPS-mentés és még sok más.
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
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
Arduino gyorsulásmérő oktatóanyag: Hajóhíd vezérlése szervomotorral: 5 lépés
Arduino gyorsulásmérő oktatóanyag: Hajóhíd vezérlése szervomotorral: A gyorsulásmérő érzékelők ma már a legtöbb okostelefonunkban megtalálhatók, hogy széles körű felhasználást és képességeket biztosítsanak számukra, amelyeket naponta használunk, anélkül, hogy tudnánk, hogy a felelős a gyorsulásmérőért. Az egyik ilyen képesség a vezérlő
3 tengelyes gyorsulásmérő, ADXL345 Raspberry Pi-vel Python használatával: 6 lépés
Három tengelyes gyorsulásmérő, ADXL345 Raspberry Pi-vel Python használatával: Gondoljon egy olyan eszközre, amely képes ellenőrizni azt a pontot, amelyen az Offroader megdől. Nem lenne kellemes abban az esetben, ha valaki kiigazodik, amikor felborul a lehetőség? Nyilvánvalóan igen. Igaz lenne
3 tengelyes gyorsulásmérő LIS2HH12 modul: 10 lépés (képekkel)
3 tengelyes gyorsulásmérő LIS2HH12 modul: Ez az Instructable kezdő szintnek tekinthető, némi tapasztalattal az arduino szoftverben és a forrasztásban. A LIS2HH12 modult a Tiny9 készítette. A Tiny9 egy új vállalat, amely szenzor modulok értékesítésével foglalkozik barkácsolók, cégek vagy feltalálók számára. Ott