// Accelerometer (Adafruit MPU650)
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
//Push button
#define BUTTON_PIN 4
byte lastButtonState = LOW;
byte accelerometer = LOW;
void setup() {
// Set up code, Run once:
Serial.begin(115200);
Serial.println("Starting up!");
// Accelerometer (Adafruit MPU650)
// Try to initialize!
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("");
delay(100);
// Push button
pinMode(BUTTON_PIN, INPUT);
}
//Push button
int lastState = HIGH;
void loop() {
// Code is run repeatedly in this loop:
// Accelerometer (Adafruit MPU650)
/* Get new sensor events with the readings */
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
/* Print out the values */
Serial.print(a.acceleration.x);
Serial.print(",");
Serial.print(a.acceleration.y);
Serial.print(",");
Serial.print(a.acceleration.z);
Serial.println("");
delay(10);
//Push button
int value = digitalRead((BUTTON_PIN));
if (millis()-lastTimeButtonStateChanged > debounceDuration){
byte buttonState = digitalread(BUTTON_PIN)
if (buttonState != lastButtonState) {
lastTimeButtonStateChanged = millis();
lastButtonState = buttonState;
if (buttonState == LOW) {
ledState = (ledState == HIGH) ? LOW: HIGH;
digitalWrite(LED_PIN, ledState);
}
}
}
if (value == HIGH) {
Serial.println(" button released");
}
if (value == LOW) {
Serial.println(" button pressed");
}
}