"A través de una grata experiencia dentro de la comunidad tecnológica en el país, he visto surgir la interrogante de si la tarjeta Arduino es solo para principiantes. Mi recomendación es que uses la tarjeta y no te limites al software".
________________________________________
Por: César A. Sena Director de Desarrollo Innovaciones Sena
He tenido la oportunidad de utilizar diferentes plataformas y apreciar sus fortalezas y debilidades. Los primeros microcontroladores que aprendí a utilizar fueron los PIC de Microchip.
En un principio manejaba el lenguaje ensamblador utilizando MPLAB. Luego de varios proyectos entendí que la eficiencia era muy baja recurriendo a este lenguaje; se perdía mucho tiempo realizando operaciones triviales. Por tal razón, aprendí a utilizar C++ embebido primero con MikroC y luego con CCS C Compiler.
Al hacer estos cambios, surgió exactamente la misma duda.
Muchos pensaban que utilizar un lenguaje de alto nivel era más fácil y por tanto era el adecuado para los “novatos”; en realidad, es todo lo contrario. ¡Mientras mejor eres en el área, más fácil es para los demás seguir tus pasos! La razón: con la experiencia aprendes a hacer un trabajo eficiente, evitando perdidas de tiempo. Esto te permite concentrarte en las complicaciones transcendentales de tu proyecto.
Cuando utilicé Arduino por primera vez, entendí que había dado un gran paso. Antes tenía que construir una tarjeta que siempre terminaba causando inconvenientes. Había que diseñarla desde el PCB, utilizando todas las protecciones posibles, sacrificando el tamaño de la misma.
Al final, todo el tiempo que había invertido solo era para iniciar un verdadero proyecto, el cual ya viene con sus propias complicaciones. ¡Arduino viene listo para su uso! Tienes una tarjeta probada, con bastantes protecciones, una terminación robusta y un microcontrolador poderoso. Además, no necesitas un programador extra para utilizarla, solo un cable USB. ¡Una maravilla!
¿Cuál es la desventaja?
Arduino fue inicialmente diseñada para introducir jóvenes a la programación y la robótica. Razón por la cual su software es bastante fácil de utilizar, pero limitante. Si solo utilizas Arduino IDE, no aprenderás a manejar realmente un microcontrolador. A diferencia de los demás softwares, Arduino IDE ya viene preconfigurado.
No tienes por qué conocer los registros y funcionalidades que tiene tu dispositivo.
Si te limitas de esta manera, cuando necesites enfrentar un proyecto retador, te faltarán las herramientas y la experiencia para encontrar una solución. Además, si solo te dedicas a descargar las librerías que necesites, cuando surja una contrariedad (que, desde mi experiencia, siempre sucede) no sabrás ni siquiera por dónde empezar.
Solución
¡Usa la tarjeta, no te límites al software! Arduino y sus derivados son tarjetas basadas en microcontroladores (usualmente PIC o Atmel). Por tanto, todas las herramientas antes aprendidas funcionan perfectamente. El compilador de ARM es de licencia libre y puedes utilizarlo tanto en Windows como en Linux.
Existen un sin número de editores de texto y de IDE basados en estos principios. Si tienes un programador AVR, puedes conectarte directamente al microcontrolador y configurarlo como quieras. Además, los diagramas esquemáticos del Arduino también son de libre acceso.
La mayoría de las librerías que utiliza Arduino están escritas en C++. Puedes abrirlas, editarlas o aún mejor, crear una propia. La ingeniería no se trata de pasar trabajo, sino de encontrar soluciones. Soluciones eficaces que aporten a nuestra comunidad.