Arduino vs Raspberri Pi. ¿Solo? 1

Arduino vs Raspberri Pi

Placas electrónicas para todos los gustos

En la literatura de internet podemos encontrar muchos tipos de respuesta a la pregunta Arduino vs Raspberry Pi. Pero la gran mayoría realiza una comparativa de componentes. Yo considero que primero hay que saber que es cada cosa antes de opinar, por lo que vamos a hacer un pequeño resumen:

Arduino:

Placa Arduino UNO
Placa Arduino UNO

Es una plataforma de hardware libre formada por una placa de circuito, un microcontrolador Atmel AVR y una serie de puertos entrada/salida analógicos y digitales. Contiene una conexión USB por la que se puede alimentar  y/o conectar con un PC. Gracias a esta conexión podemos modificar la codificación del micro o las comunicaciones. Contiene una memoria Flash.

Fue diseñado para facilitar el uso de la electrónica. Adaptable a sencillos circuitos o a grandes proyectos multidisciplinares. Todo gracias a su amplio número de pines, a una gran gama de shield o módulos, y a la variedad de librerías que podemos encontrar al tratarse de un producto de software libre.

En este momento hay una buena gama de placas Arduino, como las más genéricas UNO, MEGA, o las más dedicadas como Yún, con lector de tarjetas SD. La diferencia principal entre estas placas es el microcontrolador usado y la cantidad de pines. Todos los micros son de la familia ATmega, dada su sencillez y bajo coste.

En cuanto al software, utiliza una variación de C++ en alto nivel que es capaz de comunicarse con un gran número de lenguajes mediante la comunicación por puerto serial. Puede programarse tanto desde su propio entorno, Arduino IDE, como en Atmel Studio o instalando un plugin en otros entornos como Visual Studio.  Podemos encontrar una gran cantidad de funciones básicas en alguna de las tres partes de la biblioteca C asociada, AVR Libc, o en alguna de las específicas como EPROM, Servo, etc.

Raspberry Pi:

Placa Raspberry Pi
Placa Raspberry Pi

Es un miniordenador de placa reducida o única de tipo SCB. Incorpora un chip Broadcom BCM2835 con procesador central ARM de hasta 1GHz, una unidad de memoria RAM, procesador gráfico dedicado con GPU y soporte para tarjetas SD de almacenamiento. También integra conectores de USB, audio, video RCA, LAN, HDMI, un alimentador y una serie de conectores GPIOs.

Diseñado de forma libre por la fundación Rasberry, para trabajar con esta placa hay que instalarse un SO dedicado y ofrecido por ellos, basado en el SO Debian de Linux llamado Raspbian. Aunque podemos recurrir a otras distribuciones. El lenguaje de programación más usado para comunicarse con la Raspberry es Phyton pero también soporta C, Perl, Ruby o BASIC.

Podemos encontrar algunos módulos para aumentar las capacidades de la placa. Y con las conexiones integradas podemos realizar casi cualquier cosa. Más ahora con la nueva Raspberry Pi 2, mucho más potente que la original.


Por lo tanto podemos concluir que Arduino es una placa con microcontrolador preparada para conectarse a un gran abanico de periféricos para aumentar su potencia. Pero solo es una placa que controla el resto y a la que debemos acceder externamente para programar. Por el contrario, Raspberry Pi es un miniordenador. En su propia placa tiene casi todo lo que se puede necesitar.

La clave, a mi parecer, más allá de cuál tiene más memoria o frecuencia es que, aunque con ambas podemos llegar a realizar casi todos nuestros proyectos, la elección de placa depende más de del tipo de proyecto que de la capacidad de cada una. Por ejemplo, una Raspberry para controlar una serie de LEDs o un simple servomotor, quizás sea matar moscas a cañonazos, pero es mucho más adecuada para comunicaciones que un Arduino con uno o varios shields.

Y por otro lado… ¿Todo acaba aquí? ¿Solo podemos elegir entre estas dos placas?

La respuesta es no.

Existen en el mercado una buena variedad de placas tanto a nivel más industrial como de prestaciones similares a las anteriores. Algunos ejemplos son:

stm32: Una familia de microcontroladores de la compañía ST de 32 bits con procesador ARM, memoria estática y Flash y placas estilo Arduino con puertos USB, CAN, USART, UART, GPIOS, etc. Existe una gran gama de modelos programables en C y Java de bajo costo.

Placa FPGA con display y varias conexiones.
Placa FPGA con display y varias conexiones.

FPGA (Field Programmable Gate Array): Es un dispositivo semiconductor con bloques de lógica reprogramable que pueden reproducir funciones tanto de puertas lógicas como de elementos más complicados. Aunque más lentas, pueden sustituir a los circuitos integrados ASIC reduciendo costes. Sobre todo en los diseños iniciales. Poseen un lenguaje de programación propio basado en C denominado VHDL que puede codificarse tanto mediante líneas de código comunes, como mediante la librería de esquemáticos. Suelen tener aplicaciones industriales ya que pueden integrarse fácilmente en otros esquemas electrónicos.

TI LaunchPad: De la compañía Texas Instruments, es una placa con microcontroladores del tipo  MSP430, memorias RAM y Flash y un número variable de GPIOS para conexiones. Pueden incorporar USB, LCD, EPROMs u otros módulos. Posee software propio distribuido por la misma compañía.

DragonBoard:  De la compañía Qualcomm Technologies, esta placa con CPU de tipo ARM con memoria de hasta 8 GB. Posee soporte para SO Linux y Arduino, gráficos con OpenGL y DirectX, y cámara. Conexiones Wi-Fi, HDMI, USB, Bluetooth y GPS y modulos ampliables de GPIOs, SD, UART, etc.

Resumiendo. Existen una variedad de placas entre las que podemos elegir la que mejor se adapte a nuestro proyecto. Por lo tanto el primer paso que debemos dar a la hora de escoger será tener claro lo que queremos exigirle a la placa y luego buscar la más adecuada a estas necesidades.



Referencias:


Deja un comentario

Una idea sobre “Arduino vs Raspberri Pi. ¿Solo?