Hay una gran cantidad de diferencias en ambos, como se destacó anteriormente en otras publicaciones: ¿Cuáles son las diferencias entre Arduino y Raspberry Pi?
Por lo tanto, no voy a entrar en ellos.
Actualmente estoy escribiendo trabajos académicos que usan RPi y Arduino. Para algunas publicaciones (aplicaciones) elijo la primera mientras que la segunda para otras.
Sin embargo, compartiré mi opinión sobre por qué “yo” prefiero RPi sobre Arduino o viceversa, en diversas situaciones. Comenzaré con la situación en la que gana Arduino.
- Python y problemas de la biblioteca.
¿Te gusta Arduino (lenguaje tipo C) sobre Python? ¿Requiere que las bibliotecas escritas por otros se utilicen fácilmente en su proyecto?
Al principio, era nuevo en RPi y nuevo en Python. Odiaba totalmente la programación en RPi. Para ser sincero, cuando está construyendo proyectos complejos que involucran pantallas LCD, control de motores y LED, Arduino tiene muchas bibliotecas escritas en C y es mucho más fácil de usar que tratar de usar su equivalente de Python en RPi. Claro, es posible escribir en C en RPi. Sin embargo, aún necesita lidiar con el sistema operativo Linux, que es algo con lo que no querrá lidiar si simplemente lo está utilizando como un microcontrolador. En estas situaciones, Arduino gana.
Esto es especialmente cierto si está utilizando productos sparkfun y adafruit.
2. Entradas analógicas.
¿Necesita entradas analógicas simples para detectar cosas? (voltaje)
Todos y cada uno de los Arduino han incorporado ADC a pesar de que son de 10 bits y no son exactamente precisos. Sin embargo, a veces si está midiendo cosas simples como “ENCENDIDO” “a medio camino” y “APAGADO”, ayuda a no requerir ADC externos dedicados como el ADS1115 conectado a serie, que requiere RPi.
3. Flujo de trabajo de programación.
¿Prefieres programar en arduino (tipo C) en tu escritorio? ¿O Python mientras conecta el teclado / mouse a la placa en sí?
RPi requiere que programes en él (especialmente si estás usando Python) conectando una pantalla y un teclado. Si este es tu flujo de trabajo, bien por ti. De lo contrario, si solo desea conectarlo al USB y al programa, será difícil. (Imposible en el modelo RPi B, posible en Pi Zero con “Modo sin cabeza USB” con una gran molestia para conectarse) También puede configurarlo de forma inalámbrica o por cable (a través de Ethernet). Pero luego tiene que hablar con el sistema operativo Linux y requiere algunos conocimientos básicos de redes.
Luego está todo el argumento Python VS C (o más bien, lenguaje interpretado VS argumento de lenguaje compilado) en el que no entraré.
4. Costo.
¿Cuánto quieres gastar en el proyecto?
Donde vivo, los Arduinos son mucho más baratos que los RPi para una huella similar, especialmente porque puedo obtener los de terceros. Por supuesto, esta no es una comparación justa, ya que no es de manzana a manzana. Entonces es bastante obstinado. No estoy seguro acerca de otros países.
5. Microcontrolador.
¿Necesita funciones de microcontrolador? ¿Estás usando sensores? Motores?
Si necesita una sincronización precisa como PWM, temporizadores, muchos GPIO, entradas analógicas, puertos serie, RPi está fuera de la cuestión. Arduino está diseñado para ser un microcontrolador, mientras que RPi está diseñado para ser una “computadora de placa única”.
Por supuesto, si conecta el RPi a suficiente equipo externo, puede lograr funciones similares de un arduino. ¿Pero por qué la molestia?
¿Y qué hay de RPi? ¿Para qué lo uso y para qué creo que es bueno?
- Programación en Python.
¿Eres nuevo en la programación? ¿Te gusta Python?
Lo mismo que es una pesadilla para algunos puede ser una bendición para otros. Los novatos en programación pueden preferir escribir Python, algo inalcanzable en Arduino o difícil de lograr (por ejemplo, en Yun o Tian). Del mismo modo, si desea la funcionalidad del sistema operativo o la GUI, RPi es el camino a seguir.
2. Redes y IOT.
¿Estás haciendo IOT? ¿Requiere redes en su proyecto?
RPi es más adecuado para IOT que Arduino en mi opinión. A decir verdad, AMBOS pueden usarse para aplicaciones IOT. Tian / Yun (o Uno con protección Ethernet, etc.) puede usarse para un control complicado a través de Internet. Del mismo modo, RPi se puede conectar a un equipo externo para realizar las mismas funciones de microcontrolador mientras está ‘listo para Internet’ o IOT.
3. Potencia de procesamiento / costo.
¿Su proyecto necesita CPU Power? Por ejemplo, reconocimiento de imagen / visión por computadora? ¿Necesita hacer aprendizaje automático / aprendizaje profundo (probablemente en algún servidor back-end) mientras su RPi es front-end?
Cualquier cosa que requiera la potencia de la CPU no se puede hacer en la placa Arduino de un solo chip (Uno, Mega, Micro, etc.). Solo se pueden hacer en cosas como Yun / Tian, etc., donde hay 2 CPU. Uno para el microcontrolador y el otro para ejecutar el sistema operativo (probablemente en una tarjeta SD). Cuando calcula el costo, ¿tiene sentido en comparación con un RPi?
Sip. Mis pocos centavos valen. Espero que te haga el día!