DC motor controlled by Gyro(MPU6050) using Arduino - Wired


Circuit Diagram:

Required Components:


Arduino uno/nano - 1 Nos
Battery - 1 Nos
DC Motor - 2 Nos
L293D Motor Driver - 1 Nos
Gyro (MPU6050) - 1 Nos


Program Code:

#include <Wire.h>
#include <MPU6050.h>
#define motor1_pin1 5
#define motor1_pin2 6
#define motor2_pin1 9
#define motor2_pin2 10

MPU6050 gy_521;
int16_t ax, ay, az;
int16_t gx, gy, gz;
int motor1_speed;
int motor2_speed;

void setup ( ){
Wire.begin( );
Serial.begin (9600);
Serial.println ("Initializing MPU and testing connections");
gy_521.initialize ( );
Serial.println(gy_521.testConnection( ) ? "Successfully Connected" : "Connection failed");
delay(1000);
Serial.println("Reading Values");
delay(1000);
}

void loop ( ){
gy_521.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
ax = map(ax, -17000, 17000, -125, 125);
motor1_speed = 125+ax;    //To move first motor
motor2_speed = 125-ax;    //To move second motor
Serial.print ("Motor1 Speed = ");
Serial.print (motor1_speed, DEC);
Serial.print (" && ");
Serial.print ("Motor2 Speed = ");
Serial.println (motor2_speed, DEC);
analogWrite (motor1_pin1, motor1_speed);
analogWrite (motor2_pin2, motor1_speed);
delay (200);

 }


Video:


Comments

Popular posts from this blog

Servomotor controlled by Gyro(MPU6050) using Arduino & Transceiver - Wir...

Servo motor controlled by Joystick using Arduino & Transceiver - Wireles...

DC motor controlled by Joystick using Arduino & L298N Motor driver - Wireless Connection