Aprender Arduino, electrónica y programación con 100 ejercicios prácticos. Rubén Beiroa Mosquera
alt="image"/> (o entorno de programación) y un lenguaje de programación
La función de la plataforma Arduino es facilitar el uso de un microcontrolador (MCU)
002
MCU
IMPORTANTE
¿Control de procesos?
Qué complejo parece esto… Vamos a buscar en el diccionario de la RAE qué significa «control» y «proceso».
•Control: «Regulación manual o automática sobre un sistema».
•Proceso: «Conjunto de fases sucesivas de un fenómeno natural o de una operación artificial».
Entonces el control de procesos sería la regulación manual o automática sobre un conjunto de fases sucesivas de un fenómeno natural o de una operación artificial.
Un MCU es un circuito integrado que puede ser reprogramado y que está diseñado para el control de procesos mediante la lectura y generación de señales
Para entender mejor qué es Arduino y un MCU supongamos que tenemos que implementar una solución para el control del nivel de líquido de un tanque. No obstante, vamos a considerar que no disponemos de una plataforma como Arduino o similar ni conocimientos previos sobre programación, electrónica, ni MCU.
Como no disponemos de Arduino, necesitamos un MCU. Primeramente, tenemos que escoger el más adecuado, considerando las características técnicas del proceso que vamos a controlar. En el mercado disponemos de varios fabricantes de MCU, todos ellos con un amplio catálogo. Tendremos que decantarnos por un fabricante y escoger un MCU de entre todos los que tiene; para analizar los MCU, necesitamos trabajar con sus manuales.
El manual de un MCU no está desarrollado para que cualquier persona, independientemente de su formación, pueda interpretarlo. Nos enfrentaremos a manuales de hasta 450 páginas, con un lenguaje muy técnico, por lo que no solo es necesario un conocimiento previo sobre MCU, sino sobre programación, muchos «mecanismos internos», como Timers, interrupciones, etc. Posiblemente, si nunca hemos programado, no entenderemos para qué sirven.
Además, debemos analizar sus limitaciones en cuanto a potencia eléctrica, y si necesita más componentes para poder operar (como osciladores, condensadores…).
También nos limitará el formato (tamaño) de cada MCU; nos encontramos con muchos que no vamos a poder «manejar» por su reducido tamaño. Aún con todas estas dificultades, vamos a suponer que nuestra elección es la correcta.
A continuación, el siguiente problema sería cómo conectar el MCU al PC para poder programarlo: tendremos que comprar un módulo para poder programarlo, lo que nos va a obligar a realizar diferentes conexiones (implicará protoboards, cables, etc.). A todo esto quizás le debamos sumar más componentes que necesite el MCU para poder operar. Sin embargo, podemos con todo, solucionamos todos estos pasos y ya estamos listos para programar. Necesitamos un entorno de programación: lo más seguro es que el fabricante del MCU disponga de uno propio, pero quizás ofrece diferentes versiones (de prueba, para estudiantes, para profesionales) y podrán ser de pago o no.
Descargamos el entorno y ahora sí que empezamos a programar. No obstante, puede que ese entorno no sea todo lo «amigable» que esperemos. Puede ser un entorno muy completo con una gran cantidad de herramientas, menús… Lo cual es bueno, pero quizás, al principio, nos llegue a confundir, aunque al final, después de revisar documentación, lo entendamos y podamos seguir.
Si no tenemos conocimientos de programación, no nos va a quedar otro remedio que aprender, tendremos que buscar información (ejemplos, documentación, manuales, etc.).
Como acabamos de ver, existe una gran cantidad de obstáculos para simplemente empezar a programar un MCU y, con todo esto, una vez que los superemos, tenemos que ser capaces de llegar a una solución, desarrollar el programa adecuado e implementar físicamente este sistema (conectarlo a un entorno).
IMPORTANTE
Sin una formación adecuada, lo más seguro es que no nos veamos capaces de afrontar este reto, pero con Arduino esto cambia. Arduino nos elimina toda una serie de obstáculos para que nuestra principal preocupación sea programar un MCU y conectar el Arduino a los elementos que intervengan en un proceso.
A continuación veremos cómo se nos platea la misma tarea con un Arduino y veremos qué papel desempeña cada uno de los elementos de la plataforma Arduino.
003
Hardware Arduino
IMPORTANTE
Es importante recalcar que Arduino no fabrica los MCU de su hardware; estos son desarrollados y fabricados por Atmel.
Arduino incorpora los MCU en el proceso de fabricación de las placas. En consecuencia, lo que hicieron fue estudiar ese manual de 450 páginas de cada MCU y dar una solución a ese problema, ofreciéndonos un sistema que incorpora todo la electrónica necesaria para programar e implementar un MCU.
Planteémonos el mismo caso del capítulo anterior, pero ahora, con un Arduino. Primeramente, al igual que pasaba con el MCU, tendremos que elegir un Arduino. Disponemos de un gran catálogo de placas Arduino, todas las placas presentan diferencias entre ellas (debido a la incorporación de periféricos como: WIFI, Ethernet, conector tarjetas SD, etc.), aunque las diferencias básicas son debidas al MCU en concreto que incorpore cada placa.
Gracias a este hardware de Arduino disponemos de:
•Conexión para PC
•La electrónica necesaria para el correcto funcionamiento del MCU
•Puntos de conexión para las patillas del MCU
•Alimentación externa (pila, batería, cargador)
Al comprar un Arduino no tenemos que preocuparnos por cómo conectarlo a nuestro PC, solo habrá que comprarlo y, con un cable USB (del tipo correspondiente según el modelo), conectarlo y empezar a programar (la mayoría de los Arduinos aportan esta solución) sin preocuparnos de si necesitamos componentes electrónicos adicionales, como ocurría cuando trabajábamos directamente con el MCU.
Además, si necesitamos conectar sensores resulta más sencillo realizar la conexión a través de los pines del Arduino que a través de las patillas de MCU.
También añadieron un conector Jack (con la electrónica correspondiente) para poder alimentar nuestro Arduino a través de pilas o baterías (no todos lo incluyen). Como disponemos de un gran catálogo de Arduino, revisaremos las placas más conocidas. Primero analizaremos el Arduino UNO y compararemos las restantes placas con respecto a este Arduino mediante un análisis básico.
Partimos entonces del Arduino UNO, ¿por qué el Arduino UNO? Porque es el único que permite reemplazar su MCU, gracias a que se encuentra insertado en un zócalo, el cual sí que está soldado a la placa y no el MCU