hello
i have a code working for one mma8451 accelerometer (code attached below) i want to run the exact same code for another mma8451 accelerometer on the same arduino uno.
i seen people just define the accelerometers 1 and 2 and they get it to work.
any suggestions to get to this to work would be greatly appreciated.
#include <Wire.h>
#include <Adafruit_MMA8451.h>
#include <Adafruit_Sensor.h>
Adafruit_MMA8451 mma = Adafruit_MMA8451();
#include <EEPROM.h>
int addr = 0;
const int buttonPin = 2;
int buttonState = 0;
int measurementCount =1;
void setup(void) {
Serial.begin(9600);
pinMode(buttonPin, INPUT_PULLUP);
Serial.println("Adafruit MMA8451 test!");
if (! mma.begin()) {
Serial.println("Couldnt start");
while (1);
}
Serial.println("MMA8451 found!");
}
void loop() {
/* Get a new sensor event */
sensors_event_t event;
mma.getEvent(&event);
/* Display the results (acceleration is measured in m/s^2) */
Serial.print("X: \t"); Serial.print(event.acceleration.x); Serial.print("\t");
Serial.print("Y: \t"); Serial.print(event.acceleration.y); Serial.print("\t");
Serial.print("Z: \t"); Serial.print(event.acceleration.z); Serial.print("\t");
Serial.println("m/s^2 ");
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
if(buttonState == LOW){
float valx = event.acceleration.x;
// EEPROM.put(addr, valx);
Serial.print("valx ");
Serial.print(valx);
float valy = event.acceleration.y;
// EEPROM.put(addr, valy);
Serial.print(" valy ");
Serial.print(valy);
float valz = event.acceleration.z;
// EEPROM.put(addr, valz);
Serial.print(" valz ");
Serial.print(valz);
Serial.println();
for(measurementCount; measurementCount<100; measurementCount++) {
sensors_event_t event;
mma.getEvent(&event);
float NewX;
NewX = event.acceleration.x - valx;
Serial.print("Newx ");
Serial.print(NewX);
float NewY;
NewY = event.acceleration.y - valy;
Serial.print(" NewY ");
Serial.print(NewY);
float NewZ; //NEW Z
NewZ = event.acceleration.z - valz;
Serial.print(" NewZ ");
Serial.print(NewZ);
Serial.println();
Serial.print("measurementcout");
Serial.println(measurementCount);
}
}
delay(500);
}