Friday, July 04, 2008

El Lego para los que hacen electrónica

Lego es el popular juguete para niños que consiste en todo género de ladrillos de plástico (de múltiples colores), para armar desde la más elemental figura hasta crear verdaderas obras de arte. A diferencia del Meccano, que tiene piezas metálicas, rondanas e incluso hasta motores eléctricos, los cubos Lego están diseñados para que los puedan usar incluso niños de 4 años en adelante. De ser simples cubos plásticos, Lego ahora tiene una colección de muñequitos, controladores especiales, ruedas, motores simples, etc., de manera que el niño con tendencias para armar cosas puede pasar muchas horas jugando con lo que esta firma produce.

Para los adultos, particularmente aquellos orientados a la electrónica, he descubierto que hay algo similar al juego de Lego. ¿Su nombre? los microcontroladores. De acuerdo a Wikipedia: "Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es decir, se trata de un computador completo en un solo circuito integrado".

Hace no muchos años de esto, existía las tarjetas con microprocesadores (por ejemplo, el microprocesador de la Apple //e, el 6502), las cuales contenían incluso un pequeño teclado hexadecimal, un display de cuatro líneas, así como una buena cantidad de bytes de memoria (en general era de 16K a 48K bytes). Uno programaba normalmente la tarjetita escribiendo con elt eclado incluido los códigos en hexadecimal lo que iba en cada byte de la memoria. Existía en el ROM de la tarjeta un programita (llamado programa Monitor), que permitía ejecutar código, alimentarlo, ver los registros del procesador, depurar (debugear), etc.

Hoy día, eso -desde luego- está superado. Ahora los microcontroladores se programan en un lenguaje de alto nivel (como C), el cual se puede instalar en la PC y conectar el microcontrolador a la máquina para generar código que pueda ser usado en la tarjeta del microcontrolador. Se acabó el alimentar la información del programa a mano, y mejor aún, ya no hay que ensamblar el código (que se escribía con un ensamblador de la máquina que estábamos usando), pues el compilador de C (especial para estas faenas), tiene un "cross code assembler", es decir, se ejecuta en la PC (normalmente en Windows), y genera código que entiende el microcontrolador.

Los microcontroladores actuales se venden en diferentes modelos, colores y sabores. Yo me acabo de hacer de un kit de desarrollo y experimentación (muy parecido al que se ve en la segunda ilustración). El microcontrolador que estoy aprendiendo a usar es el MSP430 de Texas Instrument, y el sistema contiene todo lo necesario para experimentar con el hardware a través del software. La idea en el fondo es la misma que con Lego. No hay que saber electrónica digital a alto nivel para generar proyectos de electrónica. Se puede usar un microcontrolador, que contiene entradas, salidas, puertos, memoria, CPU, etc., y ver si las ideas funcionan, programando esto en C (creo que hay además compilador de Forth e intérprete de BASIC. Sigo leyendo sobre esto). Así, gracias a este Lego para electrónicos se simplifica la problemática de crear prototipos, de echar andar ideas o de simplemente jugar con un microprocesador que contiene todo para que ejecute una labor particular.

Próximamente hablaré más sobre este kit y algunas experiencias programándolo. Para mí esto es un mundo nuevo y como me dijo Fernando Angeles, físico también, del Instituto de Astronomía de la UNAM: "es un pecado el no saber usarlos".

5 comments:

Luis said...

Te felcito.
excelente proyecto, piensas compartir tus ideas de diseño (no los planos) para montar algo semejante pero con dsPICs.
feliz dia y sigue con tu gran trabajo
Luis

Morsa said...

Hola, Luis,

tengo algunos proyectillos y bueno, etsoy en la etapa de hacerme de toda la información posible. Seguiremos informando.

saludos
Manuel

Gabriel said...

Manny Boy:

Padre el post, sobre todo por recordarme el Mecano. Entré a la liga de la página argentina y justo encontré la caja y el color del manual que yo tenía.

La página es un hermoso tributo al Mecano.

Un cuate mío de la infancia, construyó un teleférico desde la puerta de su casa hasta su cuarto, con un motorcito que venía con su mecano, y funcionaba a todo dar. (curiosamente cerca de donde fuimos a comer con Fernando el otro día).

Yo me pasé n-horas armando y desarmando todo lo que decía el manual y luego haciendo mis cosas propias. Al grado de que si todavía lo venden yo creo que pronto me voy a volver a comprar uno.

Pero curiosamente me tenía fascinado el manual, pues podías construír cosas bastante complejas, lo genial eran las grúas y no sé si terminaste de armar el buque petrolero, ese era el proyecto más complejo. Era un manual total y absolutamente claro, con diagramas de cosas complejas, pero perfectamente entendibles, sin embargo creo que lo que más me llamaba la atención (circa 7 u 8 años de edad) era que viniera en varios idiomas, creo que con ese sólo hecho mi imaginación viajaba aún más a esos países. ¡Qué tiempos aquellos señor don Simón!

Lo de los Lego-bots lo platicaba hace relativamente poco con tu hermano Juan. Está cool el asunto.

----

Luis, mucho gusto en conocerte y déjame felicitarte por tus tres blogs, son interesantes, divertidos y muy amenos. El de robótica está simplemente fabuloso.

¡Tenías que ser Virgo! el mejor signo del zodiaco, para los que nos gustan este tipo de cosas. Aunque yo soy del año del Dragón...

Estáte pendiente del blog del amigo Manuel (Aka. La Morsa) porque trae unas ideas bastante divertidas, junto con el Fer Ángeles. Creo que próximamente encontrarás cosas que seguramente te van a interesar.

Un saludo hasta Colombia, la tierra del buen café, hermosas mujeres y de las arepas (creo que así se escribe).

Saludos,

Gabriel

trompis said...

hola que onda!! esta bueno el post... supongo q t refieres al Lego Mindstorms NXT... hace como 6 meses dieron una conferencia en mi escuela acerca de este kit... y lo programaban con el Microsoft Robotics, un nuevo software dedicado especialmente a la programacion de este tipo de sistemas... y la verdad esta muy bueno el software + el kit lego...es muy intuitivo y facil de usar... de hecho el Robotics trae un simulador para ir viendo como va quedando... en la conferencia en menos de 15 min se armo un cochecito que se podia manejar con un control de XBOX, o tambien con un Smartphone via bluetooth. La verdad es un muy buen avance. Puedes crear cosas mas complejas con menos tiempo y esfuerzo.

saludos

esta muy bueno el blog

Morsa said...

Trompis,

Sé que Lego hace cosas ya sofisticadísimas pero yo me compré el kit de desarrollo del MSP430 de Texas Instrument, el cual se programa en C y el kit que terngo incluso tiene acceso a Internet.

Ahora que empiece a jugar con él pondré algunos mensajes sobre mi experiencia al respecto.

saludos
Manuel