¿Qué es un microcontrolador?
Un microcontrolador es una computadora completa dentro de un solo chip. Reúne en la misma pastilla de silicio el procesador, la memoria, los relojes y los circuitos que le permiten conectarse con el mundo exterior.
Lo que lo define no es su potencia —de hecho son muchísimo más modestos que el procesador de una computadora— sino que están hechos para una tarea concreta y para estar integrados en un dispositivo. No se les instala un sistema operativo ni se les conecta un monitor: se les graba un programa y quedan funcionando dentro de un electrodoméstico, un auto o un juguete.
Están por todos lados. Una lavadora moderna, un control remoto, el sistema de inyección de un auto, una balanza digital o el termostato de un aire acondicionado tienen, casi con seguridad, uno o varios microcontroladores adentro. Se calcula que se fabrican miles de millones por año, muchísimos más que procesadores de computadora.
Microcontrolador y microprocesador
Se confunden todo el tiempo, pero son cosas distintas y cumplen funciones distintas:
| Aspecto | Microprocesador | Microcontrolador |
|---|---|---|
| Qué incluye | Solo la unidad de procesamiento | Procesador + memoria + periféricos, todo integrado |
| Necesita otros chips | Sí: memoria RAM, almacenamiento, chipset | No: funciona solo |
| Potencia | Muy alta | Modesta |
| Consumo | Decenas o cientos de watts | Del orden de los miliwatts |
| Sistema operativo | Sí (Windows, Linux, macOS) | No: ejecuta un único programa grabado |
| Tarea | Uso general: cualquier cosa | Una tarea específica |
| Ejemplos | Intel Core, AMD Ryzen | ATmega328, ESP32, PIC, STM32 |
Dicho de otra forma: el microprocesador es el cerebro de una computadora; el microcontrolador es el cerebro de un aparato. Y este último suele costar unas pocas monedas, mientras que un procesador de escritorio cuesta cientos de veces más.
Qué tiene adentro
Un microcontrolador típico integra cuatro bloques:
- El procesador (CPU): ejecuta el programa. Es mucho más simple que el de una computadora.
- La memoria: una parte guarda el programa de forma permanente (memoria flash), otra guarda las variables mientras funciona (RAM) y otra los datos que no deben perderse al apagarlo (EEPROM).
- Los periféricos internos: son los circuitos que le permiten conectarse con sensores y actuadores.
- El reloj: marca el ritmo de trabajo. En muchos modelos se puede elegir entre un cristal externo de gran precisión o un oscilador interno más económico.
Entradas y salidas digitales (GPIO)
Los GPIO (General Purpose Input/Output, entradas y salidas de propósito general) son los pines que se pueden configurar por programa para dos usos:
- Como salida: el microcontrolador pone el pin en nivel alto (por ejemplo 5 V) o bajo (0 V). Con eso enciende un LED, activa un relé o mueve un motor a través de un transistor.
- Como entrada: el microcontrolador lee si el pin está en nivel alto o bajo. Con eso detecta si se apretó un pulsador, si un sensor abrió un contacto o si llegó un pulso.
Un punto clave es que cada pin tiene un límite de corriente: en la mayoría de los microcontroladores, unos 20 mA. Ese es el motivo por el que un motor o una tira de LEDs nunca se conectan directamente a un pin, sino a través de un transistor o un módulo driver. Es exactamente el mismo cuidado que se explicó en el tema de transistores.
Convertir el mundo real en números: ADC y PWM
El microcontrolador es digital: solo entiende ceros y unos. Pero el mundo es analógico: la temperatura, la luz y la posición de un potenciómetro varían de forma continua. Para tender ese puente existen dos bloques:
ADC
Convertidor analógico-digital
Toma una tensión que varía entre 0 y 5 V y la transforma en un número.
En Arduino, un ADC de 10 bits entrega un valor entre 0 y 1023. Es lo que ocurre por dentro cuando se usa analogRead().
PWM
Modulación por ancho de pulso
Simula una salida de valor variable encendiendo y apagando muy rápido.
Si el pin está encendido el 25 % del tiempo, un LED se ve al 25 % de brillo. Es lo que hace analogWrite().
Con estos dos bloques se puede leer casi cualquier sensor y controlar casi cualquier actuador. Son la puerta de entrada entre el mundo físico y el digital, y el motivo por el que un microcontrolador sirve para automatizar prácticamente cualquier cosa.
Arquitecturas y familias
Los microcontroladores se clasifican según cuántos bits procesan de una vez. Cada tamaño tiene su terreno:
| Tamaño | Se usa para | Ejemplos |
|---|---|---|
| 8 bits | Tareas simples: encender luces, leer un pulsador, controlar un relé. Son los más baratos y fáciles de programar. | PIC10/12/16, ATtiny, 8051 |
| 16 bits | Punto intermedio: control de motores, instrumentación, conversión de señales. | PIC24, MSP430 |
| 32 bits | Más potencia y memoria: WiFi, pantallas, procesamiento de datos, proyectos de IoT. | ESP32, STM32, Raspberry Pi Pico |
Casi todos los microcontroladores actuales siguen la arquitectura Harvard, con la memoria de programa y la de datos separadas, porque eso los hace más rápidos y predecibles. La familia AVR (la del Arduino Uno) y la ARM Cortex-M son dos de las más difundidas.
Arduino, ESP32 y Raspberry Pi
Estas tres placas son las más usadas en la escuela y en los proyectos de aficionados, y conviene no confundirlas:
| Placa | Qué es | Para qué conviene |
|---|---|---|
| Arduino Uno | Es un microcontrolador (ATmega328P) presentado en una placa pensada para aprender. | Lo mejor para empezar: circuitos, sensores, motores y control. Sin sistema operativo. |
| ESP32 | También es un microcontrolador, pero de 32 bits y con WiFi y Bluetooth integrados. | Proyectos conectados: enviar datos a internet, controlar algo desde el celular. |
| Raspberry Pi | Es una computadora completa: tiene procesador, memoria y ejecuta Linux. | Cuando hace falta un sistema operativo, pantalla, red o correr varios programas a la vez. |
La diferencia clave es esa: el Arduino y el ESP32 ejecutan un único programa y arrancan al instante; la Raspberry Pi arranca un sistema operativo y tarda unos segundos, pero puede hacer muchísimas más cosas. Elegir bien entre una y otra es una de las decisiones más importantes al empezar un proyecto.
Dónde están los microcontroladores
| Ámbito | Dónde está el microcontrolador |
|---|---|
| Hogar | Lavarropas, microondas, aire acondicionado, televisor, control remoto. |
| Automotor | Inyección electrónica, frenos ABS, airbag, cierre centralizado. Un auto moderno puede llevar más de cincuenta. |
| Salud | Termómetros digitales, tensiómetros, bombas de infusión, marcapasos. |
| Industria | Control de motores, brazos robóticos, líneas de producción, sensores de planta. |
| Comunicaciones | Routers, módems, teléfonos, sistemas de alarma. |
| Educación | Arduino, ESP32, y las placas de robótica educativa. |
Cómo se programa
El programa se escribe en la computadora y después se graba en la memoria del microcontrolador. Ese proceso tiene tres pasos:
- Escribir el código en un lenguaje de alto nivel, normalmente C o C++.
- Compilarlo. El compilador traduce ese código a las instrucciones que entiende el microcontrolador y genera un archivo con el programa.
- Cargarlo en el chip a través de un cable USB o de un programador externo.
Una vez grabado, el programa queda guardado en memoria no volátil: al quitarle la energía no se borra, y cuando vuelve a recibir alimentación arranca solo y empieza a ejecutarse de nuevo. Ese es el motivo por el que el mismo programa de Arduino funciona igual cada vez que se enchufa la placa.
Justamente por esto, el código de un microcontrolador nunca termina: no hay un "fin del programa". Todo se estructura alrededor de un ciclo que se repite sin parar —el loop() del que se habló en el tema de Arduino—, y dentro de ese ciclo se leen los sensores, se decide y se actúa.
Resumen
| Concepto | Idea central |
|---|---|
| Microcontrolador | Una computadora completa en un chip, dedicada a una tarea específica. |
| Diferencia con el microprocesador | El microcontrolador integra memoria y periféricos, consume muy poco y no usa sistema operativo. |
| GPIO | Pines configurables como entrada o salida digital. Límite típico: 20 mA por pin. |
| ADC | Convierte una tensión en un número. Permite leer sensores. |
| PWM | Simula una salida variable encendiendo y apagando rápido. |
| Arquitectura | Casi todos usan Harvard. Hay de 8, 16 y 32 bits. |
| Programa | Se graba en memoria no volátil y se ejecuta en un ciclo infinito. |