Arduino: Programación de Microcontroladores

Por Nestor Plasencia Prado
Arduino: Programación de Microcontroladores

¿Qué son los microcontroladores y por qué aprender a programarlos?

Todos los días, desde que nos levantamos hasta acostarnos, interactuamos con dispositivos electrónicos: despertadores, cafeteras, secadoras, hornos microondas, licuadoras, ascensores, alarmas de vehículos, puertas electrónicas, computadores, móviles, etc. Todos estos dispositivos, que hacen nuestra vida más cómoda y sencilla, poseen dentro de su electrónica a varios microcontroladores. Hoy hablaremos de estos circuitos electrónicos y cómo programarlos.

¿Por qué aprender a programar microcontroladores ?

En la última feria de Feria de Electrónica de Consumo (CES) se presentaron, como todos los años, las tendencias tecnológicas del futuro que se nos avecinan: realidad virtual, robótica, drones, vehículos sin conductor, impresión 3D, el hogar inteligente, sistemas de seguridad por control remoto, etc, dispositivos que por ahora parecen sacados de alguna película de ciencia ficción.

Todos estas tecnologías involucran el uso de microcontroladores, dispositivos que poseen la capacidad de interactuar con sensores y actuadores del entorno físico que los rodea, es por ello que es de importancia el aprender las bases de su funcionamiento y así poder comprender cómo funcionan e interactúan con nosotros los usuarios.

¿Qué es un microcontrolador ?

Cuando compras un computador, ya sea de escritorio o una láptop, dentro de las características más importantes de comparación básicas siempre consideraras.

  1. El procesador o CPU: El centro de procesamiento del computador, ya sea de la Gama Intel o AMD, siempre comparando el numero de núcleos y la velocidad en GHz.
  2. Memoria Ram: Con navegadores como Chrome, siempre necesitarás esos Gbytes altos.
  3. Disco Duro: Para almacenar tus series y películas favoritas en 1080p, sin duda se necesitaras 1 terabyte.

Ahora imagina tener todo esto en un pequeño chip, sin duda no con las mismas prestaciones, pero las suficientes para cumplir una tarea en específico, cómo calentar tu cafe a la temperatura que prefieres. ¿Lo imaginaste? Esto es lo que define a un Microcontrolador.

Al igual que un computador, posee dispositivos de entrada (mouse, teclado) y salida (monitor, parlantes) un microcontrolador se basa en este principio contando como entradas a sensores (temperatura, luz, sonido,etc ) y como salidas a los actuadores (leds, motores, relés, etc ).

Volviendo al ejemplo de calentar el café, tendríamos como entrada un sensor de temperatura y como actuador un interruptor interno que desconectara el electrodoméstico cuando ha alcanzado la temperatura deseada.

Como se mencionó para realizar estas tareas no se necesita mucho procesamiento computacional.

En la tabla anterior los dos primeros elementos de la lista son microprocesadores, y los dos siguientes son microcontroladores. Las diferencias de los millones de instrucciones por segundo que realizan (MIPS) son más que evidentes. Los microprocesadores tienen una potencia computacional de más de 200 veces más que los microcontroladores.

Programación de un microcontrolador

Existen dos tendencias en la programación de microcontroladores:

1.- Lenguajes de bajo nivel: Seguramente has escuchado del lenguaje ensamblador, uno de los primeros lenguajes que utiliza mnemónicos (palabras entendibles por un programador humano). Como mencionamos anteriormente, poseemos recursos de procesamiento y memoria limitados, este tipo de programación cercana al lenguaje máquina es ideal para aprovechar estos recursos al máximo.

2.- Lenguajes de alto nivel: Uno de los lenguajes de alto nivel más populares para programar microcontroladores es el lenguaje C o lenguajes basados en este. Poseen sintaxis mucho más amigables con el lenguaje usado por los humanos lo que hace que su programación sea más sencilla, En lenguajes de programación de alto nivel, varias instrucciones en ensamblador se sustituyen por una única sentencia. El programador ya no tiene que conocer el conjunto de instrucciones o características del hardware del microcontrolador utilizado.

En la siguiente imagen observamos un mismo codigo tanto en lenguaje C como en lenguaje ensamblador.

Arduino en el desarrollo de la Tecnología

Hoy en día existen 2 tendencias principales en el uso de microcontroladores, por un lado tenemos a los que usan la gama de Microchip conocidos como PIC, y por otro lado tenemos a los que usan microcontroladores AVR, populares por ser el núcleo de procesamiento de las famosísimas tarjetas de prototipado Arduino.

Con un tamaño de 7.5 cm de largo y 5.4 de ancho, esta pequeña tarjeta electrónica es, te guste o no, la tarjeta con un microcontrolador más usada en el mundo por usuarios ligados a la electrónica. Su uso no se limita al aprendizaje, sino que cualquiera con ideas creativas puede manipular y ejecutar proyectos debido a su flexibilidad y fácil uso.

Muchos entusiastas de la tecnología a diario desarrollan productos increíbles, utilizando los diferentes tarjetas de Arduino, en la página oficial encontrarás un lista de todos los proyectos realizados por la comunidad de Arduino.

En algunos países de Latinoamérica se han comenzado a distribuir Kits de Arduino en las escuelas, para que así los estudiantes aprendan programación y robótica y de esa manera ir rompiendo la brecha que existe entre el crecimiento tecnológico y el capital humano que lo desarrolla.

Toda gran tecnología siempre inicia con pequeños prototipos, donde se hacen las pruebas hasta lograr un producto, uno que puede llevarse a producción masiva. Muchos productos, como las impresoras 3D y los drones, se crearon a base de prototipos basados en Arduino.

Espero que toda la información brindada haya sido de tu agrado, si tienes alguna consulta o algún tema para futuros artículos no dudes en dejarnos un comentario y te responderemos a la brevedad.

¿Te gustó el tutorial?

Ayúdanos a llegar a más personas

Nestor Plasencia Prado

Nestor Plasencia Prado

Programmer | Developer | Maker | Robot Designer | Knowmad