Arduino vs Microcontrolador, reseña y opinión.

Arduino vs microcontroladores

Primero que nada me gustaría comenzar con la primicia que ni yo, ni en HeTPro consideramos mejor o peor el uso de Arduino vs microcontroladores, simplemente creemos que dependiendo del problema a resolver cada uno tendrá sus ventajas y desventajas.

Se dice, que cuando comenzaron a surgir los compiladores en C para sistemas embebidos, los ávidos programadores en Ensamblador (ASM) rechazaron el uso de un lenguaje nuevo en un microcontrolador. ¿Por qué? Quizás por el nivel de optimización menor que ASM. Por el contrario, quizás por el innato rechazo humano al cambio, quizás por la desconfianza de un nuevo sistema o quizás porque no era tan seguro programar en C, entre muchas otras cosas más.

Las razones previamente mencionadas son en parte ciertas. Sin embargo, cualquier programador de sistemas embebidos actual no puede rechazar o negar el impacto que ha llegado a tener el lenguaje C/C++ a pesar del rechazo que tuvo en un principio. Hoy en día C/C++ es el lenguaje más utilizado para programar sistemas embebidos. ¿Entonces qué fue lo que paso?.

Hoy en día, para entrar a tema, podemos ver que existe un debate similar entre el Arduino y los microcontroladores. Por ejemplo PIC, AVR, ST, Freescale, TI, entre otros. También, similares a los debates clásicos de PIC vs AVR o PC vs MAC. Finalmente vamos a revisar algunas de las ventajas y desventajas de esta tarjeta de desarrollo en contra de los microcontroladores (generalizando los de la gama).

Arduino vs Microcontrolador

Arduino vs Microcontrolador

VENTAJAS DE MICROCONTROLADORES

Aprender a programar un microcontrolador en C/C++ modificando sus registros internos, fusibles y revisando su hoja de datos, obliga al usuario a conocer mejor el hardware del dispositivo, lo que da una mayor flexibilidad y optimización. Esto es ideal cuando se buscan definir parámetros finos en nuestro programa los cuales pueden ser vitales en algunas aplicaciones. Como el calculo de tiempos muertos, retardos precisos, aprovechamiento de memoria, etc.

Programar con un microcontrolador y no con una tarjeta de desarrollo, se aprende un poco más acerca de los aspectos analógicos de la electrónica. Esto nos da una ventaja a la hora de crear tarjetas para aplicaciones específicas para nuestros microcontroladores. Como el configurar el capacitor de filtraje (o bypass) correcto para nuestro sistema, el uso de resistencias de pull-up o pull-down, etc.
Usar microcontrolador nos da mayor flexibilidad en los proyectos dedicados. Podemos elegir entre una gama de dispositivos mucho más alta que las diferentes tarjetas Arduino. Parámetros comunes en dispositivos son, que corra a frecuencias mayores o que soporte mayores temperaturas, que tenga más salidas de PWM, que tenga protocolo CAN, etc.

Microcontrolador

Microcontrolador

Si se desconoce el Hardware el precio juega un papel muy importante en proyectos donde se requiere la implementación de nuestro programa para escalas mayores a 1,000 piezas. Por ejemplo veremos que comprar Arduinos no es tan conveniente en precio y tamaño. Sin embargo si podríamos en su debido tiempo solo cargar nuestro programa de Arduino al puro micro, sin embargo eso ya seria tema para otra reseña.

VENTAJAS DE ARDUINO

Una curva de aprendizaje mucho más rápida. Podemos invertir el tiempo invertido en nuestros proyectos para desarrollar otras aplicaciones o aprender cosas nuevas. El alcance de un proyecto en un tiempo delimitado, partiendo de cero, indudablemente con Arduino llegaremos más lejos. No quiere decir que sea más optimo, sin embargo, completamente funcional seguramente.

Una gran comunidad con mentalidad “Open Source”. ¿Para qué hacemos algo que alguien más ya hizo? Recordemos: “Solos llegamos más rápido pero juntos llegamos más lejos”. Y aprovechamos para sugerir que compartan sus resultados y/o avances, bibliotecas, programas, ejemplos, etc.

No necesitas programador! aunque igual puedes instalar el bootloader con casi cualquier microcontrolador. Sin embargo, Arduino lanzo a las masas el uso del bootloader y sigue siendo una de las cosas más cómodas a la hora de usar Arduino. Incluso son pocas las tarjetas que hacen uso de esta tecnología, la mayoría de tarjetas de desarrollo acoplan un programador ICSP embebidos en sus tarjetas de prueba o desarrollo.

Arduino UNO

Arduino UNO

CONCLUSIÓN: Arduino vs microcontroladores

En conclusión, Arduino no es mejor que un microcontrolador, ni viceversa, realmente la discusión en si no tiene muchos fundamentos ya que para cada aplicación vamos a encontrarnos con cosas donde uno tiene mejores prestaciones que el otro. Lo mejor es usar las dos herramientas para formar nuestro propio criterio, y además con la llegada de otras tarjetas de desarrollo con ARM Cortex, SOSc, FPGAs, GPUs, etc. Seria un error grande casarse con Arduino o un microcontrolador y no darse la oportunidad de probar estas tarjetas para tener todavía un panorama más global. Quizas esperabas ver algo asi como “EL GANADOR ES ….” sin embargo, queremos que tu opines y nos cuentes lo que tu creas, quizas en tu experiencia para tus aplicaciones es mejor uno que otro.

Conclusiones Arduino vs Microcontrolador

Conclusiones Arduino vs Microcontrolador

PREGUNTAS Y RESPUESTAS: Arduino vs microcontroladores

DSC09995DSC09973

Vamos a resumir lo antes mencionado en una serie de preguntas y respuestas a manera de ejemplo y reforzando la idea de que “depende de la aplicación”.

¿Quieres realizar un proyecto en un tiempo limitado para presentarlo a tu cliente? Usa Arduino, aunque quizás para pulir el prototipo sea mejor pasarse a un microcontrolador o diseñar tu propia tarjeta basada en el bootloader Arduino.

¿Quieres utilizar una pantalla táctil TFT para controlar y monitorear diferentes parámetros en tu casa? Usa Arduino, existe una gran cantidad de bibliotecas ya probadas para pantallas de este tipo, aprovéchalas!.

¿Tienes pensado lanzar un producto? ¿Ya realizaste tus pruebas y tu objetivo es sacar 10,000 piezas al mercado? Usa un microcontrolador que se adapte mejor al proyecto en presupuesto, tamaño, especificaciones técnicas, etc. El elegir bien un procesador en un proyecto a gran escala te puede evitar dolores de cabeza futuros, siempre ten en mente el GPIO, periféricos, memoria y tiempo esperado de vida.

¿Tienes ya bibliotecas probadas para una familia de microcontroladores que están probadas con un bajo margen de error y quieres seguir usando esas bibliotecas? Usa las bibliotecas probadas para tu microcontrolador y de ser posible compártelas.

¿Necesitas flexibilidad en tu proyecto? Cualquier puede aplicar, pero porque no una FPGA? Sabes cuales son las ventajas de una FPGA? si no, te invitamos a que investigues un poco acerca de ellas, imagina correr varios proceso en paralelo? cambiar tu hardware de manera remota sin tener que desoldar tu IC, etc.

¿No tienes nociones de programación y te interesa usar motores o controlar LEDs? Usa Arduino.

Tienes algún comentario? Porfavor déjalo en la sección de comentarios. Todos sus comentarios son apreciados por el staff de HeTPro.

16 Comments

  1. richneet marzo 29, 2015
    • RUBEN ESTRADA abril 1, 2015
  2. Carlos marzo 29, 2015
    • ruben estrada abril 1, 2015
  3. Adrian L D marzo 31, 2015
    • ruben estrada abril 1, 2015
  4. david jimenez abril 1, 2015
  5. Rigoberto Sánchez abril 15, 2015
  6. Alan noviembre 8, 2015
    • Hector Torres noviembre 9, 2015
  7. Lucy enero 26, 2016
  8. Aurelio Siordia abril 4, 2016
  9. Franz Apaza diciembre 4, 2016
    • Saul Jesus diciembre 5, 2016

Leave a Reply