Arduino: tecnología y creatividad en tus manos

Observatorio de tecnología educativa nº 95

Descarga artículo en PDF

El autor de este artículo...

Juan Luis Carrillo Arroyo es ingeniero técnico de Telecomunicaciones por la Universidad Politécnica de Madrid e ingeniero de Telecomunicaciones por la Universidad Carlos III de Madrid. Actualmente, cursa el máster de Visión Artificial por la Universidad Rey Juan Carlos de Madrid. Es profesor de Educación Secundaria en la especialidad de Tecnología en la Comunidad de Madrid. La robótica, la inteligencia artificial y el desarrollo de software son campos de especial interés para él.

Introducción

La empresa Arduino diseña, crea y desarrolla un conjunto de productos hardware y software bajo licencia copy-left. Es decir, tanto el software, como los diseños del hardware son libres y están a disposición de la comunidad.

No cabe duda de que vivimos inmersos en mundo cada vez más tecnificado y conectado, donde los artilugios electrónicos de todo tipo (móviles, ordenadores, GPS, robots aspiradores, cámaras de vigilancia, domótica…) están cada vez más presentes en nuestras vidas. En esta sociedad, cada vez más conectada a la red, el término internet de las cosas, IoT, por sus siglas en inglés (Internet of Things), se empieza a popularizar entre la comunidad.

Bajo este contexto, distintos objetos provistos de sensores, capacidad de procesamiento y software intercambian datos con otros artefactos o sistemas a través de la red de datos. Arduino ofrece una tecnología hardware y software accesible, tanto a los estudiantes que se introducen en este mundo, como a los profesionales que desarrollan soluciones finales.

La herramienta

Figura 1: Placa Arduino UNO
Figura 1: Placa Arduino UNO

La plataforma Arduino comprende una serie de elementos, tanto hardware, como software, que permite a los estudiantes la creación de proyectos tecnológicos mientras se van desarrollando los conocimientos y habilidades relacionadas con la programación, la electrónica y la robótica.

En cuanto al hardware, Arduino cuenta con placas electrónicas, controladoras programables, placas electrónicas de ampliación que se acoplan fácilmente a las primeras para incrementar su funcionalidad, soportes y otros accesorios. Además, es posible comprar kits que incluyen conjuntamente, tanto la placa controladora, como un conjunto de sensores y actuadores.

Entre todo el hardware disponible, la placa programable Arduino UNO es posiblemente la más utilizada en el ámbito educativo. La figura 1 muestra una imagen de esta placa.

El corazón de esta placa está compuesto por el microprocesador ATmega328P, chip basado en un microcontrolador RISC de 8 bits. Pero, además, Arduino UNO cuenta 6 entradas analógicas, 14 entradas-salidas digitales, 6 de las cuales permiten modulación por anchura de pulso, conector USB, conector jack para alimentación, así como otras entradas y salidas electrónicas, que la convierten en una auténtica herramienta para el control de sistemas electrónicos y robóticos.

Figura 2: Entorno de programación Arduino IDE
Figura 2: Entorno de programación Arduino IDE

Para el desarrollo del programa que se cargará en la placa, Arduino proporciona un entorno de programación, Arduino IDE, con todas las funcionalidades propias de un software de este tipo, incluidas el autocompletado, la navegación por el código e, incluso, un depurador en vivo.

La figura 2 muestra una imagen del entorno de programación.

No obstante, también cabe la posibilidad de codificar la aplicación por medio de un IDE online.

El lenguaje de programación está basado en C++ y cuenta con una completa documentación fácilmente accesible a través de Internet.

La forma más sencilla de cargar el programa a la placa es conectarla por medio de un cable USB al ordenador y, una vez detectada la placa adecuada en el IDE de Arduino, volcar el programa a la placa.

Figura 3: Entorno de programación Visualino
Figura 3: Entorno de programación Visualino

Además, hay disponibles entornos de programación de terceros que intentan salvar el escollo inicial que puede suponer programar con un lenguaje de programación de alto nivel como C++. Entre ellos, se encuentra Visualino.

La figura 3 muestra el entorno de programación de Visualino. Como se puede apreciar, permite una programación por bloques similar al celebérrimo Scratch, mientras muestra en la ventana contigua el código C++ equivalente.

Finalmente, existen entornos completos de simulación, como el de la sección Circuit de TinkerCad, donde es posible conectar virtualmente los distintos componentes (sensores y actuadores) a una placa simulada de Arduino y programar la placa mediante un IDE de programación por bloques.

Explicación del uso en el ámbito educativo

Arduino es una herramienta de gran utilidad en el desarrollo de las distintas asignaturas de tecnología de la ESO, ya que permite controlar circuitos electrónicos y robots, poniendo en práctica conocimientos de electrónica, control y programación.

Aunque el abanico de posibilidades es muy amplio, a modo de ejemplo, se expone un posible ejemplo: El diseño de una barrera automática para coches, de tal forma que, cuando se acerque un vehículo a la barrera, esta se abra.

Figura 4: Robot mBot de Makeblock
Figura 4: Robot mBot de Makeblock

El alumnado crea un circuito electrónico donde hay un sensor infrarrojo conectado a una entrada digital de la placa Arduino UNO, y una barrera accionada mediante un servomotor conectada a una salida digital apropiada de la placa. A continuación, los y las estudiantes programan el código en el entorno de programación de Arduino, para cargarlo a la placa que, de forma autónoma, gobernará la barrera de acceso de los coches. Además, si se cuenta con una impresora 3D, es posible diseñar y fabricar ciertos elementos que intervengan en el proyecto.

En la página oficial de Arduino se pueden encontrar bastantes ejemplos que bien pueden servir para su trabajo en el aula. El software proporcionado por Arduino es totalmente gratuito y está disponible para los sistemas operativos Windows, Linux y MacOs, existiendo en cualquier caso una versión online accesible mediante un navegador. Por su parte, el hardware tiene un coste contenido. Así, por ejemplo, una placa Arduino UNO puede rondar un coste de unos 25 euros.

Aunque donde más partido se le puede sacar es a partir de la Educación Secundaria, la existencia de entornos de programación por bloques y la de robots con todo el hardware incorporado pueden extender su aplicación a etapas más tempranas.

La figura 4 muestra un robot mBot de Makeblock con una placa compatible con Arduino UNO y una serie de sensores y actuadores debidamente instalados para ser controlados por la placa electrónica programable. Además, Makeblock proporciona un entorno de programación por bloques basado en Scratch con la compra del robot.

Con este tipo de soluciones es relativamente sencillo programar un robot para que, por ejemplo, salve los obstáculos que se encuentre a su paso o realizar un robot siguelíneas.

Dependiendo del tiempo que se vaya a dedicar, se puede empezar realizando prácticas guiadas sencillas para el descubrimiento de la herramienta, y terminar con un proyecto más complejo cuya consecución suele suponer un reto y posterior satisfacción para el alumnado.

Ni que decir tiene que existen múltiples concursos robóticos, como Robocampeones, que resultan motivadores para los más jóvenes y que permiten el intercambio de ideas y experiencias.

Metodología y didáctica aplicada

Cada vez más voces dentro del mundo de la educación claman por la necesidad de que nuestro alumnado pase de ser un mero consumidor de tecnología electrónica a conocer los principios y fundamentos de la misma. No solo por el hecho de conocer el mundo en el que viven, cuestión ya de por sí suficientemente importante, sino porque el desarrollo de estas destrezas mejora las habilidades lógicas y de resolución de problemas de los estudiantes. Además, las ventanas que abren a la creatividad de los jóvenes las hacen terriblemente divertidas una vez que superan las lógicas barreras inherentes a su desconocimiento.

Arduino ofrece todo esto. Además, se presta fácilmente y de forma natural a la utilización de distintos tipos de metodologías activas, como el trabajo colaborativo, el aprendizaje basado en proyectos, ABP, o la clase invertida, Flipped Classroom.

Valoración personal

Arduino supone una herramienta de gran utilidad para la consecución de los objetivos en las asignaturas de tecnología, potenciando la capacidad creativa del alumnado, mientras se pone en práctica conceptos de electrónica, control y programación.

No obstante, su grado de aplicación en aula requiere una serie de consideraciones:

  • Número de estudiantes del grupo
  • Grado de conocimientos y capacidad del alumnado
  • Dotación material del centro

Hay que tener en cuenta que la realización de un proyecto con Arduino incluye la puesta en práctica de una serie de competencias que pueden ser complejas para el grado de madurez del alumnado. Determinados proyectos pueden requerir una serie de conocimientos en electrónica y programación que no siempre resultan sencillos para el alumnado y, sin los cuales, el aprovechamiento de esta herramienta no sería óptimo.

Además, en la mayoría de las ocasiones, los recursos materiales tienen que ser compartidos por distintos grupos. Esto supone que los componentes físicos que conforman la electrónica del proyecto tienen que ser montados y desmontados en cada sesión, al menos parcialmente, por lo que, para que la clase sea fructífera, se requiere cierta solvencia por parte del alumnado en estas lides.

No obstante, como se ha comentado anteriormente, existen alternativas, desde simuladores hasta kits completos, pasando por entornos de programación por bloques, que ofrecen distintas aproximaciones a esta tecnología.

Es muy importante en este aspecto la habilidad del profesorado en elegir las herramientas y los proyectos adecuados en función de los recursos, el tiempo disponible y de la destreza del alumnado.

A pesar de estas consideraciones, Arduino representa una gran oportunidad para trabajar las competencias tecnológicas, suponiendo una gran fuente de motivación.

Recomendación final

Desde mi punto de vista, es muy recomendable ir trabajando de forma incremental con el alumnado las distintas tecnologías involucradas en un proyecto con Arduino. De esta manera, se puede trabajar la competencia en circuitos electrónicos mediante, primero, simuladores eléctricos y, seguidamente, mediante prácticas específicas de taller. En cuanto a las habilidades de programación, se puede trabajar previamente con otros entornos de programación similares a Arduino como, por ejemplo, Processing.

A continuación, suele dar buen resultado realizar prácticas sencillas guiadas donde se van descubriendo las posibilidades que ofrece Arduino combinado con distinto tipo de componentes electrónicos. Finalmente, se propone un proyecto donde el alumnado pone en práctica todo el saber hacer que ha ido adquiriendo previamente.

Por último, resulta altamente recomendable que todo este trabajo se realice en pequeños grupos de forma colaborativa.

Información y materiales complementarios

En la página oficial de Arduino se puede encontrar el software del entorno de desarrollo, así como una amplia gama de información.

En esta web se puede seguir un curso de iniciación a Arduino muy interesante creado por David Cuartielles, uno de los coofundadores de Arduino.

En el blog de Javier Fernández Panadero podemos encontrar un útil manual de prácticas de Arduino con Visualino.

En Tinkercad podemos encontrar, entre otros recursos, el simulador de Arduino, junto con un centro de ayuda.

La página web Processing se puede descargar el entorno de programación de Processing y también contiene gran cantidad de recursos para iniciarse el mundo de la programación a través de esta plataforma.