Raspberry Pi o Arduino, ¿qué plataforma elegir?

Arduino_vs_raspberry

Los ordenadores single-board (SBC), o de una sola placa, se han vuelto muy populares en las últimas décadas debido a sus capacidades para ser usadas como placas de desarrollo y como aprendizaje para principiantes. Arduino y Raspberry Pi son las plataformas más comunes en el mercado para adentrarse en el mundo maker y de la programación. Ambas están pensadas para que con sus placas de desarrollo puedas desarrollar todo tipo de proyectos, pero tienen filosofías diferentes. 

¿Qué es Raspberry Pi

Aunque tiene el tamaño de una tarjeta de crédito, la serie de Raspberry Pi es un miniordenador completamente funcional, ya que tiene memoria dedicada, tarjeta gráfica y un procesador. La placa puede incluso ejecutar el sistema operativo Linux (versión especialmente diseñada) y es fácil de instalar en la mayoría del software Linux, por lo tanto, permite la codificación en varios lenguajes (Python y C++ sobretodo). Las placas fueron desarrolladas por la empresa Raspberry Pi Foundation en 2012 para fomentar el aprendizaje básico de la informática en las escuelas, junto con los países en desarrollo. Aunque están diseñadas solo para la enseñanza, las placas se han vuelto más populares de lo previsto y se han utilizado en aplicaciones de alta gama como la robótica.

En nuestro catálogo puedes encontrar su último modelo, la Raspberry Pi 4 Model B con 3 versiones de RAM:

Raspberry_Pi

Referencia B0068 - Raspberry Pi 4 Model B 1.5GHz 2GB RAM

Referencia B0069 - Raspberry Pi 4 Model B 1.5GHz 4GB RAM

Referencia B0074 - Raspberry Pi 4 Model B 1.5GHz 8GB RAM

¿Qué es Arduino?

Arduino es un microordenador de una sola placa que consta de tres características principales. El primero es la plataforma de prototipos de hardware, el segundo es el lenguaje Arduino y, por último, pero no menos importante, el entorno de desarrollo integrado (IDE) y las bibliotecas. Una placa Arduino es más un microcontrolador que una computadora completa. Una placa Arduino no puede ejecutar un sistema operativo, pero el código se puede escribir y ejecutar como lo interpreta su programa de software permanente. La función principal de la placa Arduino es interactuar con dispositivos y sensores secundarios, lo que la hace ideal para proyectos que requieren una complejidad mínima y solo funcionan en el sensor o las entradas manuales.

Arduino_Uno

Referencia BAR66 - Arduino Uno Original Rev3

Tabela comparativa

 

 

ARDUINO UNO Rev 3

RASPBERRY PI  3 Model B+

RASPBERRY PI  4 Model B

Familia

Alf-Egil Bogen Vegard Wollan RISC microcontroller (AVR)

Advanced RISC Machines (ARM)

Advanced RISC Machines (ARM)

Núcleo

-

Cortex-A53 64-bit

Cortex-A72 (ARM v8) 64-bit

Nº de núcleos

-

4

4

SoC

ATmega328

BCM2837B0

BCM2711

Memoria (RAM)

0.002MB

1GB DDR2

1/2/4/8GB LPDDR4

Velocidad del reloj

16 MHz

1.4GHz

1.5GHz

Conectividad red

No

RJ45 Ethernet 10/100

RJ45 Ethernet 10/100/1000

Wireless

No

WiFi 802.11 b/g/n/ac Doble banda

Bluetooth® 4.2 BLE

WiFi 802.11 b/g/n/ac Doble banda

Bluetooth® 5.0 BLE

Sistema Operativo

Ninguno

Distribuciones Linux

Distribuciones Linux

Pines de E/S

20

40

40

Almacenamiento

32 kb almacenamiento

microSD hasta 32GB

microSD hasta 32GB

Salida Audio

No

Analógico por jack 3.5mm

Analógico por jack 3.5mm

Salida Video

No

HDMI

Video analógico compartido por jack

2x microHDMI 4K

Video analógico compartido por jack

Puertos USB

No

4 USB2.0

4 (2x USB3.0 + 2x USB2.0)

Interfaces

I2C, SPI, Serial

I2C, SPI, Serial, CSI, DSI

I2C, SPI, Serial, CSI, DSI

Multitarea

No

Si

Si

Voltaje entrada

7-12V

5V

5V

Alimentación

USB-B / Conector jack

USB-C

USB-C

Lenguajes usados

C/C++

Python, HTML 5 y JavaScript

Python, HTML 5 y JavaScript

Dimensiones

68.6x53.4 mm

85.6x56.5x11 mm

85.6x56.5x11 mm

Referencia

Referencia BAR66

Referencia B0045

Referencia B0068/69/74

Precio

21.99€

41.50€

54.99/59.90/82.90€ (2/4/8GB)

Diferencias entre Arduino y Raspberry pi

Si bien sus características son diferentes, junto con sus capacidades, todo se reduce a qué placa será perfecta para su proyecto. A continuación, vamos a discutir las diferentes características de Arduino y Raspberry Pi y haremos una comparación entre las características más destacables para ayudarte a elegir la mejor plataforma posible para tus proyectos.

1. Filosofía

Como se ha avanzado, ambas plataformas tienen un aspecto en sus placas bastante parecido y coinciden en que sirven para crear proyectos de electrónica. Ambas plataformas apuestan porque estos proyectos tengan un software de código abierto, pero en lo respectivo al hardware son diferentes. Arduino tiene también el hardware abierto, lo que quiere decir que cualquiera puede crear sus propias versiones de las placas. Sin embargo, Raspberry Foundation mantiene una filosofía de hardware propio, teniendo el control sobre la creación y fabricación de estas placas.

2. Curva de aprendizaje

Como hemos comentado anteriormente, Pi es mucho más una computadora y Arduino es esencialmente una puerta de entrada al mundo de la programación. En general, Arduino es mucho más fácil de aprender ya que tiene una barrera de entrada mucho más baja. Si tiene poco o ningún conocimiento en informática y programación, pero desea comenzar, Arduino es la elección correcta para ti.

Por otro lado, las personas con experiencia en informática Unix o Linux pueden optar fácilmente por Raspberry Pi, ya que se puede cargar fácilmente con una versión especial de Linux creada explícitamente para el hardware Raspberry Pi. Una vez que el sistema operativo está instalado, es como trabajar en cualquier máquina Linux.

3. Sencillez

La placa Arduino es mucho más sencilla de usar en comparación con Raspberry Pi. Arduino se puede conectar fácilmente con sensores analógicos y otros componentes electrónicos utilizando solo unas pocas líneas de código. Por el contrario, es muy complicado leer las entradas de los sensores, ya que requiere la instalación de varias bibliotecas y software para crear una interfaz entre la placa y los sensores y otros componentes electrónicos. La codificación en Arduino también es más fácil que en Raspberry Pi, esta última requiere conocimientos de Linux y sus comandos como es de esperar.

4. Lenguajes de programación disponibles

El miniordenador Raspberry Pi fue diseñado con la idea de animar a los más jóvenes a incorporarse al campo de la programación. El Pi en Raspberry Pi proviene del lenguaje Python, que denota su uso en el ordenador. Aunque Raspberry Pi ha adoptado una serie de lenguajes de programación en el poco tiempo que existe, por lo que se ha convertido en la opción principal para un amplio grupo de programadores. Algunos de los lenguajes que están disponibles para su uso en Raspberry Pi son Scratch, Python, HTML 5, JavaScript, JQuery, Java, C, C ++, Perl y Erlang.

En el caso de Arduino, lo más normal es conocer la Arduino IDE, una interfaz de usuario multiplataforma que se utiliza para escribir y cargar programas en la placa. Está escrito en lenguaje de programación Java y ayuda a cualquiera a comenzar a programar con Arduino con bastante facilidad. Pero en proyectos de alta gama, el IDE de Arduino actúa como un límite en lo que se puede hacer. Si no desea utilizar el IDE, puede codificar el Arduino utilizando el lenguaje C ++.

Hay muchas otras herramientas disponibles para que los principiantes y profesionales las utilicen mientras programan en Arduino. Una de esas herramientas es ArduBlock, que ayuda a los principiantes con una experiencia mínima o nula en programación a visualizar su código en lugar de escribirlo, ayudándoles a comprender la lógica. Otra herramienta de base visual es Snap4Arduino, que se centra menos en la programación, pero más en ayudar al usuario a comprender cómo funciona, ya que está diseñada para audiencias un poco mayores. Otros lenguajes que se pueden usar directa o indirectamente a través de comunicadores externos son C # y Python.

5. Capacidades de red

Las capacidades de red de Raspberry superan a las de Arduino por una distancia considerable. La Raspberry Pi 3 tiene capacidad de conexión inalámbrica y Bluetooth. También puede conectarse a Internet mediante Ethernet. La placa viene con 1 puerto HDMI, 4 puertos USB, un puerto de cámara, 1 puerto Micro USB, 1 puerto LCD y 1 puerto de pantalla DSI, lo que lo hace ideal para una variedad de aplicaciones. Sin embargo, por otro lado, los puertos Arduino no están diseñados para la conectividad de red directamente. Aunque es posible, requerirá un chip adicional equipado con un puerto Ethernet, que requerirá más cableado y codificación, así como el gasto de puertos y un coste.

6. Velocidad del procesador

La diferencia en la velocidad del procesador entre Raspberry Pi y Arduino es bastante clara y amplia, lo que se debe al hecho antes mencionado, que la primera es un ordenador en pleno funcionamiento mientras que la otra es un microprocesador. Comparando la velocidad de reloj de la placa Arduino Uno y la placa Raspberry Pi Model B, están tienen las velocidades de 16 MHz y 700 MHz respectivamente. Por lo tanto, el dispositivo Raspberry es 40 veces más rápido que la placa Arduino. Además, la placa Pi tiene una asombrosa cantidad de 128.000 veces más RAM que la placa Arduino, que tiene una RAM de 0,002 MB.

Una cosa importante para recordar es que Arduino es solo un dispositivo plug and play y se puede encender y apagar en cualquier momento sin ningún daño. Pero la Raspberry Pi se ejecuta en un sistema operativo y es una computadora completa en sí misma, lo que requiere un apagado adecuado antes de que se corte la energía. El apagado incorrecto de Raspberry Pi podría dañar la placa, corromper las aplicaciones e incluso afectar la velocidad del procesador.

7. Pines de Entrada/Salida (I/O)

Los pines de E/S de un ordenador de placa única son los que le permiten hablar con otros dispositivos conectados a él. Por ejemplo, si desea activar un motor o encender un LED con tu placa única, necesitas estos pines de E/S para realizar estas tareas. Por ejemplo, la Raspberry Pi Modelo 2 tiene 17 pines de E/S para ofrecer, mientras que la placa Arduino Uno incluye 20 pines.

Otro aspecto fundamental a tener en cuenta es la resolución temporal a la que la placa puede controlar estos pines. Como la Raspberry Pi es una computadora completa, su CPU podría estar ocupada por muchas otras tareas, lo que puede causar dificultades para reducir el tiempo de control al mínimo. Sin embargo, en el caso de Arduino, la entrada se puede monitorear a un valor mínimo de tiempo para cambiar la salida al nivel deseado.

8. Software

Con lo respectivo al software propio de cada placa, ambas tienen un funcionamiento diferente. En Arduino, cuando enchufas la placa, se ejecuta inmediatamente el programa que este subido, sin embargo, en Raspberry, al requerir de un sistema operativo completo para usarse, su encendido es más lento. De este modo, su apagado también lo es, ya que al igual que un ordenador, hay que apagarlo o puede sufrir daños.

Esto puede repercutir en los proyectos, puesto que el simple encendido de un LED, conlleva que en Raspberry tengas que instalarle librerías para controlar los puertos donde lo vayas a conectar, comprar el programa y ejecutarlo. En Arduino bastaría con conectar una resistencia y el LED a un puerto, y poner unas líneas de código. 

9. Consumo de energía

Debido a su potente procesador (comparativamente), la placa Pi requiere una fuente de alimentación continua de 5V y puede o no funcionar idealmente cuando se alimenta con baterías. Pero la placa Arduino puede funcionar sin problemas con una batería, debido a sus bajos requisitos de energía. Sin embargo, el consumo de energía puede variar a medida que aumenta la cantidad de dispositivos conectados.

10. Almacenamiento

La placa Arduino básica viene con un almacenamiento de 32 KB para almacenar el código, que proporciona instrucciones a las placas. Esto es suficiente ya que el almacenamiento no se utilizará para aplicaciones, videos y fotos. En Pi, sin embargo, no viene con ningún almacenamiento, pero es compatible con tarjetas microSD que permite al usuario agregar tanto almacenamiento como desee.

11. Disponibilidad y popularidad

Tanto las placas Arduino como las Raspberry Pi han sido aclamadas por un gran número de personas de todo el mundo. Debido a su gran popularidad, las placas Arduino y Raspberry Pi están disponibles actualmente para su compra a través de proveedores o de la misma empresa. En comparación, el Arduino es mucho más económico que las placas Raspberry Pi debido a sus capacidades limitadas. Las placas Arduino cuestan generalmente 15€ o más dependiendo de la versión, mientras que la placa Pi le costará alrededor de 30€ o más dependiendo de la versión. El coste puede aumentar, como es de esperar, con las placas de alta gama.

Pros y contras

Hablemos ahora de los puntos fuertes y débiles de cada plataforma, y en que usos destacan más. Para empezar, ya vemos que Arduino no tiene como punto fuerte la memoria de la placa, su frecuencia de procesador ni su potencia de cálculo. Su punto fuerte es la facilidad de conectarse con el mundo, mediante sensores digitales y analógicos simples podemos realizar multitud de proyectos. Esto se debe a la facilidad que tiene su software para activar/desactivar las entradas y salidas de sus puertos digitales y analógicos.

Esto permite a Arduino trabajar de forma simple con sensores de temperatura, proximidad, humedad, luz, presión y demás, simplemente instalando las librerías necesarias y usando unas pocas líneas de código. 

Arduino UNO R3 tiene 14 pines I/0 digitales (de los cuales 6 son utilizables como salidas PWM), 6 entradas analógicas con 16MHz y un conector USB y un ICSP. En cuanto a su versión superior MEGA cuenta con 54 pines I/O digital (15 utilizables como PWM), 16 entradas analógicas y 4 UART. Arduino dispone de muchos tipos de placas, cada una con sus propias ventajas e incluso sensores propios para una conectividad estupenda en tu proyecto concreto. A todo esto, siempre le puedes añadir innumerables shields, tanto para conectividad GPS, WiFi, radio de largo alcance, como displays táctiles. 

Raspberry Pi por el contrario, si tiene potencia de cálculo y mejor memoria y capacidades multimedia, pudiendo reproducir video hasta en HD, salida de audio y de video compuesto. Sin embargo, no tiene las mismas capacidades de interconexión ni se cuenta con todos los shields de Arduino. No obstante, si que cuenta, y cada vez más, con shields conectables mediante los conectores GPIO, I2S, etc. 

Otra característica destacable, es las cámaras propietarias de las que dispone Raspberry Pi, teniendo varias opciones, inclusive un modelo de cámara para hacer fotografía de infrarrojos. En este tema, las cámaras dan mejores resultados y posibilidades, ya que puede sustituir a un ordenador en tareas simples como grabación de vídeo o incluso análisis de imágenes. En internet puedes encontrar muchos proyectos e información relacionados con cámaras de ambas plataformas, pero quien ofrece mejor calidad en este aspecto es son las Raspberry, pudiendo usarse hasta para reconocimiento facial.

Por último, comentar también la multitud de periféricos cómo teclados, pantallas, ratones; y carcasas, estilo GameBoy, retro hasta con ventilación para las placas Raspberry que existen en el mercado, lo cual hacen que trabajar con ellas resulte más agradable a la vista.

Comparaciones en IoT

 

Como regla general, Arduino se usa en los sistemas con tareas repetitivas simples que implican solo una acción a la vez. Por ejemplo, usando pines, puede conectar a la placa un sensor analógico que monitorea la humedad en la habitación y programarlo para que encienda un humidificador cuando el nivel de humedad descienda a un cierto nivel. En muchos casos, Arduino será una solución más eficiente en costos y esfuerzos en comparación con Pi.

Por otra parte, la Raspberry Pi es más rápida y potente, puede realizar múltiples tareas y ejecutar funciones más complejas que Arduino. Esto incluye ejecutar la reproducción de medios, realizar cálculos y recopilar varios parámetros al mismo tiempo. Entonces, por ejemplo, si un sistema de IoT necesita recopilar datos de varios sensores, extraer datos de Internet, conectarse a un teléfono inteligente y proporcionar una salida compleja en una pantalla, Raspberry Pi es la opción correcta.

Comparaciones en Robótica

Si está tratando de decidir si usar un Arduino o una Raspberry Pi para robótica, primero querrá considerar su nivel de programación y habilidad electrónica. Si eres 100% nuevo en robótica, Arduino es una forma menos confusa de comenzar. Sin embargo, si tiene experiencia en Linux o Python, pero es nuevo en robótica, Raspberry Pi podría ser un poco más fácil de probar primero.

Comparaciones en CNC

El CNC o control numérico por computadora es un sistema que permite el control de la posición de un elemento montado en el interior de una máquina-herramienta mediante un software especialmente diseñado para ello. Este software se puede implementar en ambas plataformas, pero Con Arduino necesitarías de mayor complejidad y de una pantalla LCD, o de un ordenador. Sin embargo, con Raspberry y su conectividad no necesitarías un ordenador para ello.

¿Cómo empezar el trabajo? ¿Qué hay que aprender?

Tanto para Arduino como para Raspberry hay muchos tutoriales, tanto en sus blogs como en cualquier otro, incluidos nuestros tutoriales y guías. 

En Arduino tendrías que aprender a usar el Arduino IDE, y avanzar poco a poco en su lenguaje de programación, así como en la correcta instalación de librerías. Como ya hemos dicho, existen softwares como Ardublock que ayudan a entenderte en tus primeros pasos.

También existen muchos kits con los que empezar a desarrollar proyectos de cualquier nivel, ya que Arduino está preparada para usar multitud de componentes.

Como distribuidores oficiales de Arduino, tienes a la disposición tanto sus kits preparados, como los nuestros propios de Solectro:

 

Arduino_kit

Referencia KA002 - Arduino Starter Kit – Español

 

Si ya tienes la placa Arduino UNO, te recomendamos el kit Starter Medio, que viene con todo lo necesario para realizar proyectos de iniciación: multitud de sensores, leds, cables, Protoboard, manual en español, etc.

Arduino_kit_2

Referencia B0081 - Kit de Iniciación - Arduino Starter Kit Medio (Sin placa)

En cuanto a Raspberry, hay también muchos tutoriales, libros y demás, que te enseñarán a usar la Raspberry Pi, con el sistema operativo y el lenguaje de programación que elijas, de manera sencilla y con ejemplos. Podrás ir avanzando y buscando componentes necesarios para realizar cada vez proyectos más complejos. Por supuesto, existen muchos kits, los cuales recomendamos, ya que les mejor que comprar los accesorios por separado, ya que estos son necesarios. Recomendamos los siguientes kits:

 

Raspberry Kit

Referencia RA093 - Raspberry Pi 4 - 4GB Kit Básico

Grove_kit

Referencia SS006  - Kit Seeed Grove Base para Raspberry

 

¿Cuál es la mejor para principiantes y por dónde empezar?

Podemos decir, por lo explicado anteriormente, que debes usar Arduino si estás buscando crear un prototipo rápidamente o iniciarte en proyectos simples, y por un precio asequible. Debido a que Arduino tiene una pequeña curva de aprendizaje, es una gran placa para principiantes que buscan programar electrónica y robots.

Por otro lado, si ya tienes conocimientos en Linux y puedes necesitar más funciones y potencia de procesamiento puedes decantarte por una Raspberry Pi. También recomendamos usar Raspberry Pi si eres un fabricante intermedio que busca obtener habilidades de robótica más avanzadas. La Raspberry Pi te permitirá desarrollar algoritmos de reconocimiento facial, ejecutar OpenCV, codificar en Python y desarrollar aplicaciones en Node-RED. Y no puedes hacer estas cosas en Arduino.

Conclusiones

Como conclusión, podemos decir algo que probablemente ya has intuido. ¿Cuál es mejor? Pues para proyectos simples y para principiantes, comienza con Arduino por su coste más bajo y su curva de aprendizaje más corta. 

Para estudiantes más avanzados y proyectos más complejos, decántate por Raspberry Pi, aunque su curva de aprendizaje sea mayor, te dará más opciones y mayor conectividad.

Si todavía tienes dudas, ¡no dudes en escribirnos!

Artículos relacionados

Share