lunes, 3 de enero de 2011

Introducción a los microcontroladores de HW abierto

Me he propuesto realizar una serie de artículos que me permitan mostrar las funcionalidades de los microcontroladores de hw abierto como el Arduino.

Mi principal motivación es la posibilidad de crear pequeños proyectos para realizar multiples funciones; desde crear sistemas de seguridad para mi hogar, pasando por la creación de elementos que permitan interactuar con sensores, hasta jugar con componentes robóticos que nos permitan aprender la interacción humano-micro-robot, en cierta medida.

Otra de las áreas que quisiera explorar es utilizar microcontroladores para automatizar tareas de vuelo de aeromodelos, lo cual es mucho más fácil decirlo que desarrollarlo.

Otro aspecto que estaré explorando en esta serie de árticulos es la interacción inhalámbrica entre dispositivos como el Iphone/iTouch, ya que estos permiten utilizar la WiFi para comunicarnos con un computador que a su vez nos permitirá, en primera instancia, comunicarnos con un microcontrolador Arduino o Teensy!. Este por supuesto es la forma más fácil inicialmente, ya que el objetivo final es comunicar directamente un iphone (un ejemplo) con el microcontrolador sin intermediarios... pero una cosa a la vez.

Para lograr (idealmente todos) los objetivos que he comentado antes, debemos primero entender una cantidad importante de elementos teóricos, desde como funciona un microcontrolador, como debemos modelar su comportamiento, como hemos de diseñar su interacción con el computador o con el exterior, etc.

Será un viaje largo pero interesante de aprendizaje... ya que el fin último de este espacio es aprender para enseñar a quien quiera leer las próximas publicaciones de este blog.


MICROCONTROLADORES

Mi primer ensayo será introducirnos al mundo de los microcontroladores de corte abierto. Un ejemplo de este tipo de micros es el Arduino, del cual he tomado su definión de Wikipedia (por cierto mucho de lo que escribiré está basado en experiencias de muchas personas a las cuales referenciaré en su debido momento).

"Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente."

Mucha información cierto?... bueno, es lo más fácil que he conseguido para definir este tipo de microcontroladores.

Vamos a retroceder un tanto, ya que arduino está basado en microcontroladores, los cuales debemos definir.


"Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: unidad central de procesamiento, memoria y unidades de E/S (entrada/salida)."


Otra definición interesante la podemos encontrar http://www.networkdictionary.com/hardware/m.php

"Microcontroller is a computer-on-a-chip optimised to control electronic devices. It is designed specifically for specific tasks such as controling a specific system, in contrast to a general-purpose microprocessor, the kind used in a PC. A typical microcontroller contains an integrated CPU, all the memory and I/O interfaces needed on the same chip, whereas a general purpose microprocessor requires additional chips to provide these necessary functions. Examples of microcontrollers are Microchip's PIC, the 8051, Intel's 80196, and Motorola's 68HCxx series."

Fíjense como en esta última definición se puede ver como contrastan sus características con un PC, el cual es la forma más habitual de ver un computador.

Arduino o Teensy están basados en microcontroladores como los que hemos definido. Estas plataformas de hardware son fáciles de utilizar, programar y adquirir, por lo que son de forma preferente los dispositivos de hardware a utilizar.

Con estos microcontroladores es posible hace un número infinito de proyectos para multiples funciones, entre las cuales están las que he listado brevemente al principio de este artículo.

En las próximas entregas estaremos ahondando en los detalles que requerimos para crear piezas de HW+SW que permitan realizar desde tareas sencillas (orientadas al aprendizaje) hasta tareas de relativa complejidad.

Stay Tuned!

Proxima Entrega: La plataforma de hardware abierto Arduino!

4 comentarios:

  1. Hola Alejandro, como has estado, tiempo sin saber de ti, interesante articulo,abrazo. Tengo mi blog también: www.cacaoadmin.com, en que andas?

    ResponderEliminar
  2. Hola! Quisiera saber si podrías realizar un post de Microcontroladores for dummies?! Puesto que estoy interesada pero es como si estuviera en otro leguage, es decir no entiendo su artilugio?! jajajajajaja

    ResponderEliminar
    Respuestas
    1. Hola,

      Chequeaste las primeras entradas de este blog?... todos los artículos del año pasado fueron una iniciación a los micros. Te invito a que los leas y cualquier duda preguntes.

      Puedes subscribirte también.

      Saludos

      Eliminar
  3. Espero poder, en artículos sucesivos, ir develando en un lenguaje sencillo (aunque técnico) las posibilidades de estos computadores-in-a-chip.

    ResponderEliminar