Arduino Electrónica Raspberry Pi

¿Qué tarjeta de desarrollo elegir? (Parte 1)

Durante unos meses después de que la Raspberry Pi salió, la elección era bastante simple. Si querías hacer proyectos electrónicos no tan complejos, lo mejor era comprar una tarjeta Arduino; si necesitabas el poder de un procesador basado en ARM para ejecutar Linux, la computadora de placa única (SBC) Raspberry Pi era la elección obvia. (Leáse Arduino o Raspberry Pi para entender mejor este punto).

Antes de Arduino y Raspberry Pi, las cosas eran más complicadas. De cara al futuro, las cosas no sólo son complicadas de nuevo — son desconcertantes. Ahora estamos viendo una explosión de nuevas tarjetas que salen al mercado, y no hay razón para esperar que la tendencia se desacelere en el próximo año o dos. En todo caso, se espera que aparezcan más nuevas tarjetas, no menos — aunque la mayoría de ellas van a desaparecer con la misma rapidez.

No sabemos a ciencia cierta hasta qué momento seguirá esta fiebre por parte de fabricantes y makers para sacar nuevas tarjetas de desarrollo, o si de esta tendencia surgirá una nueva. Mientras tanto conozcamos qué hay más allá de Arduino.

Antes de Arduino

Intel-C4004

La historia del microcontrolador comercial comienza, posiblemente, en 1971, con la llegada del Intel 4004 de 4 bits. Fue el segundo CPU completo de  un solo chip de la historia, y el primero en estar  disponible comercialmente. Su sucesor, el 8008 de 8 bits, sería la base de las primeras computadoras personales.

Otros procesadores de la época — como el Z80 que alimentaba a la TRS-80 en los EE.UU. y a la Sinclair ZX Spectrum en el Reino Unido, así como el 6502 que alimentaba a la Apple II – todavía existen. O al menos sus descendientes inmediatos siguen existiendo, y ahora se utilizan en los denominados “sistemas embebidos.”

Pero fue el microcontrolador PIC de Microchip Technology, que data de 1975, el que se convirtió en la columna vertebral del mercado de los makers durante muchos años, debido a una combinación de factores que incluyen bajo costo, fácil disponibilidad, y la proliferación de herramientas de programación libres. El PIC es un MCU (una unidad completa de microcontrolador) con procesador incorporado, memoria y I/O (in/outs) programables.

Aún disponibles en tiendas hoy en día por menos de 2 dólares un chip, el PIC es un caballo de batalla. Los Microcontroladores PIC pueden ser un poco difíciles de tratar si no estás acostumbrado a la programación C de bajo nivel, por lo que los chips PICAXE (PIC´s estándar preprogramados con el firmware que les permite “entender” BASIC o sencillos lenguajes gráficos de diagrama de flujo) se han convertido en una forma popular de utilizar el PIC, especialmente en la educación. 

Aunque puedes comprar chips PICAXE, si eres nuevo en el tema es probablemente mejor que consigas un kit de iniciación PICAXE diseñado para permitir una fácil experimentación. En general, estas tarjetas kit están hechas para la creación de prototipos y la enseñanza, y no como bases para proyectos independientes.

La tarjeta BASIC Stamp de Parallax — que se programa en otra variante de BASIC — es también una buena alternativa si se quiere utilizar el barato microcontrolador PIC. A diferencia de las tarjetas de desarrollo PICAXE, la BASIC Stamp se vende en módulos independientes de una sola placa, como el Arduino,  que están destinadas a ser el corazón de un proyecto.

La llegada de Arduino

De vez en cuando una pieza de tecnología puede convertirse en una palanca que mueve el mundo. El Arduino es una de esas palancas.

Empezó como un proyecto para dar a los artistas el acceso a los microprocesadores embebidos para proyectos de diseño interactivo. Arduino permite la creación de prototipos electrónicos rápidos y baratos. Éste convirtió  lo que solían ser problemas de hardware bastante difíciles, en problemas de software mucho más simples. Y se ha convertido en el protagonista del movimiento maker en todo el mundo.

Basado en la línea de microcontroladores Atmel AVR de 8 bits, la configuración de sus pines análogos, digitales y otros, se convirtió en un peculiar footprint que ha llegado a ser un estándar de la industria. Es una plataforma de desarrollo sólida, tanto para los hackers de hardware con experiencia como para principiantes.

El verdadero poderío de Arduino no está realmente en el hardware, sino en el software — el IDE de Arduino. Si bien hay muchas otras plataformas que ofrecen una funcionalidad similar, el Arduino ha logrado, de mejor manera, empaquetar los complejos y desordenados detalles de la programación de microcontroladores, en un paquete fácil de usar. Esto ha dado lugar a muchos imitadores y derivados, y una enorme comunidad.

Por ahora Arduino es punto y aparte de las demás plataformas, su importancia es tal, que hoy en día todo maker principiante comienza sus proyectos con Arduino y está influenciando a todo una generación de makers.

arduino-uno

Tessel

Como se mencionó anteriormente, después del éxito de Arduino comenzaron a surgir muchos imitadores que de la misma forma, ofrecían entornos de desarrollo amigables y fáciles de usar, y la Tessel se destaca como un punto de partida interesante. 

A pesar de que tiene un enfoque diferente, Tessel es realmente una continuación de la idea de Arduino — tarjetas que se pueden programar de manera que son familiares para los desarrolladores de software en lugar de los de hardware. El sistema operativo de Tessel es un intérprete de JavaScript construido en torno al tiempo de ejecución de Lua, y es compatible con la API de Node.js

Aunque es lenta en comparación con un motor de JavaScript contemporáneo, la sobrecarga del tiempo de ejecución de Lua que utiliza es pequeño – kilobytes no megabytes – lo que significa que puede funcionar en un ARM Cortex-M3 de $3 dólares. La Tessel no pretende ser una competidora para la Raspberry Pi y otras SBC de “peso completo” basadas en Linux. Es una tarjeta diseñada desde cero para ser parte del Internet de las Cosas (Internet of things).

Tessel

Alternativas de Arduino 

El fenómeno Arduino y sus derivados ha conducido hacia una innovación interesante, y una convergencia en el mercado del microcontrolador.

Launchpad MSP430 

El Texas Instruments MSP430 es muy similar al chip microcontrolador ATmega de Atmel. Las diferencias notables incluyen un precio muy bajo, así como algunas mejoras interesantes para un bajo consumo de energía.  La forma más fácil de familiarizarse es con una tarjeta de desarrollo TI LaunchPad.

La principal diferencia entre LaunchPad y Arduino es el costo. Mientras que un Arduino Uno te costará unos $30 dólares, y un Leonardo $25, el LaunchPad MSP430 sólo $10 directamente de TI o de un distribuidor importante (e incluye un cable USB).

Aunque el chip MSP430G2553, mismo que utiliza la LaunchPad, sólo tiene 14 pines I/O y 16 K de memoria de programa, en comparación con el ATmega328 del Uno (con 32 K y 20 pines I/O), quizás sea todo lo que necesitas para un proyecto en particular. 

Para una generación de makers acostumbrados al fácil uso del IDE de Arduino, el viejo entorno de desarrollo basado en Eclipse del MSP430 parecía demasiado complicado y difícil de usar. Sin embargo, la nueva plataforma de prototipado de código abierto Energia ha cambiado todo eso. 

A menos que necesites algo bastante difícil, la llegada de Energia significa que puedes utilizar la TI LaunchPad casi exactamente como si se tratara de un Arduino.

launchpad_ok

PICAXE contraataca

La casi omnipresencia de la plataforma Arduino ha llevado a muchos sistemas, que no son compatibles con el software, a ser por lo menos compatibles físicamente. El Shield Base PICAXE-28×2 replica la forma de Arduino, estableciendo compatibilidad con los cientos de shields Arduino existentes en el mercado. 

picaxe

Wiring

El gran éxito de Arduino le ha robado un poco de amor y atención a la tarjeta Wiring y su entorno de programación. Probablemente se merece más. La tarjeta está basada en el mismo entorno de desarrollo derivado de Processing del que proviene Arduino — aunque por ahora es una rama un tanto diferente del árbol de la familia — y debe sentirse familiar para cualquiera que esté acostumbrado al IDE de Arduino.

El entorno de programación de Wiring es compatible con cualquier hardware basado en la serie de procesadores AVR de Atmel, no sólo las propias tarjetas Wiring. Y esto incluye la línea de Arduino. 

La última placa, la Wiring S, es similar al viejo Arduino Diecimila, pero con un procesador más grande. Al igual que el Shield Base Picaxe, emparejando la tarjeta con un Shield Play Wiring S hace compatible a sus pines con la forma de Arduino, para que puedas volver a utilizar tus shields Arduino con tus tarjetas Wiring.

img1_22978_1315078643

Netduino

La Netduino también adopta la forma de Arduino — puedes conectar la mayoría de los shields de Arduino existentes. Pero ahí es donde termina la similitud. Hay muchas tarjetas Netduino disponibles, y a diferencia de las tarjetas que hemos conocido hasta ahora, que han sido en torno a microcontroladores de 8 o 16 bits de un tipo u otro, la Netduino es una placa basada en un ARM Cortex construida alrededor del microcontrolador STMicro STM32Fx de 32 bits. 

El sistema operativo de la tarjeta es el NET Micro Framework. Estas tarjetas son programables en C#, directamente desde Microsoft Visual C# Express 2010, y son extremadamente potentes y flexibles. Los desarrolladores de C# en plataformas que no sean Windows no están del todo abandonados, ya que existe cierto apoyo para OS X y Linux. 

netduino

Parallax Propeller

Esta es una alternativa interesante a otros chips microcontroladores en el mercado. Donde casi todos los demás tiene un solo núcleo de procesador, la Propeller tiene ocho.

Eso significa que ocho procesos independientes se pueden ejecutar de forma simultánea, monitoreando y respondiendo a sensores y otras entradas. Piensa en ello como ocho funciones loop() de Arduino ejecutandose simultáneamente. 

Dependiendo de tu aplicación, corriendo procesadores en paralelo en lugar de utilizar interrupciones, puede ser sorprendentemente poderoso, y por $50 dólares, no es mucho más caro que los otras tarjetas microcontroladoras de las que hemos hablado.

Mientras que Propeller está disponible en una variedad de formas — incluyendo el chip al desnudo tanto en paquetes DIP como SMT (Surface-Mount Technology), si lo quieres para la creación de prototipos — al igual que muchos otros fabricantes, Parallax ha adoptado la forma de Arduino para su tarjeta Parallax Propeller ASC+

propeller

Derivados cada vez más pequeños 

Como hemos comentado, el éxito de la Arduino ha dado lugar a que numerosas copias y tarjetas compatibles lleguen al mercado. El sitio de crowdfunding Kickstarter está llena de ellas, algunas asombrosamente exitosas, otras no tanto. Sería imposible mencionarlas a todas, pero hay algunas que destacan, sobre todo debido a su tamaño.

  • El TinyDuino, por ejemplo, es un microcontrolador compatible con Arduino usando el mismo procesador que el Arduino Uno, pero en el tamaño de una moneda de EE.UU. La tarjeta del procesador principal incluye el microcontrolador y circuitería de apoyo, mientras que el USB y los reguladores de alimentación DC (entre otras cosas) se han dejado en los shields. Si no los necesitas para tu proyecto, no tienes que instalarlos. Sin embargo, a pesar de su tamaño, o más probablemente a causa de ello, el TinyDuino cuesta $20 dólares por la tarjeta del procesador principal, más otros $18 para el shield programador USB / PCI que es muy probable que lo necesites. La miniaturización no es barata.

Quarter_Bd_Lrg1-660x385

 

  • La DigiSpark es otra tarjeta pequeña compatible con Arduino. Está construida alrededor del microcontrolador ATtiny85, haciéndolo mucho menos potente que el TinyDuino. Sólo dispone de 6 pines I/O, pero por otro lado, ésta cuesta sólo $9 dólares. Al igual que el TinyDuino, tiene una variedad de kits de shields interesantes que te permitirán extender sus capacidades.

62779e34f1553179532b56e213a64f21

Hasta aquí concluimos con esta primera entrega sobre las tarjetas de desarrollo existentes. Es más que evidente la influencia que tuvo Arduino no sólo en los makers, sino en fabricantes de la talla de Texas Instruments, PICAXE y Parallax. En la segunda entrega, conocerás tarjetas muy interesantes como la BeagleBone, PCDuino y Udoo, sin dejar a un lado a la popular Raspberry Pi.

 

 

8 Comments

  • Reply
    Adrian Martinez
    05/Oct/2014 at 9:34 pm

    Yo prefiero usar mBed, es cientos de veces mas potente que un arduino ya que tiene un uC ARM de 32 bits, ademas de que se programa en C. Las librerías para los periféricos permiten programar aplicaciones complejas en unos minutos.

  • Reply
    David
    25/Nov/2014 at 1:30 pm

    hola! DIsculpen…¿Quién es el autor de éste artículo? está muy bueno

  • Reply
    Ekaitz
    23/Mar/2015 at 8:15 am

    Se os ha olvidado, pasando ya de los clones, el proyecto Pinguino (100% openhardware), basado en algunos de los PICs de gama alta de Microchip Technology.
    http://www.pinguino.cc
    http://wiki.pinguino.cc
    No obstante, artículo muy interesante. Gracias por ofrecer una panorámica global suficientemente amplia de las distintas opciones.

  • Reply
    javier enrique miranda alfaro
    18/Ago/2015 at 3:05 pm

    yo me quedaria con el arduino pues es mas comodo y gasta menos energia auque este no pueda aser lo que otros de mas gangma puedan aser aun asi es buenisimo

    • Reply
      jose
      20/Abr/2016 at 3:32 pm

      para bajo consumo estan los msp430

  • Reply
    Marcos Villavicencio
    10/Jun/2017 at 5:13 pm

    Que tal, espero y me puedas ayudar 🙂 con una duda que tengo
    supongamos que termine mi prototipo hecho con arduino ya funcional y todo
    y ahora me gustaría llevarlo a producción para venderlo o algo así,
    mi duda es que lo sigo desarrollando en arduino o hay algún tipo de tarjeta para
    que pueda hacerlo en producción y salga un poco más barato??
    Si es así tendría que reescribir el código en esa otra tarjeta??
    muchas gracias por la información ☺

  • Reply
    ¿Qué son las tarjetas programables? y ¿Cuántos tipos hay? - Site 2 Emotions
    29/Sep/2023 at 4:23 pm

    […] Las tarjetas programables se pueden usar para crear proyectos de robótica, domótica, Internet de las cosas, arte electrónico y mucho más. Para programarlas se pueden usar diferentes lenguajes de programación, como C, Python, Java o bloques visuales. Las tarjetas programables son una herramienta muy útil para aprender a programar y desarrollar la c…2. […]

Responder a Ekaitz Cancel Reply

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.