Robótica Educativa con Q-Scout

Sitio: Campus Virtual
Curso: Curso: Creando con Q-Scout: Programación y Robótica - Nivel 1-LOCALIDADES
Libro: Robótica Educativa con Q-Scout
Imprimido por: Invitado
Día: jueves, 19 de septiembre de 2024, 19:18

1. Pensamiento Computacional

Pensamiento computacional. Análisis de una competencia clave» | Fundación  Telefónica Movistar Argentina

Se denomina pensamiento computacional a un tipo de pensamiento analítico. La promotora del pensamiento computacional es Jeanette Wing, directora de Avanessians del Instituto de Ciencias de Datos de la Universidad de Columbia (Nueva York), donde también es profesora de informática.

En el año 2006, Wing, publicó un artículo denominado “Computational Thinking” para Communications of the ACM, la revista mensual de la Association for Computing Machinery. En el mencionado artículo, Wing expresaba que “el pensamiento computacional implica resolver problemas, diseñar sistemas y comprender el comportamiento humano, haciendo uso de los conceptos fundamentales de la informática”. Por lo tanto, pensar computacionalmente es pensar como lo haría un científico informático cuando nos enfrentamos a un problema.

Asimismo, planteaba que el pensamiento computacional debería ser incluido como una nueva competencia en la formación educativa porque, al igual que la matemática u otra disciplina del saber, es una habilidad fundamental cuya progresión en la comprensión de un concepto se basa en la comprensión del anterior y se puede desarrollar desde edades tempranas.



Ejes principales del pensamiento computacional

El pensamiento computacional implica un conjunto de técnicas y habilidades de resolución de problemas, entre las cuales se hallan:

  • Descomposición de problemas: dividir un problema en problemas más pequeños y manejables.
  • Reconocimiento de patrones: reconocer patrones en los problemas más sencillos para tratar de resolverlos de forma similar a otros resueltos anteriormente.
  • Realización de abstracciones: abstraer la información para omitir la que es irrelevante a fin de resolver el problema.
  • Diseño de algoritmos: diseñar pasos que permitirán resolver el problema.
 
 

¿Cómo piensa un programador cuando quiere un café?

  


Dividen el problema en partes:¿Hay o no hay café preparado?¿Está dulce o no?

Descartan los datos innecesarios para el problema planteado, como marcas de café o azúcar. Es decir, realizan una abstracción.

Crean un algoritmo (una secuencia de pasos finitos bien definidos que resuelven un problema) para preparar un café. 

Si en lugar de un café quisiera un té podríamos utilizar el mismo algoritmo si observamos las similitudes en su preparación. De esta forma estaríamos reconociendo un patrón de preparación de infusiones. 


Siguiendo esa lógica es la forma en la que resuelven problemas mediante la creación de programas para nuestros dispositivos. Un programa es un conjunto de pasos lógicos escritos en un lenguaje de programación que les permiten realizar una tarea específica paso por paso que es lo que debe hacer una computadora o bien un robot. 

¿Qué buscamos que logren los estudiantes?

Lo que buscamos es que piensen computacionalmente, esto implica que puedan: 


  • Descomponer un problema complejo en partes más pequeñas y sencillas. 
  • Descartar todos los datos irrelevantes y concentrarse en los necesarios para el desarrollo de la solución
  • Implementar conceptos de informática para elaborar soluciones paso a paso para cada problema.
  • Aplicar la solución desarrollada en situaciones similares.

Pero no solo para el ámbito educativo sino para vida. 






El pensamiento computacional se entiende como una batería de herramientas mentales que todas las personas pueden trabajar y desarrollar con el objetivo de resolver problemas aplicando las nociones fundamentales de la informática. Esto hace que las personas sean capaces de:

  • Entender y evaluar qué aspectos de un problema son abordables a través de técnicas de ciencia informática y solucionables con tecnología.
  • Aplicar o adaptar una herramienta tecnológica para un uso distinto al original.

2. Robótica Educativa

La robótica educativa es una su disciplina de la robótica aplicada al ámbito educativo que se centra en el diseño, el análisis, la aplicación y la operación de robots. Se puede enseñar en todos los niveles educativos, desde la educación infantil y primaria hasta los posgrados. La robótica también se puede utilizar para fomentar y facilitar la instrucción en otras disciplinas, tales como la programación informática, la inteligencia artificial o la ingeniería de diseño.

La robótica educativa es aquella que "busca despertar el interés de los estudiantes transformando las asignaturas tradicionales en más atractivas e integradoras, al crear entornos de aprendizaje propicios, que recreen los problemas del ambiente que los rodea" (Quiroga 2018). 

En el caso de la enseñanza infantil y primaria, la robótica educativa pone a disposición de los alumnos todo lo necesario para construir y programar de forma sencilla un robot capaz de ejecutar diferentes tareas. Sin embargo, esta disciplina va mucho más allá de crear robots y programarlos, sino que  ayudan a los niños a desarrollar, mientras juegan, una de las habilidades cognitivas básicas del pensamiento lógico matemático: el pensamiento computacional. Es decir, ayudan a desarrollar el proceso mental que utilizamos para resolver problemas de diversa índole mediante una secuencia de acciones ordenadas.


Además de desarrollar el pensamiento computacional, los robots educativos favorecen el desarrollo de otras habilidades cognitivas entre niños y jóvenes:

  • Aprender de los errores: descubrir que los errores no son definitivos sino una fuente de nuevas conclusiones es una valiosa lección para el futuro.
  • Trabajo en equipo: el planteamiento de retos grupales fomenta la socialización y colaboración.
  • Adaptación: debido al creciente aumento de la automatización y los aparatos inteligentes, familiarizarse con el uso de robots les hará estar más adaptados al mundo del mañana.
  • Creatividad: la búsqueda de soluciones y la libertad para asignarle nuevas funciones a estos robots estimula la imaginación y creatividad.
  • Autoestima: la consecución de éxitos en un campo novedoso mejora la percepción que los estudiantes tienen de sí mismos.
  • Emprendimiento: además de aumentar su autoestima, los éxitos en un campo les impulsan a abordar nuevas tareas en otros campos.
  • Autoevaluación: al poder ver los resultados de sus actos al momento, sin necesidad de que un adulto les diga si lo han hecho bien o mal, los estudiantes aprenden a evaluar su propio desempeño.
  • Aplicaciones prácticas: el hecho de poner en práctica conocimientos matemáticos o físicos aprendidos en el colegio motiva a los niños y jóvenes a seguir estudiando estas materias.
  • Más habilidades cognitivas sobre las que los robots educativos influyen positivamente son la responsabilidad, el orden y un desarrollo más óptimo de la percepción espacial y de las relaciones entre objetos.

Robots Educativos: 

La robótica educativa pone a disposición de los alumnos todo lo necesario para construir y programar de forma sencilla un robot capaz de ejecutar diferentes tareas. Un robot educativo es aquel destinado a servir como una fuente de conocimiento confiable. 

Una de sus características principales es la de proporcionar diversión y entretenimiento en el repaso del contenido escolar. De esta manera, el niño tiene la idea de un juguete que, al mismo tiempo, le ayuda en el repaso de la materia.

En el mercado es posible encontrar numerosos kit educativos de robótica con funcionalidades similares y otras diferentes, mas simples o mas complejos y para diferentes niveles educativos.

 

Kit de Robótica Educativa Q-Scout: 

Q-Scout es un kit de robótica educativa para el nivel primario que posee una estructura metálica a la cual se pueden anexar piezas de expansión como vigas, placas y más sensores, lo que permite realizar múltiples actividades con los estudiantes.


2.1. Componentes del Kit Educativo Q-Scout

Q-Scout es un kit de robótica educativa para el nivel primario que posee una estructura metálica a la cual se pueden anexar piezas de expansión como vigas, placas y más sensores, lo que permite realizar múltiples actividades con los estudiantes.

El kit incluye un sensor ultrasónico, con luces de color programable (RGB), un sensor seguidor de línea y un zumbador incorporado a la placa Q-Mind y se programa a través de MyQode, basado en Scratch 3.0, que facilita la programación intuitiva arrastrando y soltando bloques.

Partes que componen el kit:

Antes de empezar a armar nuestro robots es necesario conocer las partes que componen al kit.

 

 

Placa programable Q-Mind: 

Basada en una placa Arduino Uno, es el “cerebro o mente” de nuestro robot, en él se guarda el código realizado en el software de programación que permite comandar el robot. Además, recibe las señales de los sensores y envía órdenes a los actuadores a través de los puertos de conexión

Motores:

Posee dos motores de corriente continua para generar el movimiento del robot.



LEDs RGB:

  • Led RGB en placa: se configuran para mostrar cualquier color deseado.
  • Led RGB en sensor ultrasónico: se utilizan para personalizar el color del sensor ultrasónico.


Buzzer o zumbador:

Se configura para tocar cualquier nota deseada.


Sensor Ultrasónico:

Es un módulo que permite detectar la distancia entre el robot y un objeto. Permite percibir el entorno a través de la emisión y recepción de ondas ultrasónicas. Y podemos usar los datos obtenidos para una rutina de programación, por ejemplo, si deseamos programar el robot para que evite obstáculos automáticamente. Se conecta a la placa Q-Mind con un Cable RJ25 de 120mm.



Sensor Seguidor de líneas: 

Este sensor permite al robot detectar líneas negras sobre un fondo blanco o a la inversa. El módulo está formado por dos pares de sensores de luz infrarroja. Los sensores de luz infrarroja están formados por un led emisor y un led receptor. Se conecta a la placa Q-Mind con un Cable RJ25 de 120mm.


Cable USB A a B:

Permite la conexión entre la placa programable Q-Mind y la computadora en la cual se programaron las acciones que debe realizar el robot Q-Scout.


Batería:

Nos facilita alimentar la placa Q-Mind para lograr llevar a cabo proyectos que requieran que Q-Scout sea autónomo. Es de Litio con 7.2 V, 2200 mAh (15.84Wh).


Cable micro USB:

Nos permite cargar la batería conectándola a cualquier puerto USB.


Y otras piesas pertenecientes al chasis, herramientas y tornillos.

3. Programación por bloques

Un programa es una serie o secuencia de comandos que se le hacen al procesador de una computadora, celular, robot u otro dispositivo electrónico para que este realice una acción o función determinada. Estos programas pueden ser escritos en diferentes lenguajes de programación, acá tenemos dos ejemplos:



La programación en bloque para facilitar el acceso a la programación:

Es justo decir que programar, si bien está al alcance de todas y todos, en un principio puede resultar engorroso. Requiere ser muy meticulosa o meticuloso con la sintaxis del lenguaje que se usa, una coma mal o un espacio de más y el programa no andará. Además las líneas se ven todas parecidas por lo que no es fácil a primera vista identificar por ejemplo las partes del programa. Algunas instituciones educativas se pusieron a pensar maneras más amables de entrar en contacto con la programación, sus lógicas, conceptos y esencia sin los problemas o inconvenientes de los lenguajes formales, así surge la programación con bloques. En ella los diferentes comandos o líneas del programa tienen la forma de un bloque de color. Hay distintos tipos de programación de bloques pero la mayoría de los programas se verán algo parecido a esto:


En un principio la programación con bloques era sólo una manera de ensayar programas formales de una manera más intuitiva y accesible, sin embargo con el correr del tiempo se fueron inventando cada vez más plataformas que permiten que sea funcional.

Elementos de la programación con bloques:

Los programas hechos con bloques cuentan con los mismos elementos que la programación formal: condicionales, bucles, variables etc. Cada uno de ellos se representa con un bloque de color distinto, como veremos en el siguiente ejemplo. Es un programa hecho en Scratch que hará que el personaje principal de la animación o videojuego que se está haciendo (un gatito en este caso), camine y que cuando se presione la tecla espacio, maúlle.


Control: Los bloques de control y de eventos generalmente son naranjas, en otros entornos podrán tener otro color. Tienen esa forma redondeada arriba. Están hechos de esa manera para que no se les pueda encastrar ningún otro bloque arriba ya que siempre serán piezas que irán al comienzo de un programa o una porción de programa. Esto será así porque justamente inicializan el programa.

Bucle: Los bucles tienen forma de C y también suelen ser de color  naranja como los bloques de control ya que, al igual que estos, agrupan u organizan a otros comandos (los que están en su interior). Concretamente los bucles repiten la secuencia que tienen dentro. Si son bucles infinitos, la repiten infinitamente, si son bucles con parámetros las repiten un determinado número de veces. En el ejemplo se usa un bucle infinito, estos son muy comunes en los juegos ya que se necesita que el juego y sus dinámicas sigan andando a menos que la persona que juegue explícitamente abandone.

Condicionales: Los condicionales también tiene forma de C y también son naranja pues también agrupan u organizan a otros comandos (los que están en su interior). Concretamente los condicionales permiten que se lleve adelante la secuencia que tienen dentro sólo si se cumple con una condición, como su nombre indica. De modo que a la pieza en forma de C le encastraremos una en forma de rombo alargado que especificará la condición. Las condiciones deben ser algo que no se preste a ambigüedades y que la computadora pueda fácilmente verificar si se cumple o no. En el ejemplo la condición es que se esté tocando la tecla espacio.

Primitiva: Las primitivas suelen ser de color azul o violeta. Ellas son la forma más básica de comando. A diferencia de las piezas de control, de los condicionales y los bucles ellas no agrupan ni organizan a ninguna otra función.

3.1. Introducción a la programación en bloques: PilasBloques


Acerca de Pilas Bloques:

Pilas Bloques es una aplicación para aprender a programar, desarrollada especialmente para el aula.

Se proponen desafíos con diversos niveles de dificultad para acercar a las y los estudiantes al mundo de la programación por medio de bloques.

¿Qué es programar por medio de bloques?:

Es desarrollar programas con acciones e instrucciones incorporadas en bloques o piezas prediseñadas. El resultado de encastrar los bloques entre sí es el programa que resuelve el problema ó desafío planteado.

¿Por qué es positiva esta modalidad de aprendizaje?

  • Porque cada concepto abstracto asociado a la programación tiene su representación visual.
  • Porque ahorra las dificultades que genera la sintaxis formal de un lenguaje escrito (¡y la frustración cuando cometemos un error al escribir!). Los bloques se seleccionan, arrastran, encastran y listo.

¿Quién puede hacer los desafíos de Pilas Bloques?

Los desafíos pueden ser realizados por niños de 3 a 99 años . Los desafíos están divididos en primer ciclo y en segundo ciclo de la educación primaria. 

Para iniciarte e interiorizarte más de la programación en bloques te recomendamos fuertemente realizar los desafíos de Pilas y Bloques.

Para ingresar al mundo de Pilas Bloques haz clic aquí.

Introducción a Pilas Bloques:

 

3.2. Entorno de programación en bloques: MyQode

MyQode:

Software de programación gráfica. Está basado en el desarrollo de código abierto Scratch. Permite la visualización simultanea del lenguaje de programación Phyton, Arduino C, permite ver el código tanto grafico como textual. Software utilizado para los kits de robótica EmotiBot (Qoopers).

Interfaz de MyQode:


1. Bloques de construcción (recuadro rojo): Puede hacer clic en los bloques de construcción para ordenarlos o arrastrarlos al área de código (2).

2. El área de código o programa (recuadro violeta): el área en blanco en el medio de la interfaz, es donde se combinan los bloques de construcción, es decir, donde se arma el programa. Los bloques de construcción se dividen en múltiples categorías: evento, acción, luz, sonido, control, sensor y variables. 

3. Área del escenario (recuadro azul): el lado derecho de la interfaz es el área del escenario, donde finalmente se procesa el programa. De manera predeterminada, se usa un icono de Robobloq como el personaje. La esquina superior izquierda del área del escenario es un botón para controlar el inicio y el final del programa. La lista de roles está debajo del escenario, lo que permite al usuario crear múltiples roles y controlarlos por separado.

4. Área del menú (recuadro negro): operaciones de archivos comunes (abrir, guardar, nuevo), cambio de idioma (chino / inglés), ayuda (verificación de actualización en línea, tutorial en línea, instalación de controladores, sobre Robobloq). Menú de conexión de hardware (conectar puerto serie, Restaurar el firmware de fábrica, desconectar, estado del puerto).

MyQode: Paneles de programación:

PANEL EVENTOS: contiene bloques a partir de los cuales, la secuencia de programación se inicia, reacciona o se altera. 



PANEL ACCIÓN: contiene bloques que permiten encender, apagar y configurar el funcionamiento de los motores.



PANEL LUZ: contiene bloques que permiten encender leds RGB incluidos en la placa programable y en el sensor ultrasónico. Al ser RGB podemos personalizar el color.


PANEL CONTROL: contiene bloques que manejan tiempos de espera, bucles de repetición y condicionales.



PANEL OPERADORES: contiene bloques que permiten realizar operaciones matemáticas y lógicas para realizar comparativas entre los datos.

4. Pasos a seguir


  1. Armar el robot y cargar su bateria: https://drive.google.com/file/d/13TPd6FAW6k9pxbpvgnK0eBiqgvYdbv8u/view
  2. Instalar el entorno de programación MyQode (windows de 64 bit) en la computadora: https://docs.google.com/document/d/1XgmqnuQckQGKwcVKN4MP5xdjuJC6uVXzwmBItZdL-yE/edit?usp=sharing
  3. Conectar el Q-Scout por USB a la PC: https://drive.google.com/file/d/1U-B0Y0Lk47StiHJ024TIGXLW8ZdbABAY/view?usp=share_link
  4. Abrir MyQode.
  5. Diseñar un programa utilizando bloques.
  6. Subir el programa al Q-Scout: https://drive.google.com/file/d/1oBnspe6n44-CF1KJHUZlDYDCMFmVYU4S/view?usp=share_link
  7.  Utilizar desde celular o tablet al Q-Scout: https://drive.google.com/file/d/1AGyb3KCZpNnVF8Xgd1V7PhnVQCKbJBna/view?usp=share_link