Robolt fase 5



UNIVERSIDAD DEL VALLE

INTRODUCCIÓN A LA INGENIERÍA ELECTRÓNICA 

INGENIERÍA ELECTRÓNICA 

Septiembre 2021

Isaac Arias (2127306) / Zuly Valentina Rodríguez (2128691) / Anderson Cuaspud (2077336)

ROLBOLT FASE 5


En esta quinta fase del robot seguidor de línea 'Robolt', hablaremos sobre todos los cambios por los cuales ha pasado el robot, en cuanto a las partes que se pensaban implementar en primera instancia, cuales continuaron y lugares se decidieron cambiar, seguidamente se mostrara la plataforma final en la que se encontrará el robot para la ultima entrega, veremos el robot en funcionamiento en la pista que se solicitó con la línea negra.


Igualmente, dejaremos por aquí un enlace donde se podrá visitar la primera y segunda fase realizada de nuestro seguidor de línea. ROBOLT FASE 1, ROBOLT FASE 2ROBOLT FASE 3 y ROBOLT FASE 4.

Los principales cambios que sufrió el diseño inicial del robot seguidor de línea, es en cuanto a su estructura de conexión y el método para suministrarle energía a los componentes del robot.


En primera instancia planeábamos a utilizar una protoboard de tamaño estándar


imagen 1. Protoboard


Pero, debido al peso, ubicación en el robot y por recomendación del instructor, decidimos realizar un cambio para utilizar una protoboar más pequeña, para no sobrecargar al robot con tanto peso, y que de esta manera los motores no tuvieran que dar más de si. 
imagen 2. Protoboard mediana 


Un cambio más relevante que tuvimos fue el del sistema de alimentación del robot, ya que planeábamos utilizar 2 baterías de litio 18650 de 3.7 V para la suministrar la energía al modulo controlador de motores, y una batería de 9V convencional para el Arduino.

imagen 3. Batería 18650

Pero por diversos factores, decidimos utilizar 2 baterías de 9V para todo el sistema, una para cada función mencionada anteriormente. 

imagen 4. Pila 9V



Diagrama de bloques de los componentes de 'Robolt'

En el siguiente diagrama dará como evidencia la relación entre los componentes utilizados en la elaboración del robot seguidor de línea. 

imagen 5. Diagrama de bloques


Diagrama de flujo del funcionamiento de 'Robolt'

En el siguiente diagrama de flujo mostrará como funciona el programa implementado en el Arduino. 

imagen 6. Diagrama de flujo



Código y evidencias 

Finalmente, se verá del código junto con evidencias del funcionamiento del Arduino en su fase final. 

int MdireccionA = 3, velocidadA = 5;

int MdireccionB = 6, velocidadB = 9; // VELOCIDAD Y DIRECCION DE LOS MOTORES A Y B

int pinD = 7, sensorD;

int pinI = 8, sensorI; // PINS DE LOS SENSORES SEGUIDORES DE LÍNEA


void setup() {


  //CONFIGURACIÓN DE LOS PUERTOS DE LA PLACA BUILD&CODE 4IN1

 

 pinMode ( MdireccionA, OUTPUT);

  pinMode ( velocidadA, OUTPUT);

  pinMode ( MdireccionB, OUTPUT);

  pinMode ( velocidadB, OUTPUT);

  pinMode (pinD, INPUT);

  pinMode (pinI, INPUT);

}


  void loop() {


// LECTURA DE LOS SENSORES SEGUIDORES DE LÍNEA


sensorD= digitalRead (pinD);


sensorI = digitalRead (pinI);


if ((sensorD == 0)& (sensorI == 0)) //  AVANZAR HACIA DELANTE

{

    //MOTOR B

  analogWrite (velocidadB, 150);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MAXIMA VELOCIDAD)

  digitalWrite ( MdireccionB,LOW); // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)

   //MOTOR A

  analogWrite (velocidadA, 150);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MAXIMA VELOCIDAD)

  digitalWrite ( MdireccionA,HIGH); // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)


}


if ((sensorD == 1)& (sensorI == 1)) // ATRÁS

{

    //MOTOR B

  analogWrite (velocidadB, 150);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)

  digitalWrite ( MdireccionB,HIGH); // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)

     //MOTOR A

  analogWrite (velocidadA, 150);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)

  digitalWrite ( MdireccionA,LOW);  // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)

}


if ((sensorD == 0)& (sensorI == 1)) // DERECHA

{

    //MOTOR B

  analogWrite (velocidadB, 0);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)

  digitalWrite ( MdireccionB,LOW);  // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)

     //MOTOR A

  analogWrite (velocidadA, 150);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)

  digitalWrite ( MdireccionA,HIGH); // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)

}


if ((sensorD == 1)& (sensorI == 0)) // IZQUIERDA

{

    //MOTOR B

  analogWrite (velocidadB, 150);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)

  digitalWrite ( MdireccionB,LOW);  // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)

     //MOTOR A

  analogWrite (velocidadA, 0);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)

  digitalWrite ( MdireccionA,LOW); // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)

}

  }



imagen 7. Evidencias


imagen 8. Evidencias


imagen 9. Evidencias


imagen 10'. Evidencias







Video 1. Funcionamiento








Comentarios

Entradas populares de este blog

Robot laberinto Kastelean

Fase 4 Robot seguidor de linea

FASE 2 ROBOT SEGUIDOR DE LINEA