Ambos dispositivos son placas de desarrollo y, como tales, mucha gente tiende a compararlos y quiere saber cuál es mejor. Sin embargo, Raspberry Pi y Arduino son dos plataformas muy diferentes y que no son comparables, ya que han sido diseñados para propósitos distintos. En este artículo te vamos a contar en qué se diferencian Raspberry Pi vs Arduino y para qué se utiliza cada uno de ellos.
Habréis oído hablar de proyectos relacionados tanto con Raspberry Pi como con Arduino, para el usuario profano ambos parecen ser un conjunto de chips desnudos sobre una placa, pero las diferencias son suficientemente grandes como para que estemos hablando de dos piezas de hardware completamente diferentes si las comparamos.
Para empezar, Raspberry Pi es una placa de desarrollo, pero que en realidad es todo un ordenador. Es lo suficientemente potente para realizar tareas básicas, multimedia, programar y compilar programas que se ejecuten en él. Por su parte, Arduino es una plataforma de creación de código abierto basada en hardware y software libre que ofrece la plataforma Arduino IDE (entorno de desarrollo integrado), un sistema de programación para crear programas específicos para las placas Arduino, las cuales se basan en un microcontrolador. Un microcontrolador es un tipo de procesador que integra en su interior todos los elementos necesarios que tiene un ordenador básico, por lo que en el mismo chip almacena RAM y programa. Debido a ello tienen poca memoria y se utilizan para tareas muy sencillas y concretas.
Raspberry Pi vs Arduino, ¿en qué se diferencian?
Empezando por el hardware, solo tenéis que mirar la siguiente tabla para ver que se trata de dos piezas radicalmente distintas.
Raspberry Pi 3 Model B | Raspberry Pi Zero | Raspberry Pi 2 Model B | Raspberry Pi Model B+ | Raspberry Pi 4 | Arduino Uno | |
---|---|---|---|---|---|---|
SoC | BCM2837 | BCM2835 | BCM2836 | BCM2835 | BCM2711 | ATmega328 |
CPU | Quad Cortex A54 @ 1.2 GHz | ARM11 @ 1 GHz | Quad Cortex A7 @ 900 MHz | ARM11 @ 700 MHz | Quad Cortex-A72 @ 1.5 GHz | 16 MHz |
Set de instrucciones | ARMv8-A | ARMv6 | ARMv7-A | ARMv6 | ARMv8 | Arduino IDE |
GPU | VideoCore IV 400 MHz | VideoCore IV 250 MHz | VideoCore IV 250 MHz | VideoCore IV 250 MHz | VideoCore VI | ATmega328 |
RAM | 1 GB SDRAM | 512 MB SDRAM | 1 GB SDRAM | 512 MB SDRAM | 1GB, 2 GB, 4 GB (dependiendo del modelo) | 2 KB |
Almacenamiento | MicroSD | MicroSD | MicroSD | MicroSD | MicroSD | EEPROM 1 KB |
Ethernet | 10/100 | No | 10/100 | 10/100 | 10/100/1000 | No |
Wireless | 802.11n / Bluetooth 4.0 | No | No | No | 802.11ac, Bluetooth 5.0, BLE | No |
Salidas de vídeo | HDMI / Composite | HDMI / Composite | HDMI / Composite | HDMI / Composite | 2 × micro-HDMI | No |
Salidas de audio | HDMI / Auriculares | HDMI | HDMI / Auriculares | HDMI / Auriculares | HDMI / Auriculares | No |
Es más, Arduino ni tan siquiera ejecuta un sistema operativo, ya que solo es capaz de ejecutar un programa a la vez y es por ello que no requiere de sistema operativo alguno. Lo que hará será ejecutar de manera recursiva y repetitiva, el mismo programa, hasta que reciba una señal externa que termine dicha función. Por lo que Arduino es ideal para construir periféricos sencillos y hacerlos interaccionar con un PC. También podemos usarlo para construir electrodomésticos sencillos.
En cambio, una Raspberry Pi es un ordenador de toda la vida, si bien hace uso de un procesador ARM con gráfica integrada, la realidad es que su almacenamiento y RAM son externas al chip principal y tiene la capacidad de ejecutar un sistema operativo complejo. Lo que significa que tiene soporte para multitarea y puede realizar varias cosas al mismo tiempo. Eso sí, resulta una mala idea utilizar esta placa para cosas que serían posibles con algo más sencillo, como por ejemplo una placa Arduino.
En la siguiente tabla vamos a poneros las diferencias fundamentales de ambas plataformas.
Raspberry Pi | Arduino |
---|---|
Es un mini PC que puede ejecutar múltiples programas al mismo tiempo | Es un micro controlador, parte de un ordenador, que ejecuta un único programa una y otra vez. |
Es complicado hacerlo funcionar con batería. | Está pensado para funcionar con batería. |
Requiere tareas complejas como instalar librerías y software para interactuar con sensores y otros componentes. | Sus componentes y sensores funcionan de manera integrada. |
Es caro en relación a Arduino. | Es barato. |
Se conecta fácilmente a Internet con su puerto RJ-45 o con WiFi por USB. | Requiere hardware externo para conectarse a Internet y hay que programarlo utilizando código para que funcione. No está pensado para conectar a Internet. |
No tiene almacenamiento, pero puede usar su ranura micro SD para ello. | Puede venir con almacenamiento integrado. |
Tiene 4 puertos USB para conectar distintos dispositivos. | Solo tiene un puerto USB Type-B hembra para conectarlo a un PC. |
Utiliza procesadores ARM. | Utiliza un procesador de familia AVR. |
Debemos apagarlo correctamente para que no haya riesgo de corrupción de archivos. | Es un dispositivo plug and play. |
El lenguaje de programación recomendado es Python, pero puede usar C, C++ y Ruby también. | Solo utiliza Arduino y C/C++. |
Como podéis ver en la tabla, las diferencias son más que evidentes, y es que de hecho no son comparables porque a pesar de que estéticamente parecen ser componentes parecidos, poco tienen que ver el uno con el otro. Llegando al extremo, podríamos usar una Raspberry Pi para programar una placa Arduino conectando la una a la otra mediante USB.
Raspberry Pi y Arduino realmente son complementarios
Ahora que hemos visto que se trata de dos sistemas totalmente distintos, creemos que es importante eliminar uno de los mitos existentes con Arduino respecto a Raspberry Pi. Y es que a simple vista nos puede parecer que el abanico de posibilidades que da una Raspberry Pi es enorme, especialmente en comparación con Arduino. Es todo un mini PC, y con tan solo meterle un sistema operativo en una micro SD podremos utilizarlo, por ejemplo, como estación multimedia para reproducir contenidos en una TV, para programar utilizando una distribución de Linux (Raspbian), como servidor de archivos, como controlador de dominio… las posibilidades son inmensas.
Sin embargo, como hemos dicho antes, Arduino es ideal para crear periféricos externos, por ejemplo, si somos lo suficientemente manitas podemos crear unos auriculares, unos altavoces, un teclado tanto musical como para escribir e incluso un mando para juegos. No solo esto, sino que si sois aficionados a la robótica, entonces usaréis varias placas Arduino para controlar diferentes funciones.
Claro está, que hemos de tener en cuenta que debido a que un microcontrolador necesitaremos hardware externo, el cual nos permita actualizar el programa interno de nuestro Arduino. Pensad que un microcontrolador al tener el almacenamiento interno en el chip solo tiene pines de entrada que sirven para programarlos. Sin embargo, Arduino, al contrario de otros microcontroladores como los famosos PIC, no requieren del aprendizaje de un lenguaje ensamblador especial, sino que se utiliza C++, en concreto una librería especial. Esto ha facilitado su implementación como placa para proyectos amateur dentro del mundo de la electrónica.
¿Cuál es mejor para el usuario sin experiencia?
En el caso de que quieras meterte en el mundo de la electrónica digital te vas a encontrar con una gran cantidad de proyectos sencillos de hacer que hacen uso de Arduino, en cambio, has de visionar a Raspberry Pi como un ordenador completo en sí mismo. No olvidemos que Arduino no es algo que ejecute un programa como lo entendemos desde el punto de vista del software y esto es importante para entender las diferencias entre ambos conceptos.
Cuando hablamos de un programa en un microcontrolador nos referimos a una serie de instrucciones para una tarea concreta. Por ejemplo, tu lavadora tiene una serie de botones para seleccionar programa, temperatura, ponerla en marcha y apagarla. No necesita más que eso para funcionar.Es un microcontrolador tipo Arduino el que lo controla y no una Raspberry Pi. El motivo es que no necesita más que eso para funciona, no va a realizar más tarea que esa y es un desperdició de tiempo y recursos en ese caso.
Por lo que pertenecen a mundos distintos y, por tanto, no podemos decir cuál es mejor para un usuario sin experiencia. Comprar una Raspberry Pi y efectuar proyectos con esta es diferente a hacerlo con una placa Arduino. Aunque al final te vas a encontrar que ambos mundos acabaran colisionando en un momento dado y para ciertos proyectos que hagas. En todo caso, nosotros recomendamos aprender de los dos mundos, no solo por la curiosidad de hacerlo, sino por el hecho que ambos dispositivos son sumamente útiles.