Por si acabas de llegar de otro planeta y no sabes que es Arduino, según Wikipedia Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el lenguaje de programación de alto nivel Processing. A pesar de que soporta otros lenguajes de programación, su gran porcentaje de usuarios utiliza el lenguaje propio de Arduino, el cual es muy limitado. Este texto no pretende hablar mal de Arduino, simplemente pretende ubicar para quienes esta diseñado realmente esta famosa plataforma.

Por otro lado, Alteri es una tarjeta de desarrollo basada en el bien conocido microcontrolador PIC18F4550. Actualmente es utilizada por aficionados, estudiantes, maestros y profesionales en diversas áreas de tecnología y en diversas instituciones académicas como medio de aprendizaje del mundo de la programación de microcontroladores.

PIC18F4550

A diferencia de otras plataformas como Arduino, que tienen la finalidad de facilitar la implementación, la filosofía de Alteri es confiar en que el usuario puede desarrollar las habilidades necesarias para implementar los proyectos de hardware y software de manera limpia y eficiente sin necesidad de plataformas que limiten al usuario de conocimientos.

Es por eso que no necesitas un lenguaje de programación especial para programar con Alteri, el desarrollador es libre de elegir el lenguaje de su preferencia, así como el compilador. Hemos educado a nuestros usuarios a realizar proyectos con diferentes compiladores de C para PIC, como por ejemplo CCS, MikroC, XC8, HI-TECH y C18, así como también lenguaje Ensamblador. La respuesta ha sido muy satisfactoria ya que hemos visto el gran aumento de conocimiento acerca de hardware y software que otras plataformas como Arduino no proporcionan.

“No puede conseguirse ningún progreso verdadero con el ideal de facilitar las cosas”. – Hermann Keyserling

Después de todo, Alteri es un medio para llegar a lo más profundo del hardware sin limitar al usuario, ya que al limitarlo el único que pierde es el mismo usuario.

Utilizar plataformas como Arduino para aprender a programar es semejante a usar el horno de microondas para aprender a cocinar. Todos sabemos que el horno de microondas es muy útil para todo tipo de personas, no importa si sabes cocinar o no!, todos sabemos utilizarlo. Cualquier persona que no sabe hacer arroz, puede comprar una bolsa de arroz para microondas, echarlo en un recipiente con agua, darle unos cuantos minutos dentro del microondas y listo el arroz. Pero me pregunto si los estudiantes de cocina y chef profesionales ¿hacen su arroz con microondas o se preocuparon por aprender a hacerlo realmente?.

 

¿Entonces la filosofía de plataformas como Arduino es incorrecta?

 

Nada de eso, el problema está en la filosofía del desarrollador. Arduino nos deja muy claro en la página de inicio de su sitio web lo siguiente:

“Arduino es una plataforma ‘open-source’  basada en hardware y software fácil de usar (easy-to-use). Está dirigido para artistas, diseñadores, aficionados y cualquier persona que realiza proyectos interactivos”.

Es por eso que frecuentemente escucho a mucha gente por ejemplo diseñadores web decir cosas como “me acabo de armar X proyecto con Arduino” ó “Mi plataforma de hardware favorita es Arduino”,y bueno para personas como diseñadores web que no tienen conocimientos avanzados de hardware, plataformas como Arduino les viene excelente. Pero yo me pregunto ¿Qué hacen estudiantes y profesionales dedicados a electrónica, robótica y sistemas embebidos casados con Arduino?, me parece que tienen una perspectiva equivocada de a quiénes está dirigido Arduino.

Así es, Arduino está dirigido para cualquier persona que desea realizar proyectos electrónicos interactivos, es por eso que hay cientos de códigos listos para copiar, pegar y listo funciona! (apuesto que has visto esto mucho en la escuela). Se puede leer fácilmente sensores, establecer fácilmente comunicaciones como USB y Ethernet, que tomarían horas o días para llevarlos a cabo (incluso con conocimientos avanzados de programación). Y sobre todo horas para investigar en internet y libros de ¿por qué no funciona tal cosa? y aclarar dudas de como hacer X cosa.

Después de todo, la manera en que logras el entorno interactivo al realizar tu proyecto con Arduino es divertido, pero no es un buen estándar para aprender a programar y beneficiarte del poder de los sistemas electrónicos.

Hay muchas cosas más que decir pero no quiero abrumarlos por ahora, en la segunda parte continuaremos con aspectos más técnicos acerca de este tema.