Escolar Documentos
Profissional Documentos
Cultura Documentos
void setup()
{
//Configuramos los pines como salida
pinMode(MotorDer1, OUTPUT);
pinMode(MotorDer2, OUTPUT);
pinMode(MotorIzq1, OUTPUT);
pinMode(MotorIzq2, OUTPUT);
pinMode(PWM_Derecho, OUTPUT);
pinMode(PWM_Izquierdo, OUTPUT);
}
void derecha_antihorario_izquierda_horario(){
/*En esta fución la rueda derecha girará en sentido antihorario y la
izquierda en sentido horario.
En este caso, si las ruedas estuvieran en el chasis de un robot, el
robot retrocederia.*/
digitalWrite(MotorDer1,HIGH);
digitalWrite(MotorDer2,LOW);
digitalWrite(MotorIzq1,HIGH);
digitalWrite(MotorIzq2,LOW);
analogWrite(PWM_Derecho,200);//Velocidad motor derecho 200
analogWrite(PWM_Izquierdo,200);//Velocidad motor izquierdo 200
}
void derecha_horario_izquierda_antihorario(){
/*En esta fución la rueda derecha girará en sentido horario y la
izquierda en sentido antihorario.
En este caso, si las ruedas estuvieran en el chasis de un robot, el
robot avanzaría.*/
digitalWrite(MotorDer1,LOW);
digitalWrite(MotorDer2,HIGH);
digitalWrite(MotorIzq1,LOW);
digitalWrite(MotorIzq2,HIGH);
analogWrite(PWM_Derecho,200);//Velocidad motor derecho 200
analogWrite(PWM_Izquierdo,200);//Velocidad motor izquierdo 200
}
void giro_horario(){
/*En esta fución ambas ruedas girarán en sentido horario.
En este caso, si las ruedas estuvieran en el chasis de un robot, el
robot giraria a la derecha.*/
digitalWrite(MotorDer1,HIGH);
digitalWrite(MotorDer2,LOW);
digitalWrite(MotorIzq1,LOW);
digitalWrite(MotorIzq2,HIGH);
analogWrite(PWM_Derecho,200);//Velocidad motor derecho 200
analogWrite(PWM_Izquierdo,200);//Velocidad motor izquierdo 200
}
void giro_antihorario(){
/*En esta fución ambas ruedas girarán en sentido antihorario.
En este caso, si las ruedas estuvieran en el chasis de un robot, el
robot giraria a la izquierda.*/
digitalWrite(MotorDer1,LOW);
digitalWrite(MotorDer2,HIGH);
digitalWrite(MotorIzq1,HIGH);
digitalWrite(MotorIzq2,LOW);
analogWrite(PWM_Derecho,200);//Velocidad motor derecho 200
analogWrite(PWM_Izquierdo,200);//Velocidad motor izquierdo 200
}
void parar(){
/*Función para que las ruedas paren*/
digitalWrite(MotorDer1,LOW);
digitalWrite(MotorDer2,LOW);
digitalWrite(MotorIzq1,LOW);
digitalWrite(MotorIzq2,LOW);
analogWrite(PWM_Derecho,200);//Velocidad motor derecho 200
analogWrite(PWM_Izquierdo,200);//Velocidad motor izquierdo 200
}
void loop()
{
giro_horario();//Llamamos a la función giro_horario
delay(3000);//Durante 3 segundos ejecutamos esa función
giro_antihorario();//Llamamos a la función giro_antihorario
delay(3000);//Durante 3 segundos ejecutamos esa función
derecha_horario_izquierda_antihorario();//Llamamos a la función
derecha_horario_izquierda_antihorario
delay(3000);//Durante 3 segundos ejecutamos esa función
derecha_antihorario_izquierda_horario();//Llamamos a la función
derecha_antihorario_izquierda_horario
delay(3000);//Durante 3 segundos ejecutamos esa función
parar();//Llamamos a la función parar
delay(3000);//Durante 3 segundos ejecutamos esa función
}
DESCARGAR LIBRERÍA
void setup()
{ //En esta ocasión no necesitamos configurar pines ya que la librería
lo hace.
}
void loop()
{//Un motor gira en sentido horario y el otro antihorario
//Si estuvierán montados en un robot el robot avanzaria.
while(velocidad<254){
velocidad++;
control.Motor(velocidad,1);
delay (200);}
//Un motor gira en sentido horario y el otro antihorario
//Si estuvierán montados en un robot el robot retrocedería.
control.Motor(-180,1);
delay(3000);
//Los dos motores giran en sentido horario.
//Si estuvieran montados en un robot este giraria a la derecha.
control.Motor(200,100);
delay(3000);
//Los dos motores giran en sentido antihorario.
//Si estuvieran montados en un robot este giraria a la derecha.
control.Motor(200,-100);
delay(3000);
//Los motores se paran.
control.Motor(0,1);
delay(3000);
velocidad=150;//Reseteamos la velocidad
}