Arduino vs Raspberry Pi

Publicado por Loli Diéguez en

Hay infinidad de proyectos basados en Arduino y Raspberry Pi, y cada día salen nuevos proyectos sencillos que se pueden repetir y mejorar, sin embargo, si eres nuevo en el tema, puede ser confuso elegir cual es la mejor.

Aquí tienes una guía para ayudarte a comenzar. Después, cuando estés listo, echa un vistazo a los kits de inicio Arduino  y Raspberry Pi 3B+ , que vienen con todo lo necesario para iniciarte, y si eres de los que les gusta rematar con un libro o guía en papel, mira estos dos libros: Arduino o Raspberry Pi

A lo largo de este articulo nos centraremos en el Arduino modelo UNO R3 y la Raspberry Pi 3

Ambas placas Arduino y Raspberry Pi son bastante similares en funcionalidades y composición, ambas tienen memoria, las dos presentan entradas y salidas, con las dos se pueden sensorizar o actuar sobre elementos...pero la manera en la que hacen estas tareas es donde radica su mayor diferencia.

Arduino comparativa Raspberry Pi

Las dos son placas perfectas para iniciarse en programación y creación de proyectos DIY (Do It Yourself o Hazlo tu mismo). 

Las dos placas han proporcionado plataformas open software y open hardware, sobre las que están proliferando multitud de ideas y proyectos IoT que permiten tomar datos del entorno y actuar en consecuencia. 

Pero, cuando se trata de elegir una en particular, puede existir dudas, ya que es difícil decidir cuál es la mejor opción para un proyecto en particular. Por ello, tenemos aquí una comparativa en profundidad entre las dos placas que te permitirá conocerlas más a fondo para decidir la mejor para tu proyecto.

 

Arduino

Arduino está en los primeros puestos de la lista como la mejor plataforma de código abierto para construir proyectos de electrónica en la actualidad. Arduino se lanzó en 2005 con una plataforma de código abierto para que los usuarios puedan crear proyectos y circuitos interesantes. Proporciona una plataforma interactiva para el desarrollo de software y hardware.

Arduino

 

Raspberry Pi

En 2012, la empresa con sede en el Reino Unido, Raspberry Pi, lanzó un ordenador de una sola placa que podía realizar tareas como un PC normal de escritorio. Eben Upton, fundador de Raspberry Pi, junto con sus compañeros de equipo, introdujo este pequeño ordenador del tamaño de una tarjeta de crédito, inicialmente para fines educativos en escuelas. Pero, poco a poco, se hizo popular entre la comunidad de entusiastas de la electrónica, y ya ha conseguido vender más de 10 millones de unidades de diferentes versiones de Raspberry Pi.

Raspberry Pi

 

 

Arduino Vs Raspberry Pi

Al ser lanzado con el mismo propósito de enseñar, ambos dispositivos se hicieron populares en todo el mundo, especialmente entre los entusiastas DIY. Las dos placas son versátiles y son buenas para algunas cosas específicas. Veamos las diferencias entre Arduino y Raspberry Pi.

  • Un Arduino es un microcontrolador. Un microcontrolador es un ordenador simple que puede ejecutar una sola tarea de forma repetitiva. Es muy fácil de usar.
  • Una Raspberry Pi es un mini ordenador completo que necesita un sistema operativo como Linux y que puede llevar a cabo múltiples tareas, Es un poco mas complejo de usar.
  • Arduino puede ejecutar pequeñas aplicaciones desarrolladas en programación C++, pero no puede ejecutar un sistema operativo completo
  • Raspberry Pi, puede ejecutar un sistema operativo a escala completa para tareas múltiples.
  • Arduino es mejor para controlar pequeños dispositivos como motores, luces, sensores,etc.
  • Raspberry Pi es mejor para aprender e implementar programas para varios proyectos.
  • Arduino está hecho para 'prototipos' electrónicos.
  • La Raspberry Pi es excelente para actuar como un servidor y para comunicarse con otros dispositivos informáticos.
  • Arduino es cómodo y conveniente para hablar con otra máquina.
  • Raspberry Pi se usa mejor cuando se necesita un ordenador completo: conducir un robot más complicado, realizar múltiples tareas, realizar cálculos intensos (como con Bitcoin, aunque esto pondrá la placa a su máximo rendimiento)
  • Arduino es ideal para todo tipo de proyectos de electrónica. Gracias a los pines que tiene se puede conectar directamente a componentes y sensores, y su programación es más rápida lo que permite hacer cambios muy rápidos en tu proyecto a la hora de depurar.
  • Arduino tiene en su memoria el firmware Arduino, un software sencillo que le permite comunicarse con el ordenador al que se conecta a través del puerto USB pudiendo acceder a todos los detalles de la placa.
  • Con Arduino, encender y apagar un LED es una aplicación de 8 lineas de código, mientras que con Raspberry Pi habría que descargarse las librerías para controlar los puertos GPIO.
  • Arduino es perfecto para ejecutar tareas sencillas y repetitivas.
  • Raspberry Pi es mejor para realizar tareas en las que hay que tomar una decisión en función de múltiples variables como comprobar el tiempo en la web, contrastar el valor con sensores y tomar una decisión en consecuencia
  • Arduino cuenta con entradas analógicas y digitales. Las entradas digitales pueden gestionar entre 20 mA.
  • Raspberry Pi solo tiene entradas y salidas digitales, y las salidas digitales solo pueden gestionar hasta 16mA.
  • Tanto Arduino como Raspberry Pi tienen interfaz I2C
  • Arduino tiene un procesador de Atmega328 de 8 bits.
  • Raspberry Pi tiene un procesador 1.2GHz Quad-Core ARM de 64bit.

 

Diferencia de software entre Raspberry Pi y Arduino

Arduino no tiene un software preinstalado, lo que quieres que haga Arduino tendrás que programarlo y cargarlo en la placa, podrás realizar las modificaciones de tu código para trabajar con los dispositivos hardware conectados, pero como no viene con ninguna interfaz o sistema operativo en su IDE (Plataforma de Desarrollo Integrado), deberás cargar directamente en la placa el software o código que diseñes y que Arduino lo ejecute. Puedes configurar instrucciones simples como "abrir la puerta del garaje, cerrar la puerta del garaje, encender la luz, apagarla, etc." o realizar tareas complicadas como hacer un sistema de seguridad para tu casa, una impresora DIY, etc.

En cambio, la Raspberry Pi ejecuta un Sistema Operativo como 'Raspbian' basado en Debian Linux. También puede usar otros sistemas operativos basados ​​en Linux, y también es compatible con el Sistema Operativo Android. Al contrario que con Arduino, para realizar diferentes tipos de tareas, necesitaras instalar aplicaciones en Raspberry Pi o programar en otros lenguajes de programación como Python para realizar las tareas que deseas. También puedes usar la placa Pi como un servidor de películas y puedes escribir tus propios programas y ejecutarlos en la Raspberry Pi, lo cual es una de las mejores razones para su popularidad.

 

Diferencia de hardware

A diferencia del software, las configuraciones de hardware son bastante diferentes entre ambos. Vamos a ver las especificaciones clave para Arduino vs Raspberry Pi.

Energía: cuando conectas la placa Arduino a tu ordenador u otra fuente de energía, comenzará a ejecutar el código cargado en su memoria directamente. Para pararlo, simplemente desconecte la fuente de alimentación, no es necesario apagar la placa manualmente. Mientras que la Raspberry Pi funciona como un ordenador normal, y se debe seguir el proceso de apagado correcto. Ambos dispositivos pueden funcionar durante mucho tiempo sin consumir demasiada electricidad.

USB: Arduino no viene con un puerto USB para comunicarse con otros dispositivos, tiene un solo puerto que se puede conectar a la fuente de alimentación y sirve también para cargar el código en la memoria de la placa Arduino. Mientras que la Raspberry Pi viene con cuatro puertos USB para conectar múltiples dispositivos para alimentación, comunicación y otras necesidades.

Conectividad: la Raspberry Pi 3B+ viene con una interfaz WiFi a 2.4GHz y 5GHz IEEE 802.11.b/g/n/ac, una interfaz Ethernet, así como una interfaz Bluetooth 4.2.  Mientras que el Arduino UNO Rev3 viene sin capacidad de conexión directa en la placa por defecto, aunque esto no implica que no pueda ser conectada a la red, aunque para lograr esto es necesario emplear un hardware adicional o shields que permiten añadir comunicación WiFi, Ethernet o Bluetooth, aunque añadir estas extensiones implica ocupar los puertos del 10 al 13, reduciéndose el número de pines disponibles para tu proyecto.

Almacenamiento: la Raspberry Pi no viene con capacidad de almacenamiento incorporada, pero tiene soporte para tarjetas SD. Arduino viene con un almacenamiento integrado de 32KB para almacenar el código del programa aunque 0.5KB están ya usados por el código de arranque.

Entrada y salida: para conectarse a diferentes dispositivos y hacer que funcionen con elementos externos como sensores y/o actuadores, se requieren pines de Entrada/Salida. Por ejemplo, para arrancar un motor o iluminar la pantalla con un Arduino o Raspberry Pi, se usan los pines de entrada / salida. La Raspberry Pi 3 viene con 40 pines GPIO, mientras que la placa Arduino UNO viene con 20.

 

Diferencias de procesamiento

Arduino UNO: El procesador de el Arduino es un ATmega328P el cual corre a 20 MIPS (millones de instrucciones por segundo). Es de 8 bits de arquitectura AVR RISC, tipo Harvard. La mayoría de sus instrucciones son realizadas en un solo ciclo de operación. La configuración de Arduino tiene un oscilador de 16 Mhz.

Microcontrolador Arduino ATmega328P

Rapsberry Pi: El procesador de la Raspberry Pi 3 es un  BCM2837B0, Cortex-A53. Este es un procesador de alto desempeño y bajo consumo con arquitectura ARM tipo Quad Core que corre a 1.2 Ghz.

Microprocesador SoC Broadcom BCM2837B0, Cortex-A53 64-bit SoC @ 1.4GHz

 

Periféricos y protocolos

Arduino UNO: UART, I2C, SPI, GPIO, PWM, ADC y Comparador, Interrupciones. 

Raspberry Pi: UART, I2C, SPI, GPIO, PWM, USB, Ethernet, WiFi, HDMI.

En este apartado, el Arduino y la Raspberry Pi empatan, si te interesa desplegar una interfaz gráfica, comunicarte mediante WiFi o tener la capacidad de manipular una cámara web mediante USB, la Raspberry Pi sin duda es la mejor candidata. Si lo que necesitas solo es leer datos de un sensor I2C, escribir en una memoria SPI, controlar un GPS o un modulo de comunicación GSM mediante UART, la mejor opción es el Arduino.

 

Consumo de potencia

Las dos placas tienen requisitos de energía muy diferentes. Raspberry Pi 3B+ usa 1.5 vatios en estado de reposo sin periféricos conectados, ahora bien, con un monitor, teclado y ratón el consumo asciende hasta 6.7w  y requiere 5v para funcionar

Por el contrario, Arduino consume muy poca energía, para Arduino sólo es necesario un nivel de energía apropiado  para funcionar y si la energía cae, no terminarás con un sistema operativo corrupto u otros errores de software, simplemente dejara de funcionar y volverá a iniciarse cuando la energía vuelva.

En el caso de Raspberry Pi, debes apagar siguiendo un procedimiento normal como un ordenador, ya que de lo contrario se corre el riesgo de corrupción y problemas de software. 

 

Conectividad

La Raspberry Pi 3 tiene un puerto Ethernet incorporado y conectividad inalámbrica IEEE 802.11.b/g/n/ac, que permite un fácil acceso a cualquier red con poca configuración. Una vez conectado, puedes utilizar el sistema operativo para conectarte a Internet y hacer uso de paginas web, incluso puedes usar tu Pi para publicar tu contenido en Internet.

Por el contrario, los dispositivos Arduino normalmente no están construidos para conectarse a la red directamente desde la placa (salvo algún modelo concreto). Aunque si es posible pero se requiere un poco más de potencia para establecer una conexión adecuada. Se necesita un chip extra equipado con un puerto Ethernet, y también será necesario hacer algo de cableado y programación para que ponerlo todo en funcionamiento.

 

Costo y puesta en marcha

Si nos ponemos en la piel de alguien que por primera vez abre una caja de un Arduino y una Raspberry Pi y se dispone a hacer su primer programa con ambas placas, estaríamos ante el típico momento de hacer el programa que todos hemos hecho alguna vez en nuestra vida de programador....el "Hola Mundo"

En el caso del Arduino, este programa se puede traducir por el "Blink", que se trata de un programa que hace que un LED parpadee, ya sea el que viene en la placa u otro LED que conectemos a uno de los pines de la placa Arduino, pues bien, con esta placa no nos llevaría más de 1 minuto el lograrlo

Con la placa Raspberry pi, suponiendo que ya tengas cierta experiencia, el proceso es un poco más lento. Tienes que conseguir la memoria SD y pre-cargarla con el Sistema Operativo con el que quieres que la Raspberry Pi arranque, después tendrás que conectar los periféricos como monitor, teclado y ratón para poder trabajar con la placa, una vez todo esta conectado, tendrás que escribir el código, que en este caso pueden ser un par de lineas más que en Arduino, así, con todo esto, el proceso de realizar el "Hola mundo" puede llevarte entre 30 minutos y 1 hora.

 

Entorno de desarrollo

Arduino UNO: El entorno de desarrollo gráfico (IDE, por sus siglas en ingles) del Arduino es básico, tiene la interfaz de programación, un botón para validar el código y uno para cargar el código en la memoria de la placa, también tiene la posibilidad de mostrar los datos del puerto serie. Básicamente es todo, sin posibilidad de configurar nada más del sistema ni realizar depuración. Para los que hayan desarrollado código con muchas lineas, es algo tedioso trabajar en este IDE a la hora de depurar el código.

Raspberry Pi: La Raspberry Pi es compatible con muchos programas y lenguajes de programación, puedes usar por ejemplo C++ o Python, solo con eso, tienes muchas posibilidades. Además puedes realizar compilación cruzada, instalar IDEs como Eclipse o QT. Con los que tienes todas las herramientas de un entorno semi-profesional. Sin mencionar que tienes acceso a las bibliotecas de programación para sistemas operativos como Open CV para visión artificial.

 

Comunidad y hardware compatible

En este aspecto, ambas placas son muy parecidas, la comunidad de aficionados y profesionales que da soporte a estas placas es enorme, quizá un poco mas para Arduino pero posiblemente se debe a que apareció mucho antes en el mercado que la Raspberry Pi. En Internet puedes encontrar infinidad de foros, blogs y web en las que puedes buscar ideas para desarrollar o subir tus propias creaciones, esto ha ayudado muchísimo a la comunidad maker a nivel mundial impulsando este movimiento.

 Aquí puede encontrar algunos de los sitios donde inspirarte:

  • Reddit: literalmente el "escaparate de Internet", en el subreddit de Arduino podrás encontrar infinidad de ideas y también podrás ayudar a resolver las dudas de los demás. También puedes encontrar un Subreddit para Raspberry Pi
  • Arduino Playground: Wiki web en la que los usuarios interesados pueden publicar sus propios fragmentos de código, tutoriales, consejos y trucos, pero también presentar sus proyectos u hojearlos.
  • Raspberrypi.org: web oficial del proyecto Raspberry Pi que proporciona información valiosa, desde como conseguir una copia del miniordenador hasta información detallada sobre el software y el hardware , te da también el enlace al foro oficial de Raspberry Pi donde la gran comunidad de usuarios te ayudara a resolver cualquier duda que tengas.
  • RPi Hub: RPi Hub ofrece gran cantidad de información tanto a usuarios con un nivel de iniciación como a usuarios avanzados; guías para elegir la mejor Raspberry Pi, configuración, puesta en marcha, consejos, trucos sobre software y hardware, y mucho más.

 

Arduino Vs Raspberry Pi

Arduino Uno R3 Raspberry Pi 3B+
Procesador AVR ATmega328P ARM Cortex-A53
Velocidad de reloj 16 MHz 1.4GHz
SRAM 2 KB (ATmega328P) 1GB LPDDR2 (900 MHz)
EEPROM 1 KB (ATmega328P) -
Puertos E/S

20 en total

14 digitales de las que 6 con salida PWM

6 analógicas

40 en total, todas digitales
Sistema operativo Ninguno Raspbian, Android, otros sistemas operativos basados ​​en Linux
USB Uno para la entrada o alimentación Cuatro, multipropósito
Almacenamiento 32KB En tarjeta SD
IDE Arduino IDLE, Scratch, o cualquier cosa soportada por Linux
Mejor para Hardware, Prototipado Software, Servidor
Salida de vídeo no si (HDMI)
Puerto Ethernet opcional con placas de ampliacion o shiled Si (Gigabit Ethernet over USB 2.0)
Wifi opcional con placas de ampliacion o shield Si (2.4GHz and 5GHz IEEE 802.11.b/g/n/ac)
Bluetooth opcional con placas de ampliacion o shield Si (Bluetooth 4.2, BLE)
Salida de audio no Si
Salida de vídeo compuesto no Si
Web arduino.cc raspberrypi.org
Energía 7-12v 5V/2.5A DC via micro USB

 

 

Pines Raspberry Pi 3B+

Pinout Raspberry Pi 3B+

 

Pines Arduino Uno Rev 3

Pinout Arduino Uno Rev 3

 

 

Entonces, ¿qué elegir si eres un geek de programación? ¿Arduino o Raspberry Pi?

Ya estamos en el punto que conocemos técnicamente que es cada placa, sus limitaciones y sus puntos fuertes, pero, como friki de la programación, ¿cuál es el mejor? 

Para los proyectos de hardware como temporizadores, sensores , robots, prototipos, Arduino es una buena opción. Por otro lado, para los sistemas de almacenamiento de datos, trabajando como servidor de medios o funcionar como un miniordenador, la Raspberry Pi es excelente.

Pero, espera un minuto. ¿porque no usar estos dos juntos? Suena interesante, ¿no? Ambos dispositivos son económicos y tienen una gran compatibilidad entre ellos, lo que brinda la mejor combinación para que los programadores y aficionados maker trabajen en diferentes proyectos. Desde la creación de un robot hasta un servidor web, las posibilidades son infinitas cuando se combinan ambas placas.

 

¿Hay una regla simple para ayudarme a decidir?

¡Sí la hay! Piensa en lo que quieres hacer. Si puedes describirlo con menos de dos 'y', entonces pilla un Arduino. Si necesitas más de dos 'y', entonces compra una Raspberry Pi.

Ejemplos: 
"Quiero monitorizar mis plantas y hacer que me manden un tweet cuando necesiten agua". Lo mejor seria usar un Arduino.

"Quiero monitorizar mis plantas y hacer que me manden un tweet cuando necesiten agua y si el pronóstico es de mucho calor, que se encienda el sistema de riego y si el pronóstico es de lluvia, que no". Entonces una Raspberry Pi es la opción correcta.

Es una reducción muy simplista de lo que ambas placas pueden hacer pero te puede ayudar a elegir una placa inicial para desarrollar tu idea.

 

Conclusión

Se trata de productos diferentes con distintas funcionalidades, así que compararlos es difícil si no imposible, se trata de dos placas diferentes con objetivos distintos, que ademas se complementan muy bien si las quieres hacer trabajar juntas.

Con todo lo anterior, queda claro que la elección de una u otra placa se deberá mas al deseo de cada uno, si necesitas potencia de cálculo, lo mejor seria Rapsberry Pi, pero si necesitas actuar como interfaz con otros sistemas y no quieres preocuparte por sistemas operativos, entonces la mejor opción es Arduino.

Arduino es un microcontrolador de bajo nivel mientras que Raspberry Pi es un procesador de alto nivel. Para un diseño realmente complejo, puedes hacer que una Raspberry Pi actúe como el "cerebro" y uno o más Arduinos que actúen como los "músculos" y sensores. Y que hablen entre ellos a traves del I2C!.

 

Espero que este articulo te ayude a decidir entre las dos placas!


Compartir esta publicación



← Publicación más antigua Publicación más reciente →