
Info
- Principiantes
- Edades: 11+
Temas STEAM
- Tecnología
- Ingeniería
- Matemáticas
Intersecciones
Utiliza los sensores de línea del Innobot, para detectar Intersecciones, sortearlas o cambiar de camino. Esta es la base para resolver el Reto Recolector de Botellas.
¿Qué es una intersección?
Una intersección se nos presenta en una pista cuando en una línea se encuentran dos o más caminos por seguir, en este caso es necesario utilizar condicionales para seguir la línea hacia el lado que pretendemos que vaya. Las intersecciones tienen una línea que no va a ningún lado y otra que es el camino a seguir, para continuar esta dirección nos tenemos que idear la forma de hacer girar el Innobot de tal manera que no pierda la referencia de la línea.
Programa Sortear Intersecciones
Condiciones Iniciales
- El robot está siguiendo la línea y llega a una intersección.
- Sensor Izquierdo en BLANCO y sensor Derecho en BLANCO
- La pista de competencia de éste reto es una línea Blanca sobre fondo Negro. Pista Reto Pygmalion
- Se debe calibrar cada sensor como se explica en el Tutorial 07 – Seguidor de Línea
Paso 1
Se partirá de un programa básico para seguir una línea BLANCA.
Paso 2
El robot llega a la intersección y debemos ir hacia ADELANTE durante un poco tiempo, para salir de la intersección, ya sea para girar a la izquierda, girar a la derecha o continuar en la misma línea. En este caso, adelantaremos 200 milisegundos.
Paso 3
Después de adelantar, tenemos tres opciones:
- Si no hacemos nada el robot podría seguir la línea hacia adelante nuevamente.
- Podríamos hacer girar el robot hacia la izquierda MIENTRAS el sensor IZQUIERDO esté en NEGRO.
- Podríamos hacer girar el robot hacia la derecha MIENTRAS el sensor DERECHO esté en NEGRO.
En este caso giraremos hacia la IZQUIERDA, durante 500 milisegundos.
Bloque Repetir Mientras (While)
Este bloque repetirá las instrucciones que se conecten dentro de el, MIENTRAS se cumpla un valor o condición.
Paso 4
Desde la categoría de Control / Lógica, traslada un bloque de Repetir Mientras, después del bloque de Esperar 500 milisegundos. Mientras el sensor J1 esté en NEGRO, el Innobot debe seguir girando hacia la IZQUIERDA o lo que es lo mismo, hasta que el sensor J1 llegue a BLANCO.
1. Sortear Intersecciones
Condiciones Iniciales
- El robot está siguiendo la línea y llega a una intersección.
- Sensor Izquierdo en BLANCO y sensor Derecho en BLANCO
- La pista de competencia de éste reto es una línea Blanca sobre fondo Negro. Pista Reto Pygmalion
- Se debe calibrar cada sensor como se explica en el Tutorial 07 – Seguidor de Línea
Paso 1
Se partirá de un programa básico para seguir una línea BLANCA.
void setup () { motorSpeed(M1,60); motorSpeed(M2,60); } void loop () { if (sensorRead(J3) <= 700 && sensorRead(J1) <= 700) { goForward(M1,M2); } else if (sensorRead(J3) <= 700 && sensorRead(J1) > 700) { turnRight(M2 , M1); } else if (sensorRead(J3) > 700 && sensorRead(J1) <= 700) { turnLeft(M2 , M1); } else { } }
Paso 2
El robot llega a la intersección y debemos ir hacia ADELANTE durante un poco tiempo, para salir de la intersección, ya sea para girar a la izquierda, girar a la derecha o continuar en la misma línea. En este caso, adelantaremos 200 milisegundos.
void setup () { motorSpeed(M1,60); motorSpeed(M2,60); } void loop () { if (sensorRead(J3) <= 700 && sensorRead(J1) <= 700) { goForward(M1,M2); } else if (sensorRead(J3) <= 700 && sensorRead(J1) > 700) { turnRight(M2 , M1); } else if (sensorRead(J3) > 700 && sensorRead(J1) <= 700) { turnLeft(M2 , M1); } else { goForward(M1,M2); delay(200); } }
Paso 3
Después de adelantar, tenemos tres opciones:
- Si no hacemos nada el robot podría seguir la línea hacia adelante nuevamente.
- Podríamos hacer girar el robot hacia la izquierda MIENTRAS el sensor IZQUIERDO esté en NEGRO.
- Podríamos hacer girar el robot hacia la derecha MIENTRAS el sensor DERECHO esté en NEGRO.
En este caso giraremos hacia la IZQUIERDA, durante 500 milisegundos.
void setup () { motorSpeed(M1,60); motorSpeed(M2,60); } void loop () { if (sensorRead(J3) <= 700 && sensorRead(J1) <= 700) { goForward(M1,M2); } else if (sensorRead(J3) <= 700 && sensorRead(J1) > 700) { turnRight(M2 , M1); } else if (sensorRead(J3) > 700 && sensorRead(J1) <= 700) { turnLeft(M2 , M1); } else { goForward(M1,M2); delay(200); turnLeft(M2 , M1); delay(500); } }
Función While (Mientras)
while (condition) { }
Esta función repetirá las instrucciones que estén dentro de ella, MIENTRAS se cumpla un valor o condición.
Paso 4
Mientras el sensor J1 esté en NEGRO, el Innobot debe seguir girando hacia la IZQUIERDA o lo que es lo mismo, hasta que el sensor J1 llegue a BLANCO.
void setup () { motorSpeed(M1,60); motorSpeed(M2,60); } void loop () { if (sensorRead(J3) <= 700 && sensorRead(J1) <= 700) { goForward(M1,M2); } else if (sensorRead(J3) <= 700 && sensorRead(J1) > 700) { turnRight(M2 , M1); } else if (sensorRead(J3) > 700 && sensorRead(J1) <= 700) { turnLeft(M2 , M1); } else { goForward(M1,M2); delay(200); turnLeft(M2 , M1); delay(500); while (sensorRead(J1) <= 700) { turnLeft(M2 , M1); } } }
- Innobot, Kits de robótica, Kits Educativos, Robótica, STEM Toys
Kit de Robótica Innobot + Baterías recargables + Bluetooth
Innobot, Kits de robótica, Kits Educativos, Robótica, STEM ToysKit de Robótica Innobot + Baterías recargables + Bluetooth
Kit de robótica educativo Innobot, contiene más de 350 piezas y se pueden realizar más de 5 funcionalidades con el mismo kit. Es un kit ideal para jóvenes mayores de 11 años y adultos, y permite desarrollar habilidades en educación STEM (Ciencia, Tecnología, Ingeniería y Matemáticas) a través de la programación, la electrónica y la mecánica.
SKU: PYG0001 - Innobot, Pistas de Competencia, Robótica
Pista Recolector de Objetos- Pygmalion
Esta pista permite desarrollar el Reto de Botellas, el cual fue diseñado para el Kit de Robótica Educativa Innobot, el reto se presenta como uno de los más competitivo en el evento Semana de la Robótica y la Innovación.
SKU: n/a