Curso de Arduino y Robótica para automatizar tus inventos
Aquí te presentamos un programa con el que puedes controlar dos motores usando la shell
DF Motor Drive.
Carga el programa en la placa Arduino y conecta los motores de un carrito robótico a los terminales de la shell.
Posteriormente, genera una biblioteca con estas funciones que te permita usarlas en cualquier otro programa.
int pinDireccionMotor1 = 7;
int pinDireccionMotor2 = 4;
int pinVelocidadMotor1 = 6;
int pinVelocidadMotor2 = 5;
void setup()
{
pinMode(pinDireccionMotor1, OUTPUT);
pinMode(pinDireccionMotor2, OUTPUT);
pinMode(pinVelocidadMotor1, OUTPUT);
pinMode(pinVelocidadMotor2, OUTPUT);
}
void avanzar(int velocidad)
{
digitalWrite(pinDireccionMotor1, HIGH);
digitalWrite(pinDireccionMotor2, HIGH);
analogWrite(pinVelocidadMotor1, velocidad);
analogWrite(pinVelocidadMotor2, velocidad);
delay(10);
}
void retroceder(int velocidad)
{
digitalWrite(pinDireccionMotor1, LOW);
digitalWrite(pinDireccionMotor2, LOW);
analogWrite(pinVelocidadMotor1, velocidad);
analogWrite(pinVelocidadMotor2, velocidad);
delay(10);
}
void girar_izq(int velocidad)
{
digitalWrite(pinDireccionMotor1, HIGH);
digitalWrite(pinDireccionMotor2, LOW);
analogWrite(pinVelocidadMotor1, velocidad);
analogWrite(pinVelocidadMotor2, velocidad);
delay(10);
}
void girar_dcha(int velocidad)
{
digitalWrite(pinDireccionMotor1, LOW);
digitalWrite(pinDireccionMotor2, HIGH);
analogWrite(pinVelocidadMotor1, velocidad);
analogWrite(pinVelocidadMotor2, velocidad);
delay(10);
}
void parar ()
{
digitalWrite(pinDireccionMotor1, HIGH);
digitalWrite(pinDireccionMotor2, HIGH);
analogWrite(pinVelocidadMotor1, 0);
analogWrite(pinVelocidadMotor2, 0);
delay(10);
}
void loop ()
{
avanzar(128);
delay(1000);
parar ();
delay(1000);
}
Copyright © 2015 - Todos los derechos reservados - Arduino Inventor
Plantilla : OS Templates