domingo, 15 de mayo de 2011

Arduino o No Arduino

En artículos anteriores hemos avanzado en el tema teórico de los microcontroladores, lo cual es "Nice" cuando queremos introducirnos a un terreno donde nunca hemos estado. Habiéndolo recorrido con suficiente extensión desde una perspectiva de hobby, creo ya conveniente que vayamos directo a la experimentación.

Pero no iremos directamente a experimentar sin antes escoger que tecnología debemos usar para, desde mi punto de vista, cumplir con tres objetivos:

1) Ser sencillo

Esto es muy importante. Yo soy un fiel creyente que se pueden hacer cosas muy interesantes y útiles sin la necesidad de ser un ingeniero... solo hay que tener conocimientos básicos, ser ávido lector, y tener suficiente curiosidad como para escudriñar temas y llegar a su núcleo para entenderlos lo suficiente como para empezar a crear.

2) Ser Amplio

Tener capacidad de ser utilizado en múltiples aplicaciones.

3) Estar al Alcance

Ser una tecnología accesible a cualquier en muchas partes del mudo, y sobre todo en nuestros países latinoamericanos.

Cuando inicié a investigar acerca de los micros, lo primero que conseguí fue información del microcontrolador más popular de todos los tiempos... el PIC. De este se consiguen todos los modelos y tamaños (pines, memoria, etc), y aunque es relativamente sencillo aprender a programarlos, no cumple fielmente con mi primer objetivo... ser sencillo.

Recuerdo que después de algunas semanas leyendo acerca de ellos y trabajando en simuladores pensé... debe haber otras tecnologías que permitan hacer lo mismo de manera más rápida y sencilla. Con esta idea en mente empecé a buscar como hacer algo basado en PIC que me permitiera no tener que adquirir un programador especializado y además que fuese sencillo... y dando vueltas en la red conseguí a Arduino.

"Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments."

Y en el pequeño concepto obtenido de su página web vemos algo clave: prototyping. Esta es una herramienta de prototipado rápido, lo que permite llevar un concepto de la idea a la práctica de forma muy rápida, además de ser sencillo y flexible, y es suficientemente multipropósito como para cubrir al menos los objetivos 1 y 2.

Inmediatamente después de conseguir a Arduino me dediqué a la tarea de averiguar si lo podía conseguir en algún lugar cercano a mi residencia, lo cual efectivamente conseguí, por lo que el tercer objetivo fue cumplido.

Ahora bien, luego de tener mi primer encuentro con Arduino decidí que este era el microcontrolador para mi, y empecé a estudiarlo y recorrer la red para ver que había. Es asombroso ver como una plataforma abierta puede ser tan masiva y tan apetecible por expertos y principiantes.

Siendo una plataforma abierta se presta para que mucha gente desarrolle y cree cosas nuevas, además de plataformas afines (no clones) que pueden ser alternativas válidas de desarrollo.

Lo interesante de arduino es que ha creado todo un ambiente de desarrollo basado en un lenguaje de programación muy intuitivo y una forma de interactuar con el dispositivo realmente sencillo, por lo que los desarrollos alternativos han buscado aprovechar este esquema y reproducirlo, lo cual permite que alguien que ha estudiado arduino pueda con muy poco esfuerzo intelectual hacer las mismas cosas que con arduino.

Navegando en la red me topé entonces con Teensy. Esta es una plataforma alternativa a arduino mucho más económica y con prestancias similares, a lo cual respondí comprando un Teensy 2.0+.

Luego, buscando cosas acerca de esta plataforma conseguí algo que me pareció más interesante aún... conseguí a Pinguino.

Esta plataforma es un clone de arduino pero basado en el microcontrolador PIC, además de ser muy simple de implementar desde el punto de vista de hardware. Cuando hablo de un clone es que el look-and-feel de su lenguaje de programación, así como la interacción con el micro es muy parecida (para no decir igual) a arduino, lo que permite tener una plataforma de prototipado rápido adicional, amén que es muy barato construir los dos modelos propuestos en hackinglabs.

Pero entonces cual escoger?. Arduino o No Arduino?... esa es la cuestión.

Como mi intención es aprender y escribir acerca de mis experiencias, y pensando en los primeros tres objetivos, creo que el tema no es escoger a arduino como plataforma sino como filosofía. Esto hace que uno pueda comprar un arduino original o adquirir o construir cualquiera de las plataformas alternativas que existen basados en la filosofía de arduino.

En el próximo artículo iniciaremos a arduino y su filosofía y empezaremos a experimentar.

Antes de finalizar quisiera mostrar algo de verdad interesante... es tan masivo el tema de Arduino que hace poco Google lanzó una plataforma de desarrollo para Android basado en arduino.



English Section

In previous articles we have advanced in the theoretical subject of the microcontrollers, which is " Nice" when we want to introduce ourselves to a land where we never have been. Having studied this subject with sufficient extension from a hobby perspective, I think it is the time to go directly to the experimentation arena.

But we can't go to experimentation if we haven't choose which technology is the ideal technology to work on. From my point of view we have to fulfill three objectives first:

1) Simple

This is very important. I am a believing faithful that we can make very useful and interesting things without a Master Degree… The only prerequisites needed is basic knowledge, to be an eager reader, and to have sufficient curiosity to dig in subjects and to arrive at his core to understand them.
.
2) Ample

Have the capacity to be used in multiple applications.

3) everybody's reachable

Need to be an accessible technology to everybody in many parts of the world, and mainly in our Latin American countries.

When I started to investigate about microcontrollers, the first micro that came up was the PIC micro. You can find PIC in all models and sizes (pins, memory, etc), and although this technology is relatively simple to learn and program, does not fulfill my immediate goal faithfully… to be simple.

I remember that after some weeks reading about them and working over simulators I thought… there must have other technologies that allow me to do the same, faster and simpler. With this idea in mind I began to look for something based on PIC that allowed me to program them without a specialized burner and in addition, it had to be simple… and digging out on internet I got Arduino..

"Arduino is an open-source electronics prototyping platform based on, easy-to-uses hardware and software. Its' for intended artists, designers, hobbyists, and anyone interested in creating interactivates objects or environments."

At the small reading above obtained from its Web page we can see something that for me is the key: prototyping. This is a prototyping tool, which allows us to convert a concept from an idea to a final result in a very fast way. Additionally it is simple, flexible, and it is multipurpose.

Immediately after knowing Arduino I dedicated myself to the task of finding out if it could be obtained anywhere near to my place, which indeed I found, reason why the third objective was fulfilled.

After to have my first encounter with Arduino I decided that this was the microcontroller for my projects, and began to study it and looked out on internet to see what is in there about this technology. It is amazing to see how an open platform can be so massive and so tempting for experts or beginners.

As an open platform, a lot of people are developing and creating new things, additionally to create compatible platforms that can be a valid alternative for development.

The most interesting thing of arduino is that the development environment is based on a very intuitive programming language and the way of interacting with the microcontroller is really simple, reason why alternative developments are adopting this technology more and more.

Navigating internet, few days after, I found Teensy. This is an alternative platform but far less expensive than arduino and with similar features, to which I responded buying a Teensy 2.0+.

Then, looking for things related to this platform I obtained something even more interesting to me… Pinguino. This platform is a clone of arduino but based on PIC microcontroller, and it is very simple to implement from the hardware stand point. Understanding by clone that the look-and-feel of its programming language is practically the same as arduino environmet, as well as the interaction with the microcontroller, which allows us to have a fast prototyping platform and it is cheaper than teensy.

But then what to choose?. Arduino or Not Arduino? … that is the question. As my intention is to learn and to write about my experiences, and thinking about the first three objectives, I believe that the goal is not to choose arduino as a platform, but a philosophy. This gives us the ability to have a wide number of platforms related to arduino, learning only one technology.

In the next blog we are going to start introducing arduino and make some hello world examples and experimentation.

... Arduino is so massive that Google launched a developing environment to Android based on Arduino... very nice.



No hay comentarios:

Publicar un comentario