Pages Menu
TwitterFacebook



BANNER2_ALT

Posted by on Mar 17, 2015 in Basicos generales, E. Otros | 16 comments

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

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

Arduino vs Microcontrolador

Arduino vs Microcontrolador

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, 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 (dígase PIC, AVR, ST, Freescale, TI, entre otros), similares a los debates clásicos de PIC vs AVR o PC vs MAC. Vamos a revisar algunas de las ventajas y desventajas de esta tarjeta de desarrollo en contra de los microcontroladores (generalizando los de la gama).

VENTAJAS DE MICROCONTROLADORES

Microcontrolador

Microcontrolador

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.

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, donde 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

Arduino UNO

Arduino UNO

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.

Un entorno de desarrollo minimalista, no es precisamente una ventaja para un proyecto profesional o parar analizar miles de líneas de código, sin embargo, si lo es para la mayoría de desarrollos a los que está orientado Arduino. Podemos descargar el Arduino IDE y comenzar a programar en menos de 20 minutos, en algunos IDEs (si no es que en la mayoría) necesitamos descargar el IDE y además el compilador en C, como el C18 o C30 para los PICs y dsPICs respectivamente, o el WinAVR para los AVRs. Ademas de el aspecto de licencias que eso no lo tocaremos como ventaja o desventaja por el momento.

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. Son pocas las tarjetas que hacen uso de esta tecnologia, la mayoria de tarjetas de desarrollo acoplan un programador ICSP embebidos en sus tarjetas de prueba o desarrollo.

CONCLUSIÓN: Arduino vs microcontroladores

Conclusiones Arduino vs Microcontrolador

Conclusiones Arduino vs Microcontrolador

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.

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. Saludos,,, excelente articulo, en lo personal no conocia ni conozco el microcontrolador, soy lic en informatica y como la naturaleza de todo informatico es curiosear,he probado arduino y se me ha facilitado. he autoaprendido sin necesidad de conocer la parte de electronica, solo lo basico, entradas salidas,voltajes, ETC.

    Me gustaria ampliaran mas el uso de microcontrolador. Y en efecto, al parecer ninguno de los 2 es el vencedor. Pero la balanza se inclina un poco mas por arduino, me gustaria publicaran que tipo de proyectos se pueden realizar con estos 2 fabulosos “objetos” XD

    • Hola, claro estaremos publicando proyectos y tutoriales continuamente, saludos.

  2. Saludos Richneet, soy Ing en electrónica, tengo gran cantidad de información acerca de los PICs, además tengo experiencia en los PICs si te interesa escribeme e intercambiamos ideas, yo se poco de los arduinos, pero tengo varios proyectos con PICS…

    • Hola excelente, estaria genial si quisieras compartir tus ideas en el site, cualquier duda me puedes enviar un correo a ruben.estrada(arroba)hetpro.com.mx

  3. Excelente, Soy estudiante de Mecatronica de bachillerato y en la escuela me enseñaron arduino, cuando inicie las practicas profesionales en una empresa utilizaban un microcontrolador PICAXE y debo decir que lo que aprendi de arduino me sirvio mucho para aprender mas hacerca de otros micros

    En mi opinion arduino es mas didactico, para aprender a programar

    • Gracias por tu comentario, un excelente ejemplo de como arduino es una plataforma que te ayuda para aprender otras herramientas, saludos.

  4. muy buen aporte aunque tengo dudas ya se utilizar el arduino pero quisiera ayuda debido a que estoy haciendo un minisumo y por cuestiones de espacio que me recomendarian utilizar.

  5. Excelente información. Solucioné muchas dudas con esta información.
    Gracias por compartir el conocimiento.

  6. Arduino sirve mucho para aprender y hacer proyectos rápidos y funcionales; pero los Microcontroladores ya sea que programes en C o en Assembler te permiten como ustedes ya dijeron, conocer todos los recursos de los que dispones y no solo usarlos por que sí como suele pasar mucho con Arduino. Igual a la hora de buscar trabajo, muchos suelen valorar más el que hayas usado Pics,ATmegas o FPGA´s que un Arduino.

    • Muchas gracias por tu comentario Alan, tienes razón. Igual, creemos que los tiempos están cambiando y Arduino más que algo que tienes que amar o odiar es una herramienta más y sera más valorado alguien que maneje los 2 que solo 1.

  7. En mi opinión arduino es mas didáctico y te facilita mucho a la hora de realizar algún proyecto cuando apenas te inicias en el fascinante mundo de los sistemas embebidos. A mi me encanta arduino, tengo poca experiencia con el. Pero sin embargo veo también el potencial de los microcontroladores, aunque en efecto tienes que entender mas cuestiones de electrónica.

  8. Totalmente de acuerdo con el articulo. Si bien Arduino puede representar ventajas de facilidad de aprendizaje, es bueno experimentar y trabajar con otras tarjetas, dispositivos y plataformas.

    Me parece que para las personas que son neófitos en esto de la electrónica y no cuentan con alguna asesoria, Arduino es muy buena opción.

    En contraste, si tienes experiencia con otras plataformas y tarjetas es mejor explorar las posibilidades que ofrecen otras opciones del mercado.

    No hay que casarse con una marca o plataforma específica, si tienes conocimientos más amplios puedes flexibilizar tus proyectos, optimizarlos y garantizar el éxito en ellos.

  9. Estoy de acuerdo con todos los comentarios, cabe resaltar también que el núcleo de la placa arduino UNO es el microcontrolador atmega 328p. La gran ventaja que tiene arduino es la interface de comunicación con el usuario por eso la facilidad para utilizarlo. Yo también me inicie con arduino, es genial. Ahora voy incursionando con los microcontroladores pic.

    • Hola agradecemos tu comentario

Post a Reply

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *