//aqui dejo mi sketch:
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"
///////////////////////////////////////
#define led3 11 //Define led3 como pin11
#define led4 10 //Define led4 como pin10
#define led5 9 //Define led5 como pin09
const int dirPin = 5;
const int stepPin = 4;
const int mpuAddress = 0x68;
MPU6050 mpu(mpuAddress);
int ax, ay, az;
int gx, gy, gz;
void setup()
{
pinMode(dirPin, OUTPUT);
pinMode(stepPin, OUTPUT);
pinMode(led3, OUTPUT); //Define pin 4 como salída
pinMode(led4, OUTPUT); //Define pin 5 como salída
pinMode(led5, OUTPUT); //Define pin 6 como salída
// Serial.begin(9600);
Serial.begin(115200);
Wire.begin();
mpu.initialize();
}
void loop()
{
mpu.getAcceleration(&ax, &ay, &az);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
float accel_ang_x = atan(ax / sqrt(pow(ay, 2) + pow(az, 2)))*(180.0 / 3.14);
if(accel_ang_x > 20){
if(accel_ang_x< 39){
// Serial.print(accel_ang_x);
// Serial.println(" mueve ariba");
digitalWrite(led3, HIGH); //añadido
digitalWrite(dirPin, HIGH);
digitalWrite(stepPin, HIGH);
delayMicroseconds(15);
digitalWrite(stepPin, LOW);
delayMicroseconds(15);
}
}
if(accel_ang_x> 39){
if(accel_ang_x< 43){
Serial.print(accel_ang_x);
digitalWrite(led4, HIGH); // añadido
Serial.println(" stop");
// delay(50);
}
}
if(accel_ang_x> 43){
if(accel_ang_x< 60){
// Serial.print(accel_ang_x);
// Serial.println(" mueve abajo");
digitalWrite(led5, HIGH); // añadido
digitalWrite(dirPin, LOW);
digitalWrite(stepPin, HIGH);
delayMicroseconds(15);
digitalWrite(stepPin, LOW);
delayMicroseconds(15);
}
}
}