Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Ang MMA8452Q ay isang matalino, mababang lakas, three-axis, capacitive, micromachined accelerometer na may 12 piraso ng resolusyon. Ang mga nababaluktot na pagpipilian na maaaring mai-program ng gumagamit ay ibinibigay sa tulong ng mga naka-embed na pag-andar sa accelerometer, mai-configure sa dalawang nakakagambala na mga pin. Mayroon itong mapipiling gumagamit na buong kaliskis na ± 2g / ± 4g / ± 8g na may high-pass filter na na-filter na data pati na rin ang hindi na-filter na data na magagamit na real-time. Narito ang pagpapakita nito kasama ang Arduino nano.
Hakbang 1: Ano ang Kailangan Mo.. !
1. Arduino Nano
2. MMA8452Q
3. I²C Cable
4. I²C Shield para sa Arduino Nano
Hakbang 2: Koneksyon:
Kumuha ng isang kalasag I2C para sa Arduino Nano at dahan-dahang itulak ito sa mga pin ng Nano.
Pagkatapos ikonekta ang isang dulo ng I2C cable sa MMA8452Q sensor at ang iba pang mga dulo sa I2C kalasag.
Ang mga koneksyon ay ipinapakita sa larawan sa itaas.
Hakbang 3: Code:
Ang arduino code para sa MMMA8452Q ay maaaring ma-download mula sa aming github repository- DCUBE Store.
Nandito ang link.
Isinasama namin ang library Wire.h upang mapabilis ang komunikasyon ng I2c ng sensor gamit ang Arduino board.
Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:
// Ipinamamahagi ng isang lisensyang malaya ang kalooban.
// Gumamit nito sa anumang paraan na nais mo, kumita o libre, naibigay na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.
// MMA8452Q
// Ang code na ito ay dinisenyo upang gumana sa MMA8452Q_I2CS I2C Mini Module.
# isama
// MMA8452Q I2C address ay 0x1C (28)
# tukuyin ang Addr 0x1C
walang bisa ang pag-setup ()
{
// Initialise I2C na komunikasyon bilang MASTER
Wire.begin ();
// Initialise Serial Communication, itakda ang baud rate = 9600
Serial.begin (9600);
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng kontrol
Wire.write (0x2A);
// StandBy mode
Wire.write (0x00);
// Stop I2C Transmission
Wire.endTransmission ();
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng kontrol
Wire.write (0x2A);
// Aktibong mode
Wire.write (0x01);
// Stop I2C Transmission
Wire.endTransmission ();
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng kontrol
Wire.write (0x0E);
// Itakda ang saklaw sa +/- 2g
Wire.write (0x00);
// Stop I2C Transmission
Wire.endTransmission ();
pagkaantala (300);
}
walang bisa loop ()
{
unsigned int data [7];
// Humiling ng 7 bytes ng data
Wire.requestFrom (Addr, 7);
// Basahin ang 7 bytes ng data
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
kung (Wire.available () == 7)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
data [6] = Wire.read ();
}
// I-convert ang data sa 12-bit
int xAccl = ((data [1] * 256) + data [2]) / 16;
kung (xAccl> 2047)
{
xAccl - = 4096;
}
int yAccl = ((data [3] * 256) + data [4]) / 16;
kung (yAccl> 2047)
{
yAccl - = 4096;
}
int zAccl = ((data [5] * 256) + data [6]) / 16;
kung (zAccl> 2047)
{
zAccl - = 4096;
}
// Output data sa serial monitor
Serial.print ("Pagpapabilis sa X-Axis:");
Serial.println (xAccl);
Serial.print ("Pagpapabilis sa Y-Axis:");
Serial.println (yAccl);
Serial.print ("Pagpapabilis sa Z-Axis:");
Serial.println (zAccl);
pagkaantala (500);
}
Hakbang 4: Mga Aplikasyon:
Ang MMA8452Q ay may iba't ibang mga application na may kasamang mga application ng E-Compass, detalyadong orientation na pagtuklas na nagsasama ng Portrait / Landscape, Pataas / Pababa, Kaliwa / Kanan, Pagkakakilala sa posisyon ng Back / Front, Notebook, e-reader, at Pagtuklas ng Laptop Tumble at Freefall, Real-time ang pagtuklas ng oryentasyon kabilang ang virtual reality at gaming feedback ng posisyon ng gumagamit ng 3D, pagtatasa ng aktibidad sa real-time tulad ng pagbibilang ng hakbang ng pedometer, pagtuklas ng freefall drop para sa HDD, patay-reckoning backup ng GPS at marami pa.