#include <Stepper.h>
//bibliotecas
#include <MPU6050_tockn.h>
#include <Wire.h>
MPU6050 mpu6050(Wire);
float pos = 0;
int pasos;
mpu6050.getAccAngleX();
//Pasos por cada vuelta del motor
const int stepsPerRevolution = 200;
// Pines B-, B+, A+, A-
//Stepper myStepper(stepsPerRevolution, 2, 3, 4, 5);
Stepper myStepper(stepsPerRevolution, 2, 3, 4, 5);
void setup() {
mpu6050.begin();
// Velocidad 60 rpm:
myStepper.setSpeed(60);
mpu6050.calcGyroOffsets(true);
}
void loop() {
mpu6050.update();
if ((millis() - tm)>= 100) {
float error = mpu6050.getAccAngleX() - pos;
pasos = error * (stepsPerRevolution / 360);
Stepper.stop();
pos = pos+pasos (360 / stepsPerRevolution);
}
myStepper.step(stepsPerRevolution / 4); //90º
delay(1000);
myStepper.step(-stepsPerRevolution / 4); // 0º
delay(1000);
}