El diagrama de flujo es una de las herramientas más poderosas y sin embargo poco utilizadas en robótica educativa. Entendiendo lo efectivo que puede ser y lo fácil que es de entender por parte de los niños conseguiremos usarlo más en clase.
Pero antes de ponernos en faena déjame recordarte una solución completa si buscas cursos de programación y robótica para formarte como docente o para tu academia de extraescolares y nuestra propuesta educativa online para niños en la que iniciar a tus hijos en la programación incentivando su propia creatividad.
Un diagrama de flujo ayuda a solucionar un problema de forma estructurada. Nos va a permitir describir gráficamente un proceso, de manera que podemos comprobar de un golpe de vista si hemos cubierto todos los caminos que ese proceso puede tomar. Un buen diseño de diagrama de flujo tendrá como resultado una buena automatización.
Desde el punto de vista de la robótica educativa si fomentamos el uso del diagrama de flujo vamos a conseguir que el alumno adopte un pensamiento computacional o lógico de manera más natural antes de programar.
De hecho lo mejor es empezar a utilizar el diagrama de flujo representando rutinas de la vida diaria para entender mejor la lógica computacional.
Una vez descrito el diagrama de flujo debería ser más fácil transformar el algoritmo programando por bloques con Scratch por ejemplo.
Muchos programadores e integradores de maquinaria lo usamos en etapas iniciales de diseño en ingeniería, automática y robótica. De hecho para poder trabajar en equipo e intercambiar y compartir proyectos se contemplan unos símbolos normalizados. Cada símbolo representa una operación específica y se conectan entre ellos mediante flechas que indican la secuencia de la operación.
Pasar de un diagrama de flujo a Scratch o a cualquier lenguaje de programación se va haciendo más fácil con la práctica, pero si el alumno va dominando el planteamiento de diagramas lo podrá utilizar a lo largo de todo su aprendizaje incluso en su vida profesional.
Ya sabéis mi opinión sobre la robótica educativa, donde veo beneficios en todos los campos, sin ser necesario que luego el alumno o aprendiz tenga que acabar siguiendo unos estudios técnicos o enfocados a la programación. Pero para aquellos que luego acaben formándose en computación o automática y control, dominar y saber plantear y leer diagramas de flujo les va a ayudar muchísimo a utilizar Grafcets, que es un tipo de diagrama imprescindible utilizado en automática.
Para empezar a ver el potencial de un diagrama de flujo en robótica educativa podéis trabajar el paso a un programa en Scratch o en lenguajes por bloques basados en Scratch para robótica como puede ser mBlock o BitBloq. Aquí tenéis algunas equivalencias con bloques de Scratch que os pueden servir de referencia inicial.
En el siguiente ejemplo vamos a suponer que queremos que un robot haga una especie de vigilancia en el espacio que hay entre dos muros siempre que sea de noche. Su función debe ser la de moverse entre los dos muros continuamente haciendo parpadear una luz avanzando a la velocidad que le sea introducida por el operador en el momento de ponerlo en marcha en su guardia nocturna. Debe permanecer en movimiento hasta que amanezca momento en el cual debe de finalizar su actividad.
El diagrama de flujo para esa programación sería el que aparece a continuación, y es muy difícil que dos programadores lo dibujen de manera muy distinta. Sin embargo si que es posible que diferentes programadores hagan programas diferentes con ese diagrama de flujo. Yo he puesto una opción de programación en mBlock, pero otro programador podría hacerlo de distinta forma, aunque el resultado será el mismo, precisamente el descrito en el diagrama de flujo.
Con todo lo sencillo y visual que puede ser Scratch, o mBlock en este caso, sigue siendo aún más sencillo y claro el diagrama de flujo clásico. Os invito a practicar con flujogramas al realizar vuestros diseños de programas y que en programación y robótica educativa les podáis mostrar a vuestros alumnos esta sencilla pero poderosa herramienta.
Aquí tenéis algunas aplicaciones gratuitas para la creación de un diagrama de flujo, aunque también podéis usar otros programas de ofimática habituales.
- Draw io. Online.
- Lucidchart. Online.
- Dia.
- Draw de Libreoffice.
- yEd.
- Diagram Designer.
Si antes de plantear el diagrama de flujo quieres poder definir el algoritmo a través de pseudocódigo te puede resultar interesante la herramienta PSeInt con ambas funcionabilidades:
Os dejo un vídeo en que podéis ver la utilidad de un diagrama de flujo para la toma de decisiones con un toque de humor.
El diagrama de flujo es solo el principio del planteamiento de un programa. Si quieres utilizar estos conceptos en educación y continuar planteando la programación por bloques accede a nuestra plataforma de cursos.
Dani S.
Felicidades por el artículo.
Una de las razones que hicieron decidirme por el robot fischertechnik TXT, en lugar de otras opciones como Mblock, para mi hijo, fue que utiliza diagramas de flujo para la programación. Me pareció estupendo que fuese capaz de integrar esa potente herramienta de forma directa desde la idea al robot.
Saludos
Gracias José!
Fischertechnik me gusta mucho porque veo que es más parecido a la automática industrial que otros kits de robótica, pero realmente no he tenido la oportunidad de probarlo. Desconocía que tenían la opción de programarse por diagramas de flujo, lo cual me parece muy acertado. Como digo en el artículo en automática y control industrial utilizamos mucho los diagramas de flujo y en instalaciones pequeñas y medianas los grafcets están a la orden del día. Seguro que tu hijo disfruta con ese kit.
Gracias por tu comentario. Saludos!
Dani S.
Gracias por tu amable respuesta.
Encuentro tu web y el blog muy acertados y muy interesante todo lo que he leido en ella hasta ahora.
Tengo de estudios de electrónica industrial y trabajo como diseñador de generadores eléctricos.
Como tengo dos hijos en primaria y el mayor me dice que quiere ser montador y diseñador de robots de ahí el interés por el tema.
Agradecerte la labor de divulgación que haces con la web y que seguro visitaré para leer lo que publiques.
Te pego un enlace de un aficionado alemán que hace una interesante comparativa entre lego mindstorm y fischertechni TXT.
http://reivilofischertechnik.weebly.com/exploring-the-lego-world.html
En ella analiza las diferencias y puede servirte para conocer mejor fischertechnik.
Coincido contigo en que es más parecido a la realidad industrial.
No me extiendo más, sólo agradecerte la labor y si necesitas algo de mi no dudes en contactarme.
Saludos.
Gracias a ti por tu extenso comentario.
El link que has compartido es muy interesante comparando Mindstorms con Fischertechnik, y he podido ver las capturas de pantalla programando mediante diagramas de flujo. Me parece muy acertado que se pueda programar así para ir aprendiendo.
La robótica educativa se suele orientar a la introducción a los niños al pensamiento lógico computacional, muchas veces tendiendo hacia la programación informática. Yo soy electrónico industrial como tú, especializado en automática y control, y yo intento mostrar la robótica educativa a nivel de computación física, tendiendo más hacia la robótica real y la automatización, y en este sentido me gusta mucho lo que voy viendo de Fischertechnik al menos para etapas avanzadas.
Seguiré atento a toda la información que caiga en mis manos y si tengo alguna duda te preguntaré aprovechando tu ofrecimiento.
Saludos.
Para la grados este tema
Aprendemos
La verdad aprendo mucho
Estubo muy interesante
Ecselente