Aeropuerto: simulador de vuelo con Arduino

  • Nivel:
    • Bachillerato
    • E.S.O.
  • Área del pensamiento computacional:
    • Programación

Nombre del recurso

AEROPUERTO: SIMULADOR DE VUELO CON ARDUINO

Breve descripción

En este recurso para el aula se hace una descripción sobre cómo fabricar un entrenador para programar varios dispositivos electrónicos con Arduino. El entrenador es un simulador de vuelo, que puede crearse fácilmente con materiales reciclados.

Nivel/niveles

Se programan distintos tipos de dispositivos con Arduino con distintos grados de dificultad para adaptarse al nivel educativo en el que queremos trabajar. Por lo tanto, podría plantearse para 1º ESO y aumentar la dificultad progresivamente hasta llegar incluso a 2º de Bachillerato. También podría utilizarse en algunos módulos de programación y robótica de ciclos formativos.

Asignatura/s

Este recurso puede aplicarse en todas aquellas asignaturas tanto de ESO como de Bachillerato cuyos contenidos engloben aspectos tecnológicos relacionados con dispositivos electrónicos, conceptos de robótica y programación informática, por lo tanto:

Siguiendo la normativa LOMCE, actualmente en vigor para cursos pares, podría emplearse en:

  • Tecnología de la ESO.
  • Tecnología Industrial I y II de Bachillerato.
  • Materias optativas ofertadas en algunas comunidades autónomas como Programación informática, Control y robótica y TIC en la ESO o en TIC I y TIC II en Bachillerato.

Siguiendo normativa LOMLOE:

  • Tecnología y Digitalización y Tecnología en la etapa de ESO.
  • Tecnología e Ingeniería en I y II de Bachillerato.
  • De igual modo, tendría cabida también en asignaturas optativas como Control y Robótica, Programación Informática en ESO o en TIC I y TIC II en Bachillerato.

También es de aplicación en algunos ciclos formativos con módulos relacionados con la programación informática y la robótica.

¿Se requieren conocimientos previos? ¿Cuáles son?

Sí, se requieren conocimientos previos sobre Arduino, sobre todo acerca de sus formas de conexión y su modo de programación, bien sea de programación por bloques o mediante el empleo de su IDE.

También es necesario conocer el funcionamiento y el modo de cablear todos aquellos dispositivos electrónicos que se quieran emplear en la práctica.

La versatilidad de esta práctica permite crear actividades muy sencillas o tan complicadas como deseemos; por tanto, los conocimientos requeridos se deberán también ajustar al objetivo planteado.

Objetivos

¿Qué objetivos se persigue con el recurso?

La finalidad de este recurso es proporcionar al profesorado ideas para la realización de proyectos técnicamente factibles y económicamente viables, que sean fáciles de ejecutar y que permitan al alumnado simular escenas que podemos ver a nuestro alrededor.

En el caso del recurso desarrollado, se ha simulado el funcionamiento de un aeropuerto y el control de vuelo de un avión, pero podría adaptarse a otros dioramas en función de los gustos o intereses del alumnado.

Los objetivos buscados con este recurso son los siguientes:

  • Se pretende que el alumnado materialice retos de programación, centrándose únicamente en el desarrollo del programa, no en la conexión ni cableado de los dispositivos electrónicos que conforman el diorama (el profesor facilita el entrenador al alumnado).
  • Introducir el pensamiento computacional de forma progresiva, añadiendo dificultad de modo creciente entre retos consecutivos, fomentando así el desarrollo de algoritmos cada vez más complejos.
  • Aprender a crear programas con Arduino, bien mediante programación por bloques o mediante su IDE.
  • Conocer las posibilidades que nos brindan los distintos dispositivos electrónicos en el mundo de la robótica y automatización de procesos.

¿Qué áreas del Pensamiento Computacional y/o de la Inteligencia Artificial queremos cubrir con él?

Arduino engloba áreas de los dos campos: la estructuración necesaria para programar nos da la posibilidad de trabajar el pensamiento computacional mientras que la gran cantidad de opciones de interacción que nos facilita nos permite implementar muchos aspectos de la inteligencia artificial.

¿Qué ventaja obtengo de utilizar este recurso en el aula?

Este recurso es rápido y económico de hacer y, una vez elaborado, puede reutilizarse con varios grupos y niveles, permitiendo realizar actividades variadas y de distintos niveles de dificultad.

En función de los materiales disponibles para su realización podremos hacer el simulador más o menos duradero y/o versátil. Nuestra imaginación nos permitirá hacer un simulador que admita varios dioramas para los mismos dispositivos, adaptándonos fácilmente a los gustos de nuestro alumnado para aumentar su motivación.

¿Qué habilidades del alumnado desarrollo que no se pueden obtener de manera más tradicional?

Pueden ver la implementación física de una tarea de programación, ya que se simulan acciones o situaciones cotidianas de nuestro entorno. Se pueden hacer muchos tipos de prácticas y el propio alumnado puede crear algún diorama y proponer su programación siguiendo el mismo patrón de este recurso.

¿En qué consiste el recurso?

A partir de una caja de cartón, tipo maletín, se crea un panel en el que se colocará el dibujo del diorama que nos guste y se insertarán los dispositivos electrónicos que consideremos oportunos para realizar nuestras prácticas. Posteriormente se cableará todo y se dejará listo para conectarlo a la placa de Arduino.

El alumnado conectará cada dispositivo a los pines de Arduino que corresponda (revisarán la conexión ya hecha) e irán cargando en la placa el sketch que resuelva cada uno de los retos propuestos.

Si queremos que el simulador sea más duradero, se pude emplear un maletín de madera contrachapada (reutilizado o creado para tal fin) o incluso se podría imprimir en 3D, realizando los orificios necesarios para la inserción de los dispositivos electrónicos.

Una vez creado el maletín con el diorama, se realizarán las fichas de los retos que propondremos a los estudiantes.

Lo ideal sería tener varios tipos de simuladores con los que se puedan trabajar todos los dispositivos electrónicos controlables mediante Arduino. Además, este simulador se podría tener como idea para crear otros dioramas: invernadero, puente marítimo, detector de intrusos…

¿Cómo lo utilizo?

Es aconsejable tener un maletín preparado por cada pareja de estudiantes (o por cada grupo). Una vez entregados los maletines, se señalarán los dispositivos que lo forman, explicando su funcionamiento y modo de conexión a Arduino y se comentará la ficha informativa del simulador en la que se detalla la función que debe tener cada uno de sus elementos.

A partir de ahí, se irán entregando las fichas con los enunciados de los diferentes retos que queramos desarrollar en el aula. Estos retos irán aumentando en dificultad y estarán entrelazados unos con otros para favorecer la asimilación de nuevos conceptos. Al finalizar la serie de retos propuestos, en el simulador deben funcionar todos los dispositivos según las especificaciones dadas en los mismos.

¿Qué materiales necesito para ponerlo en práctica en el aula?

Para fabricar este simulador de vuelo, se necesita el siguiente material:

  • Un maletín de cartón (se puede conseguir de cajas de ordenadores portátiles o de teclados, cajas utilizadas en los envíos de libros, carpetas gruesas, etc.).
  • Un diorama plastificado con la temática Aeropuerto: el diorama sin el avión y el diorama con el avión (para poder recortar el avión y dotarle de movimiento).
  • Cables de colores Jumper Dupont variados (machos y hembras).
  • Alimentación para la placa de Arduino. 

Además, se han incluido los siguientes dispositivos electrónicos:

  • Pulsadores
  • Interruptores
  • Diodos normales
  • Diodo RGB
  • Diodo verde/rojo
  • LCD
  • Potenciómetros
  • Motor cc
  • Motor paso a paso o servomotor.
  • Resistencias
  • Placa Arduino (se necesitan tres para poder controlar todos los dispositivos)
  • Shield de la placa Arduino (una por cada placa)
  • De forma opcional, se podría utilizar un driver de motor para cambiar el sentido de giro del motor de cc

Para su fabricación se necesita:

  • Tijeras
  • Cúter
  • Barrena
  • Cinta aislante
  • Pajitas
  • Celo
  • Pegamento
  • Soldador de estaño

Una vez reunidos estos materiales y herramientas, comenzaremos a fabricar nuestro simulador:

En primer lugar, se pegará el diorama plastificado en un cartón (que posteriormente se colocará ajustado dentro del maletín) y se realizarán en él los agujeros y orificios necesarios para alojar los dispositivos.

Una vez colocados los dispositivos, se prepararán todos los terminales para poder unirlos fácilmente a los pines correspondientes de la placa. Para ello, se realizarán soldaduras de estaño en todos los componentes que lo precisen (recordamos que la finalidad de este recurso es que los estudiantes se centren en la programación, por lo que no se pueden producir fallos de desconexión que provoquen retrasos en la resolución de los retos).

Una vez realizadas las soldaduras y conexiones, será necesario aislar bien todos los cables (con pajitas y con cinta aislante) para evitar posibles cortocircuitos durante el manejo del simulador, sobre todo al unir los terminales de los dispositivos a los pines de Arduino y al cargar nuestros skechts en la placa.

Además, es aconsejable etiquetar todos los cables según el dispositivo al que están conectados.

Tener la parte de la conexión así preparada facilitará al alumnado el trabajo de la conexión final, dejándole más tiempo para la programación.

Si lo consideramos conveniente, podemos cablear totalmente el simulador y entregárselo al alumnado con todas las conexiones realizadas, indicando en un esquema los pines de Arduino que corresponden a cada dispositivo.

RETOS PARA EL SIMULADOR VUELO-AEROPUERTO

Conexión física:

Antes de realizar cada uno de los retos propuestos, debes revisar a qué pines de Arduino se conecta cada uno de los terminales de los diferentes dispositivos. Se facilita la información en las tablas adjuntas.

Es importante señalar que utilizaremos tres placas de Arduino UNO:

Programación

Para realizar los retos propuestos, puedes ayudarte de un software de programación por bloques o utilizar el IDE de Arduino directamente.

En el IDE ARDUINO, recuerda que hay que tener cuidado con la diferencia entre mayúsculas y minúsculas, con los paréntesis, las llaves de apertura y cierre y el punto y coma del final de cada línea de código. Cuando lo tengas escrito, pulsaremos sobre (check) verificar, y una vez que esté todo bien, guardaremos el proyecto y le daremos un nombre.

Comprobaremos nuestro puerto de conexión en la pestaña herramientas -puerto serial- y elegiremos el COM que tengamos o el último que aparezca.

Después lo cargaremos en nuestro Arduino pulsando sobre (flecha derecha) cargar y comenzará a realizar el programa.

Una vez cargado el programa en Arduino, éste se ejecutará aunque no esté conectado al ordenador, es decir, si alimentamos la placa con una batería externa que le proporcione 5 V, el programa funcionará igual.

Retos

Se presentan 18 retos y se acompañan de sus posibles soluciones y un video demostrativo. Todo ello accesible a través de los siguientes enlaces ( videos demostrativos / solucionario).

  • RETO 1. Encendido de un led (Arduino 1). Deben encender simplemente el LEDA (led amarillo situado en la cabina de control). Cuando se conecte Arduino, el led lucirá directamente.
  • RETO 2. Encendido-apagado de un led: parpadeo (Arduino 1). Tienden a generar un parpadeo del led LEDA, de modo que se encenderá durante 1 segundo y después se apagará durante otro y se repetirá esta secuencia hasta que apaguemos Arduino. Cuando se conecte Arduino, el led comenzará a parpadear.
  • RETO 3. Encendido de varios leds a la vez (Arduino 2). Han de encender simultáneamente los leds 1,2,3 y 4 de la pista de aterrizaje. Cuando se conecte Arduino, los leds lucirán directamente.
  • RETO 4. Encendido de 4 leds parpadeando a la vez (Arduino 2). En este reto deben hacer parpadear de modo simultáneo los cuatro leds de la pista de aterrizaje. En cuanto conectemos Arduino, comenzarán a parpadear.
  • RETO 5. Encendido-apagado de varios leds de forma simultánea y alternativa (Arduino 2). Apoyándonos en el Sketch 4, vamos a hacer parpadear los leds de dos en dos. El 1 y el 3 se encienden mientras que el 2 y el 4 se apagan.
  • RETO 6. Encendido-apagado de varios leds de forma secuencial (Arduino 2). Apoyándonos en el Sketch 5, vamos a hacer un barrido de encendido-apagado de todos los leds de forma secuencial. El programa comienza estando todos apagados, después se enciende el 1 y se apaga, se enciende el 2 y se apaga y así sucesivamente.
  • RETO 7-0. Encendido de Arduino con un interruptor. En este reto, tienen que controlar el encendido y apagado de Arduino mediante el interruptor I1, que está al lado del LEDA (led amarillo) que se utilizó en el reto 1. Cuando adopte la posición de “Arranque” se encenderán Arduino y el led. Y con la de “Apagado” se apagarán los dos. Este reto no precisa control mediante programación. Únicamente tendremos que conectar los terminales de nuestro pulsador a un pin cualquiera de Arduino, utilizando G y S.
  • RETO 7. Encendido de un led con pulsador y de dos leds con un interruptor de dos posiciones. La primera parte de este reto consiste en encender el LEDV mientras estemos pulsando P3 y apagándose al dejar de pulsar. Físicamente, debemos tener en cuenta que los pulsadores que usamos precisan una resistencia para su correcto funcionamiento. Debemos conectar la resistencia en pull-up o pull-down en función de cómo queramos que funcione y deberemos tener en cuenta también si nuestro pulsador es NC o NO. La segunda parte de este reto consiste en sustituir el pulsador por un interruptor de dos posiciones, de modo que cada una de sus posiciones controle el encendido/apagado de dos leds. Tendremos que colocar las resistencias en el interruptor del mismo modo que hicimos antes en el pulsador.
  • RETO 8. Encendido de un led con pulsador actuando como interruptor (Arduino 2).
    • El led se controla con un pulsador actuando éste como un interruptor: si pulsamos se enciende y continúa encendido hasta que volvemos a pulsar para apagarlo.
    • Para este reto vamos a utilizar el pulsador P4 y el LEDR.
    • Para evitar confusiones en los programas más complicados, se suelen emplear variables, por lo que en el siguiente código se han asignado las variables P4 al pin 7 y LEDR al pin 8.
    • Hay que tener en cuenta que el pulsador al ser un componente mecánico tiene contactos eléctricos que producen rebotes, es decir, al presionar el pulsador por breves periodos de tiempo, los contactos rebotan y generan pulsaciones fantasmas hasta que se estabilizan. Un pulsador en la vida real no pasa de forma instantánea de abierto a cerrado, sino que emplea un breve instante. Dado que Arduino es capaz de detectar microsegundos, es necesario añadir en el programa rutinas antirrebotes. Una forma de controlar el led y el botón es la siguiente, en la que empleamos la función chile: La función while evalúa su condición de modo que si se cumple ejecuta lo que tenga entre sus llaves; cuando deje de cumplirse esa condición, pasa a la siguiente línea de código.
    • Tenemos que añadir una variable más, a la que llamaremos ESTADO. Nos indicará como está el led, si HIGH o LOW y en función de cómo esté lo encenderá o lo apagará. ¡Colocaremos el símbolo! para indicar “contrario”.
  • RETO 9. Encendido de un led RGB (Arduino 3). Vamos a conectar los tres pines de los colores a pines PWM. Utilizaremos analogWrite() para poder controlar los niveles de color.
  • RETO 10. Encendido de un led RGB empleando procedimientos (Arduino 3). El reto consiste en encender el LEDRGB en varios colores distintos, de modo que cambiarán de color automáticamente cada segundo.
  • RETO 11. Encendido de un led RGB con pulsador (Arduino 3). Vamos ahora a encender el LEDRGB en varios colores distintos en función del pulsador que controlemos. Vamos a apoyarnos en los retos anteriores. Utilizamos en este reto los pulsadores P1 (NA) y P2 (NC) para encender el LED RBG.
  • RETO 12. Regulación de la intensidad de un led con un potenciómetro (Arduino 2). Utilizando un led del simulador, vamos a regular su intensidad empleando uno de los dos potenciómetros.
  • RETO 13. Encendido de un motor de corriente continua con un pulsador (Arduino 1). Pulsando el pulsador P7, el motor girará a máxima velocidad.
  • RETO 14. Regulación de la velocidad de un motor de cc con un potenciómetro (Arduino 1). Este reto es igual al 12 con la diferencia de que en este caso no tenemos un led, sino un motor de cc. En el sketch, sustituimos los terminales del led por los del motor.
  • RETO 15. Control de la posición del eje de un servomotor con un potenciómetro (Arduino 1). A partir de un potenciómetro, vamos a conseguir girar el avión del simulador.
  • RETO 16. Encender la pantalla LCD y dar mensaje de bienvenida al aeropuerto (Arduino 2). En este reto vamos a encender la LCD y mostrar un mensaje de bienvenida al aeropuerto y aviso de llegadas y salidas. Para ello, utilizamos el módulo adaptador de LCD a I2C y así podremos controlar la pantalla con solo dos pines de nuestro Arduino. Las conexiones van a ser:
    • Gnd-Gnd Arduino
    • Vcc – Vcc Arduino
    • SDA- A4 Arduino
    • SDL- A5 Arduino
  • RETO 17. Control mediante pulsador del mensaje de salida de una LCD (Arduino 2). En este reto, la pantalla nos indicará llegadas o salidas en función de la posición que tenga el interruptor.
  • RETO FINAL. Combinación de dispositivos y funciones: funcionamiento total del simulador (Arduinos 1,2,3).
    • Con todos los programas vistos en los retos anteriores, debemos programar el simulador para que cumpla con las condiciones dadas en la ficha explicativa del simulador.
    • A continuación, se detallan los programas que hay que emplear en cada uno de los tres arduinos. Hay que señalar que estos programas se basan en los retos realizados y podrían simplificarse mediante el empleo de más variables y sentencias for y/o while.
    • La placa de Arduino 1 se encarga de:
      • Controlar el encendido/apagado del Arduino 1 y del led amarillo.
      • Controlar la intensidad de brillo del led amarillo.
      • Controlar el encendido/apagado del motor de cc.
      • Controlar la velocidad del motor cc (hélice).
      • Controlar el giro del avión (servomotor).
    • La placa de Arduino 2 se encarga de:
      • Controlar la señalización de luces de despegue y aterrizaje (led verde y led rojo y los leds de la pista).
      • Controlar los mensajes de la placa LCD: llegadas y salidas.
    • La placa de Arduino 3 se encarga de:
      • Controlar la señalización del led RGB con los botones de Petición de pista (despegue/aterrizaje) de la cabina del avión y los botones de Pista (conceder/denegar) de la torre de control.

¿Cómo evalúo las competencias adquiridas por mis alumnos con este recurso?

La combinación del trabajo en equipo y la implementación física de una propuesta de trabajo, además de aumentar la motivación y el interés del alumnado, mejora su aprendizaje y, por ende, favorece la adquisición y el desarrollo de competencias.

La observación sistemática del trabajo diario realizado nos va a facilitar los datos necesarios para poder realizar la evaluación de sus competencias. Utilizaremos rúbricas que recojan los aspectos característicos de cada reto propuesto. Un ejemplo de rúbrica a emplear es el siguiente – (link de acceso).