Cuando el mundo no se acababa con Arduino…
Ey! ¿Qué pasa por ahí? (Típica pregunta introductoria para decir algo, aunque siempre diga lo mismo pero déjame que la inspiración no llega ya a mis neuronas. Necesito nuevas musas). Yo por aquí pensando en Arduino.
Arduino es la ost**, pero no es ni el primero ni el único, solamente el más azulado. Y es que siempre te he dicho que Arduino es un microcontrolador. y lo es, pero en realidad el microcontrolador es uno de sus componentes. El resto de componentes lo que hacen es formar una placa básica que cumple unas necesidades.
Yo, en mis años mozos (en verdad soy un jovenzuelo, pero me gusta esta expresión) utilizaba un microcontrolador y mis profesores habían creado una placa (bastante cutre, todo sea dicho) en la que habían añadido unos motores y unas cuantas entradas y salidas. Ni salidas PWM, ni cosas raras.
En Arduino se ha hecho algo parecido… pero más funcional…
¿Qué es un microcontrolador?
Los microcontroladores son pequeños chips o encapsulados con capacidad de trabajar con señales y analizar salidas y entradas. Vamos la base de Arduino, eso lo sabes. Estos microcontroladores los hay de todos los colores y marcas. De hecho Arduino eligió uno de Atmel (una empresa) pero podría haber cogido otro cualquiera.
Supongo que tendría que ver con el precio o la disponibilidad que tenían de ese componente, como nos pasa a todos. He leído alguna vez que realmente lo de Arduino era una conspiración de Atmel para forrarse a base de vender microcontroladores en la placa azulada. Pero ni soy tan paranoico ni veo que los chicos de Arduino fuesen tan sobrados al inicio, cuando se pagaban sus placas con su propio sueldo. Pero cada uno es libre de pensar lo que quiera, claro está.
Si eres de los viejos seguramente te suena eso de PIC. Es un microcontrolador creado por Microchip que se ha vendido como churros. Los hay millones por ahí, pero recuerda que es un microcontrolador… no una placa o plataforma como lo es Arduino 😉
Otras empresas como Texas también tienen sus propios microcontroladores. De hecho, en los tiempos que corren tienen hasta microcontroladores especializados para proyectos en Internet o con especificaciones así raritas… Aquí a todo el mundo le ha tocado apretarse el cinturón y sacar a la luz el I+D.
Lo que da miedo de un microcontrolador
Vamos a las diferencias, que es donde está el jugo de esto. La diferencia al final se resume en la experiencia de usuario (Hay que ver, desde que soy hipster me gasto un vocabulario…). Supongo que has tenido un Arduino en las manos y sabes que tienes unas entradas, unas salidas un IDE…
Voy a describirte el proceso que se da con un microcontrolador. Lo compras, te va salir muy muy barato… Vale, lo primero de todo será comprarle los periféricos, aquello que necesitas. Es muy personalizable así que podrás comprarle una pantalla LCD, un sensor… En cuanto a pines… puedes ponérselos. Los compras y los conectas adecuadamente al chip. Para ello deberás de leerte bien el datasheet, sobretodo para programarlo pero ahora vamos a eso.
Ahora te voy a contar una cosa que igual te causa un trauma: El microcontrolador tiene una memoria limitada. Así como en Arduino metes código alegremente, puede que con estos debas de ir con cuidado con malgastar espacio. Algunos permiten ampliar su memoria RAM comprando memorias externas, pero bueno… muchas variables vas a tener que estar controlando para eso…
Lo que sí que te va a pasar es que deberás de cargar cada uno de los periféricos añadidos y darles un lugar en el espacio de memoria, ponerlos en sus registros. Deberás de definir exactamente en qué parte de la memoria está el motor y dónde los pines de salida. No hay nada al azar ni nada oculto. Si eres usuario de Arduino de toda la vida debes de estar flipándolo al pensar que hay que implementar en memoria cada uno de los componentes. Esto en Arduino ya viene dado y ni nos enteramos.
Una vez con esto, hay que programar en C o en ensamblador (no son unos y ceros pero poco le falta…). Con Arduino ya estás acostumbrado a tu C++ muy arreglado, aquí cada microcontrolador tiene sus cosas, así que deberás de leerte bien el datasheet para todo: desde implementar la comunicación serie hasta cómo activar una segunda memoria si es que la tiene.
Así que seguramente te enfrentes a electrónica digital y tengas que poner unos y ceros en algunos sitios para ir haciendo lo que necesitas. Bastante trabajoso, la verdad. Y se me olvidaba, la comunicación con tu pc no es por USB, o no directamente. Necesitas un hardware que te ayude a cargar el programa dentro del microcontrolador.
En cuanto al software, cada marca tiene su IDE, por eso no te preocupes porque es exactamente igual que con Arduino.
Información básica sobre Proteción de datos
Responsable ➥ Sergio Luján Cuenca
Finalidad ➥ Gestionar el envío de correos electrónicos con artículos, noticias y publicidad. Todo relacionado con los temas de rufianenlared.com
Legitimación ➥ Consentimiento del interesado
Destinatarios ➥ Estos datos se comunicarán a MailRelay para gestionar el envío de los correos electrónicos
Derechos ➥ Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad
Plazo de conservación de los datos ➥ Hasta que se solicite la supresión por parte del interesado
Información adicional ➥ Puedes encontrarla en la política de privacidad y el aviso legal
Cuando utilizar un microcontrolador sin Arduino
Así que ya te he contado todas las maldades de los microcontroladores. Entonces, ¿Por qué se siguen utilizando? Porque recuerda que realmente el microcontrolador es el corazón de la placa, como es Arduino. Si eres una empresa con un proyecto electrónico igual te arruinas comprando Arduinos. Sobretodo porque tienen demasiadas cosas de las que seguramente utilices en tu proyecto.
Así que con un microcontrolador ahorras si tienes una larga tirada. Eso sí, se va complicar un poco la programación. Bueno se complica hasta que aprendes, tampoco es para tanto…
Así que si estás aprendiendo, quieres hacer un proyecto pequeño o simplemente quieres prototipar algo inmediato Arduino es la mejor opción. Luego cuando todo funcione puedes migrar todo tu programa al microcontrolador que vayas a utilizar. Energia es un software que te permitirá esa migración de Arduino a un microcontrolaor de Texas Instruments.
También, para conocer cómo funciona un microcontrolador por dentro tal vez la opción de comprarte un microcontrolador y periféricos sueltos también sea una buena opción. Pero generalmente lo que queremos es prototipar, hacer alguna cosa rápida, probarla y ya está. Para eso Arduino es el rey. Y si tienes un proyecto libre que quieres hacer a gran escala para que otros puedan re-programarlo (Cubetto sería un ejemplo) puedes añadir un Arduino tranquilamente en tu proyecto 😉
Placas de evaluación y eso también hay…
Chaval, hasta aquí llego yo. Espero que te haya servido para entender que los microcontroladores y Arduino ni son lo mismo ni son enemigos. Uno se ayuda de los otros. También venden por un ojo de la cara, todo sea dicho, unas placas de evaluación en las que te vienen los periféricos más utilizados. Así no hace falta que vayas comprándotelos tú.
Te compras un microcontrolador y un banco de pruebas y empiezas a hacer tus maldades. Eso sí, lo de la programación a pelo, a bajo nivel y sin librerías… Eso no te lo quita nadie. ¡Espero tus opiniones ahí abajo!