MMA8452Q это 12-битный, энергоэффективный микро акселератор с богатыми возможностями. Два встроенных пина для прерываний, I2C интерфейс. Перейти к полному описанию
Артикул: 23871294
MMA8452Q это 12-битный, энергоэффективный микро акселератор с богатыми возможностями. Два встроенных пина для прерываний, I2C интерфейс.
Для подключения и работы с датчиком требуется подключить минимум 4 выхода.
VCC_IN датчика подключите к +5V
GND заземлите
SCL и SDA подключите к соответствующим выходам на Arduino плате.
Для работы с датчиком есть библиотека от SparkFun: SFE_MMA8452Q.zip
Скачайте и импортируйте библиотеку в Arduino IDE.
#include <Wire.h> // Must include Wire library for I2C #include <SFE_MMA8452Q.h> // Includes the SFE_MMA8452Q library MMA8452Q accel(0x1C); void setup() { Serial.begin(9600); Serial.println("MMA8452Q Test Code!"); accel.init(); } // The loop function will simply check for new data from the // accelerometer and print it out if it's available. void loop() { if (accel.available()) { accel.read(); printCalculatedAccels(); printOrientation(); Serial.println(); } } void printAccels() { Serial.print(accel.x, 3); Serial.print("\t"); Serial.print(accel.y, 3); Serial.print("\t"); Serial.print(accel.z, 3); Serial.print("\t"); } void printCalculatedAccels() { Serial.print(accel.cx, 3); Serial.print("\t"); Serial.print(accel.cy, 3); Serial.print("\t"); Serial.print(accel.cz, 3); Serial.print("\t"); } void printOrientation() { byte pl = accel.readPL(); switch (pl) { case PORTRAIT_U: Serial.print("Portrait Up"); break; case PORTRAIT_D: Serial.print("Portrait Down"); break; case LANDSCAPE_R: Serial.print("Landscape Right"); break; case LANDSCAPE_L: Serial.print("Landscape Left"); break; case LOCKOUT: Serial.print("Flat"); break; } }