// MPU6050 example
// https://wokwi.com/arduino/projects/305937248748044864
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
const int ledPin = 11;
bool aktiv = false;
unsigned long sistAktiv = 0;
const int terskel = 5000;
void setup(void) {
Serial.begin(115200);
while (!mpu.begin()) {
Serial.println("MPU6050 not connected!");
delay(1000);
}
Serial.println("MPU6050 ready!");
pinMode(ledPin, OUTPUT);
}
sensors_event_t event;
void loop() {
mpu.getAccelerometerSensor()->getEvent(&event);
unsigned long timer = millis();
float ax = event.acceleration.x;
float ay = event.acceleration.y;
if ((abs(ax) > 8.0) || (abs(ay) > 8.0)) {
aktiv = true;
} else {
aktiv = false;
}
if (aktiv) {
digitalWrite(ledPin, HIGH);
delay(250);
digitalWrite(ledPin, LOW);
delay(250);
sistAktiv = timer;
}
if (!aktiv && (timer-sistAktiv < terskel) && (sistAktiv != 0)) {
digitalWrite(ledPin, HIGH);
delay(250);
digitalWrite(ledPin, LOW);
delay(250);
}
if (timer-sistAktiv > terskel) {
digitalWrite(ledPin, LOW);
Serial.println("Sykkel er parkert");
}
Serial.print("[");
Serial.print(millis());
Serial.print("] X: ");
Serial.print(event.acceleration.x);
Serial.print(", Y: ");
Serial.print(event.acceleration.y);
Serial.print(", Z: ");
Serial.print(event.acceleration.z);
Serial.println(" m/s^2");
delay(10);
}