RotLine - Fase 5
Fase 5
En esta fase se presenta la plataforma final del robot, el algoritmo de su funcionamiento, el diagrama de flujo de su programación, el diagrama de bloques de sus conexiones, y las conclusiones de este proyecto.
Diagrama de bloques
A continuación, se presenta el diagrama de bloques, el cual muestra las conexiones entre los componentes del robot. En el robot no se implementaron nuevos elementos.
![]() |
Diagrama de bloques con las conexiones del robot Programación en Arduino |
Se presenta la programación final del robot.
//motor izquierdo
int mi1=5;
int mi2=6;
//motor derecho
int md1=8;
int md2=9;
//declaración de variables (sensores y botón)
int sen1=2; //sensor izquierdo
int sen2=3; //sensor medio
int sen3=4; //sensor derecho
//declaración de estados de sensores
int ActivarSen1 = HIGH;
int ActivarSen2 = HIGH;
int ActivarSen3 = HIGH;
int comienzo=0;
void setup() {
pinMode(mi1,OUTPUT); //motor izquierdo
pinMode(mi2,OUTPUT);
pinMode(md1,OUTPUT); //motor derecho
pinMode(md2,OUTPUT);
pinMode(sen1,INPUT); //sensor izquierdo
pinMode(sen2,INPUT); //sensor medio
pinMode(sen2,INPUT); //sensor derecho
}
void loop() {
//asociación de estados a los sensores
ActivarSen1 = digitalRead(sen1);
ActivarSen2 = digitalRead(sen2);
ActivarSen3 = digitalRead(sen3);
if ((comienzo == 0 ) && (ActivarSen1==LOW) && (ActivarSen2==LOW) && (ActivarSen3==LOW))//sensor derecho (funcionar el motor izquierdo, gira hacia la derecha)
{
for (comienzo=0;comienzo<2;)
{
comienzo++;
}
//activar el motor izquierdo
digitalWrite(mi1,HIGH);
digitalWrite(mi2,LOW);
//desactivar el motor derecho
digitalWrite(md1,LOW);
digitalWrite(md2,LOW);
}
if ((ActivarSen1==LOW) && (ActivarSen2==LOW) && (ActivarSen3==HIGH))//sensor derecho (funcionar el motor izquierdo, gira hacia la derecha)
{
//activar el motor izquierdo
digitalWrite(mi1,HIGH);
digitalWrite(mi2,LOW);
//desactivar el motor derecho
digitalWrite(md1,LOW);
digitalWrite(md2,LOW);
delay(50);
}
if ((ActivarSen1==HIGH) && (ActivarSen2==LOW) && (ActivarSen3==LOW)) //sensor izquierdo (funcione el motor derecho, gira hacia la izquierda)
{
//desactivar el motor izquierdo
digitalWrite(mi1,LOW);
digitalWrite(mi2,LOW);
//activar el motor derecho
digitalWrite(md1,HIGH);
digitalWrite(md2,LOW);
delay(50);
}
if ((ActivarSen1==LOW) && (ActivarSen2==HIGH) && (ActivarSen3==LOW))//sensor medio (funcionar los dos motores, hacia delante)
{
//activar el motor izquierdo
digitalWrite(mi1,HIGH);
digitalWrite(mi2,LOW);
//activar el motor derecho
digitalWrite(md1,HIGH);
digitalWrite(md2,LOW);
delay(50);
}
if((ActivarSen1==HIGH) && (ActivarSen2==HIGH) && (ActivarSen3==HIGH))//sensores al aire(no funcionar los motores)
{
//activar el motor izquierdo
digitalWrite(mi1,LOW);
digitalWrite(mi2,LOW);
//activar el motor derecho
digitalWrite(md1,LOW);
digitalWrite(md2,LOW);
}
}
Diagrama de flujo
Se presenta el diagrama de flujo, el cual muestra el funcionamiento de la programación implementada en el robot.
![]() |
Diagrama de flujo del algoritmo del robot |
Imágenes del montaje final del robot
Video del funcionamiento del robot
Se presenta al robot completando la trayectoria de la pista.
Video del funcionamiento del robot
Conclusiones
En la fase final se hizo cambios en la programación, no se agregaron elementos al montaje del robot y se implementa la pista para probar su funcionamiento.
El proyecto se realizó de manera organizada, iniciando con la definición de su estructura, la selección de los componentes electrónicos que contribuyen al funcionamiento del robot y las baterías que alimentan a estos elementos, finalizando con la programación de los sensores y del driver que controla a los motores, teniendo como resultado el algoritmo que rige el funcionamiento del robot. Así terminan las fases para la realización de este proyecto.
Integrantes
Danny Aviles Lúligo - 202127034
Nicol Vanessa Serna Gómez - 202125825
Comentarios
Publicar un comentario