Arduino es una plataforma con un único objetivo: programar un microcontrolador. Todo lo que está en esta placa electrónica está puesto ahí para que cualquier persona (con o sin experiencia) sea capaz de programar y entender qué es un microcontrolador.
Y aunque el término microcontrolador suene a asignatura de una carrera de ingeniería, la realidad es que estamos rodeados de ellos por todas partes. De media en un hogar hay más de 60 microcontroladores repartidos por todos los aparatos eléctricos de nuestra casa: microondas, lavadora, lavaplatos, móvil, televisión, ascensor, etc…
Arduino ha sido capaz de bajar las barreras de entrada a la programación de microcontroladores y la electrónica creando una plataforma que incluye placas electrónicas y software de programación adaptados para que cualquier persona que sepa leer pueda conectar un sensor o actuador a una placa de Arduino y crear sus propios proyectos utilizando la programación y la electrónica.
Esto no nos exime de aprender ya que para programar el microcontrolador, hacen falta conocimientos y esto se adquiere a través de un sistema serio, que funcione y que esté debidamente trazado para conseguir alcanzar el objetivo: hacer tus propios proyectos utilizando Arduino.
Y en este sentido, Luis del Valle, programador y divulgador del software y hardware libre y autor del podcast La Tecnología para Todos, nos cuenta su método para poder dominar y aprender Arduino.
Consciente de los sacrificios y las habilidades que implica aprender Arduino, Luis del Valle pone la firma a su Sistema para aprender a programar con Arduino desde cero. Este sistema (y de cualquier otro) parte del interés, las ganas y la constancia del propio alumno para aprender a programar.
Es un sistema que no excluye a nadie. Da lo mismo si no sabes nada, si has copiado y pegado algún código o si ya has conseguido hacer algún proyecto. La programación, la electrónica y Arduino son mundos con infinitas posibilidades y Luis pone orden a todo esto gracias a un sistema bien estructurado que te lleva paso a paso hasta conseguir hacer tus propios proyectos entendiendo lo que estás haciendo.
Paciencia y constancia, claves para un buen comienzo
En su curso, Luis del Valle es claro en cuanto a lo que se precisa para llegar a ser un buen programador en Arduino: paciencia y un poco de dedicación semanal, aunque sea unas horas. Su curso comienza con una recomendación clara: es vital avanzar y no paralizar el proyecto.
Es preferible recurrir a la técnica del ensayo y error que sufrir del síndrome de parálisis por análisis, que finalmente se traduce en la no obtención de resultados y, por ende, nada en lo que mejorar o aplicar correcciones. Al no avanzar, la frustración aumenta y provoca, en la mayoría de los casos, el abandono del proyecto.
Para evitar esto, Luis del Valle recomienda empezar nuestra formación por lo más elemental: aprender de electrónica y programación. Esto da la base necesaria para aplicar después los conocimientos adquiridos en cuanto a la programación en Arduino y haciendo las lecciones más efectivas.
No obstante, es imprescindible ir aplicando lo aprendido conforme se amplían conocimientos y no esperar al final a realizar un gran proyecto que aglutine distintas variantes temáticas. Conviene dividir el proyecto en fases, tal y como afirma Del Valle, y experimentar con lo aprendido. Esto es vital para crear nuestros propios proyectos y aprender Arduino.
El proceso de prototipado con Arduino
Arduino es una placa orientada al prototipado. “Todo lo que está en la propia placa y el software están pensados para prototipar de una forma muy fácil y rápida”, afirma Del Valle. “Tenemos sensores, actuadores y shields alrededor de Arduino que nos facilitan esta tarea”.
Uno de los errores más comunes es omitir las fases del proyecto y empezar a programar de manera improvisada.
Es una técnica que tanto la experiencia de Del Valle como la de sus alumnos se ha demostrado nefasta. “Se trata de un error muy típico que me encuentro todas las semanas”, comenta Del Valle. Y es que, tal y como nos explica, es necesario plantear el proyecto y plasmarlo con lápiz o bolígrafo sobre el papel antes de continuar.
Para realizarlo correctamente, el planteamiento está dividido en tres pequeños capítulos didácticos. El primero consiste en plasmar la idea general sobre el papel elaborando un sencillo dibujo sin muchas complicaciones pero que incluya las ideas más ambiciosas del proyecto.
La fase dos se centra en acotar las necesidades del proyecto y crear un prototipo mínimo capaz de convertir tu proyecto en una idea funcional. “Si consigues hacer un prototipo mínimo en poco tiempo, no sentirás la frustración de no llevar tu idea a la realidad, algo crucial para aprender Arduino”, explica Del Valle, que insiste en la idea de conocer tus propias limitaciones y sacar todo el partido de los medios con los que dispongas. Obtener resultados con muy poco es un paso de gigante en el proceso de aprendizaje. Mejorar el proyecto y añadir nuevas funcionalidades es más sencillo que apostar por un prototipo demasiado ambicioso que no sea mínimamente funcional.
La última fase del prototipado se centra en dividir y aislar los problemas de tu proyecto para resolverlos uno a uno. Es lo que se conoce como diseño incremental, que consiste en ir retocando todo aquello que no funciona de manera progresiva. Tras ello, ya tendrás una idea más pormenorizada de las acciones necesarias a aplicar para obtener un prototipo mínimamente depurado.
Introducción al software y hardware
El tercer capítulo del curso para aprender a programar en Arduino te mete de lleno en los soportes de programación y te da a conocer las ventajas de utilizar el IDE de Arduino, un entorno de desarrollo específico para programar en Arduino que, tal y como nos cuenta Luis del Valle, “nos permite escribir nuestro código de una forma muy fácil y, sobre todo, con muchas ayudas”, simplificando el ineludible proceso de tener que programar.
Este IDE cuenta, además, con varias versiones gracias a sus constantes actualizaciones, aunque continúa conservando su aspecto para mantener las opciones de su interfaz en las mismas zonas y no entorpecer las tareas de programación.
El curso de Luis del Valle cuenta, además, con una explicación exhaustiva del proceso de instalación, así como la ubicación de las principales opciones para ejecutarlo correctamente y dar tus primeros pasos en el IDE.
Fundamentos y conclusiones
El curso encara la recta final del proceso de aprendizaje con los fundamentos de la programación en Arduino, explicando lo necesario para conseguir una traducción perfecta al utilizar el compilador, que lee el código y lo traduce a código máquina para que sea inteligible para el microcontrolador.
Este es un proceso vital en el transcurso de la programación en Arduino, pero es imprescindible priorizar la progresión a la perfección y no dejar encallado el proyecto en esta fase. Únicamente debes entender los fallos que el compilador te señale y corregirlos para crear un texto perfecto que sea 100% inteligible para el microcontrolador.
Este curso supone todo un compendio de conocimientos sobre Arduino y permite entender qué hay detrás de él, comprender mejor sus funcionalidades y propone ofrecer a quien lo termine una primera toma de contacto con el hardware libre. “Aprender Arduino, como cualquier otra disciplina, requiere de un esfuerzo previo.
Hay que pasar una curva de aprendizaje, sí o sí. Sin embargo, si uno tiene pasión por la electrónica y la programación, parece hasta divertido”, sentencia Luis del Valle, que completa sus cursos de formación en Arduino con otros más enfocados hacia temas como el IoT, con Arduino MKR100 y NodeMCU. “Es un área que me apasiona y que tiene mucho potencial, tanto en el presente como en el futuro”.
No hay que olvidar que el curso abanderado por Luis del Valle es solamente una de las múltiples opciones -y de las más didácticas- para adentrarse en el extenso y complejo mundo de la programación en Arduino. Una de las opciones más recomendables tanto para novatos como para los que quieran ampliar sus conocimientos acerca de la programación en Arduino es la propia página oficial Arduino.cc, la cual no solo cuenta con interesantes artículos acerca de la programación en este sistema y recomendaciones para llevar a buen puerto tus propios proyectos, sino que cuenta con su propio blog y foro de la comunidad para compartir dudas y curiosidades.
También puedes presentar tus propios proyectos desde esta plataforma y adquirir una de las distintas bases Arduino para elaborar tú mismo los prototipos.