MMA7455L akcelerator

Moduł MMA7455jest akceleratorem – miernikiem przyspieszenia.

Materiały:

 

Schemat:

 

Płytka (zdjęcie):

MMA7455

Specyfikacja:

  • MMA7455
  • interfejs I2C
  • Power LED
  • Zasilanie: +3.3 V
  • wymiary PCB: 25x13x10 mm

Przykładowy kod (Arduino Uno):

#include <Wire.h>
#define ADDRESS 0x1D //Address for Accelerometer

//REGISTERS
#define MODE_CONTROL  0x16 //Mode control register
#define X_OUT      0x06 //8 bit register containing value for X
#define Y_OUT      0x07 //8 bit register containing value for Y
#define Z_OUT      0x08 //8 bit register containing value for Z
#define SETUP     0x05 //MESUREMENT MODE, 2g

//required setup function
void setup() {
    Wire.begin();
    Serial.begin(9600);
    I2C_Write(MODE_CONTROL, SETUP);
}

//required loop function
void loop() {
    Serial.print("X: ");
    Serial.print(I2C_Read(X_OUT));
    Serial.print("   Y: ");
    Serial.print(I2C_Read(Y_OUT));
    Serial.print("   Z: ");
    Serial.println(I2C_Read(Z_OUT));
    delay(100);
}

//function to write byte data into a register
void I2C_Write(byte REG, byte data) {
    Wire.beginTransmission(ADDRESS);   //device address 0x1D
    Wire.write(REG);                  //0x16
    Wire.write(data);                 //measurement mode,2g
    Wire.endTransmission();
}

//function to read byte data from a register
byte I2C_Read(byte REG){
    byte val = 0x00;
    Wire.beginTransmission(ADDRESS);
    Wire.write(REG);
    Wire.endTransmission();  
    Wire.requestFrom(ADDRESS, 1);
    if(Wire.available() > 0) {
     val = Wire.read();
    }
    Wire.endTransmission();
    return val;
}

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *