miércoles, 18 de mayo de 2011

Arduino and relatives - 101




Los componentes básicos de una plataforma Arduino o relacionados son, en primer lugar el hardware con el cual vamos a interactuar.

En nuestro contexto, y basándonos en artículos anteriores, es el microcontrolador. Veamos algunos de ellos.. todos basados en su precursor y más evolucionado ancestro- Arduino.


La imagen muestra un Arduino UNO. Esta plataforma de desarrollo presenta un número considerable de puertos de entrada y de salida para interactuar con el micro y un puerto USB para contectarlo con nuestro ordenador y poder programarlo o comunicarnos con El vía protocolo serial sobre el USB.

Generalmente utilizamos la energía del puerto USB (+5V) para alimentar el hardware, es decir, conectándolo al ordenador lo energizamos para poder programar el dispositivo.

Algunos parientes de Arduino los podemos encontrar en la red. Por ejemplo el Teensy permite trabajar como lo haríamos con Arduino pero a menor costo.

Los componentes se mantienen muy similares. Un puerto USB que energiza el componente de hardware y permite comunicarnos con El, así como puertos de entrada y salida para ponerlo a hacer algo con el exterior.

Pinguino, como comentaba en un artículo anterior, es una plataforma muy parecida a las anteriores, con la diferencia fundamental de que está basado en un micro PIC. Es muy sencillo de ensamblar desde cero y es muy barato de implementar.


Adicionalmente a los puertos de entrada/salida y USB, podemos encontrar un botón que nos permite resetear el dispositivo. Resetear el mismo permite:

  • Llevar al dispositivo a un estado consistente de inicio.
  • Ejecutar desde cero el programa cargado en El.
  • Generalmente, existe un delta de tiempo antes de iniciar el programa cargado en un micro, que nos permite pasar del IDE el archivo .hex producto de la compilación del programa con el cual deseamos cargarlo. Por tanto, si queremos reprogramar el dispositivo utilizamos el botón de reset y el IDE.
Para más info de arduino pueden ir a esta introducción.

El segundo componente es el IDE, en el cual programamos, compilamos y cargamos nuestro programa en el dispositivo.

El IDE puede verse de la siguiente forma.


También llamado ambiente de desarrollo, el mismo consta de:
  • Editor de Texto, el cual nos permite escribir nuestro código.
  • Area de Mensajes, en donde recibimos los mensajes de compilación y en algunos casos las salidas de la comunicación del dispositivo vía serial.
  • Area de Botones, los cuales nos permiten compilar y cargar nuestro .hex en el dispositivo.
  • Menú, en donde conseguiremos las opciones que el IDE nos ofrece.
El código en arduino se denomina Sketch, lo cual es un nombre diferente a lo que nosotros estamos acostumbrados, pero básicamente es lo mismo que un programa.

Para mayor referencia del ambiente de desarrollo pueden entrar aqui (IDE).

Estos dos componentes básicos son indivisibles si queremos desarrollar, aunque si tenemos el dispositivo programado y en producción, el ambiente de desarrollo no es necesario... solo la energía para alimentar al dispositivo utilizado.

Para obtener el componente de hardware tenemos básicamente dos (2) opciones: lo compramos o lo fabricamos.

Arduino y sus parientes son plataformas de hardware abierto, lo que nos permite obtener los diseños en las páginas web de los fabricantes y fabricarlos nosotros mismos (DIY - Do It Yourself).

Existe toda una tendencia hoy para los que nos gusta tomar los planos o esquemáticos y ejecutar desde cero... los DIYers y los Tinkerers. Los primeros ya los intuimos, los segundos son personas que les gusta reparar y/o esperimentar con máquinas y sus partes.

Lo más sencillo sin duda alguna es buscar algún proveedor local y obtener inicialmente el más modesto de los dispositivos. También podemos fabricarlos, como lo he hecho yo con pinguino... pero esa es otra historia.

Otros componentes de hardware que debemos buscar con nuestro proveedor de electrónica son:

Lista Básica para iniciarnos con un Hello World y entreternernos con algunos ejemplos simples para poder aprender.
  • Protoboard
  • Algunos leds
  • Algunas resistencias de 470 Ohm
  • 1 potenciometro de 10K Ohm
  • 1 switch
  • 1 pulsador
  • cables
  • y algunas herramientas básicas como una pinza y un cortafrio y un tester
Les aseguro que esta lista empezará a crecer muy rápido en lo que le tomen el gusto a esto.

El segundo componente lo obtenemos del fabricante directamente. En las páginas de Arduino, teensy y pinguino podrán conseguir los links desde donde bajarse la versión que más se ajuste al sistema operativo de su preferencia.

En mi caso trabajo con Linux, y aunque es un poco más elaborada la instalación en estos ambientes operativos, no es dificil realmente, aunque en Windows siempre es muy sencillo e intuitivo.

Como lectura complementaria les dejo:


No pierdan de vista a Processing... lo estaremos usando para hacer cosas muy interesantes.



No hay comentarios:

Publicar un comentario