
Info
- Principiantes
- Edades: 11+
Temas STEAM
- Tecnología
- Ingeniería
- Matemáticas
Trazados
Un trazado, es una ruta o camino predeterminado que realiza el robot en la pista de competencia. Es parte fundamental en la estrategia de cada participante, para llevar a cabo el Reto Recolector de Botellas.
1. Realizar Trazados
Trazado 1 – Adelantar
- El robot está siguiendo la línea y debe pasar por cada uno de los puntos marcados en azul. Es decir, que debe ADELANTAR cada una de las intersecciones que se encuentra en el camino
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 y continuar en la misma línea. En este caso, adelantaremos 200 milisegundos. Esta condición se cumplirá cada que aparezca una intersección y por lo tanto, el robot realizará el trazado deseado.
Trazado 2 – Giro a la Izquierda & Adelantar
El trazado a realizar es el siguiente:
En este caso el robot debe pasar por los puntos en azul, el camino más corto para el Innobot es GIRAR a la IZQUIERDA y luego ADELANTAR las intersecciones.
¿Qué es una Variable?
En programación, una variable está formada por un espacio en el sistema de almacenaje y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o desconocida, es decir un valor, este valor puede ser un número (entero o flotante) , una letra, una cadena de caracteres, entre otros.
Las variables pueden cambiar su valor durante el programa o pueden tener un valor fijo, todo depende de lo que el programador necesite.
Bloque Contador
Este bloque permite crear una variable que aumenta o decrementa su valor cada que lo necesitemos. Por defecto, el valor del contador empieza en 0. Es posible nombrarlo como se quiera, teniendo en cuenta que no se pueden usar caracteres especiales. Lo puedes encontrar en la categoría de Variables.
Bloques Incrementar / Decrementar
Estos bloques, sirven para incrementar o decrementar por un valor determinado un contador cada que sea necesario. Lo puedes encontrar en la categoría de Variables.
Bloque de la Variable Contador
Cuando se crea un contador, aparece un bloque en la categoría de Variables, que sirve para referirse a el cada que sea necesario. Por ejemplo, si se necesita comparar el valor que tiene el contador en un momento determinado con valor específico, se debe usar este bloque.
Paso 3
Se partirá del programa básico para seguir la línea, y se creará un CONTADOR de intersecciones, de esta forma, se podrá decidir que hacer en cuando el Innobot llegue a cada una de ellas.
Traslada un bloque de CONTADOR la categoría de Variables, hasta la sección de Declaraciones. En este caso se nombró al contador como miContador.
Paso 4
Como miContador, es una variable que empieza en 0, entonces compararemos su valor cuando se encuentre la primera intersección con dicho valor. Para ello, traslada un bloque de SI – SINO desde la categoría de Control / Lógica, y conecta a el, un bloque de Igual a para comparar.
Paso 5
Traslada un bloque de la Variable miContador y uno de Numero, hasta el bloque Igual a.
Paso 6
Cuando el Innobot encuentre una intersección Y el valor de miContador sea 0, entonces el robot debe Girar a la IZQUIERDA.
Paso 7
Cuando el Innobot cambie en la intersección al camino de la IZQUIERDA, entonces debemos INCREMENTAR miContador en 1, estos e debe a que el robot ya ha pasado por la primera intersección y va hacia la segunda.
Traslada un bloque de INCREMENTAR después del bloque REPETIR MIENTRAS.
Paso 8
Finalmente, cuando el Innobot vaya a pasar por las otras intersecciones lo único que debe hacer para completar el recorrido es ADELANTAR, puesto que no debe cambiar su trayectoria de nuevo. En este punto no importa el valor que tome miContador, solo debe ser diferente de 0.
Trazado 3 – Girar a la Izquierda, Adelantar y Girar a la Derecha
- El robot está siguiendo la línea y debe pasar por cada uno de los puntos marcados en azul. Es decir, que debe Girar a la IZQUIERDA – ADELANTAR tres veces – Girar a la DERECHA.
Paso 9
Partiremos del programa anterior, agregando una opción SINO SI:
Paso 9
Ahora compararemos miContador, con la quinta intersección que se encuentra el robot, es decir, cuando el valor de miContador es 4. Cuando se cumpla esta condición el Innobot debe Girar a la DERECHA, y cambiar de línea. Además, el contador debe seguir aumentando.
Paso 10
Finalmente, en cualquier otro valor de miContador, el Innobot debe ADELANTAR la intersección y aumentar su valor.
1. Realizar Trazados
Trazado 1 – Adelantar
- El robot está siguiendo la línea y debe pasar por cada uno de los puntos marcados en azul. Es decir, que debe ADELANTAR cada una de las intersecciones que se encuentra en el camino
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 y continuar en la misma línea. En este caso, adelantaremos 200 milisegundos. Esta condición se cumplirá cada que aparezca una intersección y por lo tanto, el robot realizará el trazado deseado.
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); } }
Trazado 2 – Giro a la Izquierda & Adelantar
El trazado a realizar es el siguiente:
En este caso el robot debe pasar por los puntos en azul, el camino más corto para el Innobot es GIRAR a la IZQUIERDA y luego ADELANTAR las intersecciones.
¿Qué es una Variable?
En programación, una variable está formada por un espacio en el sistema de almacenaje y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o desconocida, es decir un valor, este valor puede ser un número (entero o flotante) , una letra, una cadena de caracteres, entre otros.
Las variables pueden cambiar su valor durante el programa o pueden tener un valor fijo, todo depende de lo que el programador necesite.
Contador
int miContador = 0;
Es una variable que aumenta o decrementa su valor cada que lo necesitemos. Es posible nombrarlo como se quiera, teniendo en cuenta que no se pueden usar caracteres especiales. Se suele declarar antes de SETUP, le puedes asignar cualquier valor entero que quieras, pero debes tener en cuenta este valor para realizar las comparaciones lógicas necesarias.
Incrementar / Decrementar un contador
miContador += 1; miContador -= 1;
Estos dos códigos sirven para Incrementar o Decrementar respectivamente en un valor determinado (en el ejemplo se incrementa y decrementa en 1) un contador cada que sea necesario. También puedes utilizar las siguientes variaciones de código para Incrementar en 1 o Decrementar en 1.
miContador++; //Solo incrementa en 1 miContador--; //Solo decrementa en 1
Paso 3
Se partirá del programa básico para seguir la línea, y se creará un CONTADOR de intersecciones, de esta forma, se podrá decidir que hacer en cuando el Innobot llegue a cada una de ellas.
Declara un CONTADOR, en la sección de Declaraciones. En este caso se nombró al contador como miContador.
int miContador = 0; 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 4
Como miContador, es una variable que empieza en 0, entonces compararemos su valor cuando se encuentre la primera intersección con dicho valor. Para ello, escribiremos dentro del último ELSE un IF – ELSE adicional. En el IF compararemos si miContador es IGUAL a 0 entonces.
int miContador = 0; 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 { if(miContador == 0){ }else{ } } }
Paso 5
Cuando se cumpla la condición de miContador == 0, quiere decir que el Innobot debe girar a la IZQUIERDA, cambiar de línea e INCREMENTAR el contador, SINO se cumple, entonces debe ADELANTAR.
int miContador = 0; 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 { if(miContador == 0){ turnLeft(M2 , M1); delay(500); while (sensorRead(J1) <= 700) { turnLeft(M2 , M1); } miContador += 1; //Despues de pasar por la intersección se debe incrementar en 1 }else{ goForward(M1,M2); delay(200); } } }
Trazado 3 – Girar a la Izquierda, Adelantar y Girar a la Derecha
- El robot está siguiendo la línea y debe pasar por cada uno de los puntos marcados en azul. Es decir, que debe Girar a la IZQUIERDA – ADELANTAR tres veces – Girar a la DERECHA.
Paso 6
Partiremos del programa anterior, agregando una opción ELSE IF:
int miContador = 0; 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 { if(miContador == 0){ turnLeft(M2 , M1); delay(500); while (sensorRead(J1) <= 700) { turnLeft(M2 , M1); } miContador += 1; //Despues de pasar por la intersección se debe incrementar en 1 }else if(miContador == 4){ } miContador += 1; //Despues de pasar por la intersección se debe incrementar en 1 }else{ goForward(M1,M2); delay(200); } } }
Paso 7
Ahora compararemos miContador, con la quinta intersección que se encuentra el Innobot, es decir, cuando el valor de miContador es 4. Cuando se cumpla esta condición el Innobot debe Girar a la DERECHA, y cambiar de línea. Además, el contador debe seguir aumentando. Finalmente, en cualquier otro valor de miContador, el Innobot debe ADELANTAR la intersección y aumentar su valor.
int miContador = 0; 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 { if(miContador == 0){ turnLeft(M2 , M1); delay(500); while (sensorRead(J1) <= 700) { turnLeft(M2 , M1); } miContador += 1; //Despues de pasar por la intersección se debe incrementar en 1 }else if(miContador == 4){ turnRight(M2 , M1); delay(500); while (sensorRead(J2) <= 700) { turnRight(M2 , M1); } miContador += 1; //Despues de pasar por la intersección se debe incrementar en 1 }else{ goForward(M1,M2); delay(200); miContador += 1; //Despues de pasar por la intersección se debe incrementar en 1 } } }
- 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