Ir al contenido principal

Microcontroladores

¿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.
Partes de un microcontrolador: el procesador, la memoria y los periféricos de entrada y salida integrados en un mismo chip Procesador Memoria Periféricos internos GPIO — entradas y salidas digitales ADC — convierte tensiones en números PWM — salidas de valor variable UART · I²C · SPI — comunicación
Todo esto está dentro de un chip de pocos milímetros. Las líneas laterales representan los pines de conexión.

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
HogarLavarropas, microondas, aire acondicionado, televisor, control remoto.
AutomotorInyección electrónica, frenos ABS, airbag, cierre centralizado. Un auto moderno puede llevar más de cincuenta.
SaludTermómetros digitales, tensiómetros, bombas de infusión, marcapasos.
IndustriaControl de motores, brazos robóticos, líneas de producción, sensores de planta.
ComunicacionesRouters, módems, teléfonos, sistemas de alarma.
EducaciónArduino, 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:

  1. Escribir el código en un lenguaje de alto nivel, normalmente C o C++.
  2. Compilarlo. El compilador traduce ese código a las instrucciones que entiende el microcontrolador y genera un archivo con el programa.
  3. 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
MicrocontroladorUna computadora completa en un chip, dedicada a una tarea específica.
Diferencia con el microprocesadorEl microcontrolador integra memoria y periféricos, consume muy poco y no usa sistema operativo.
GPIOPines configurables como entrada o salida digital. Límite típico: 20 mA por pin.
ADCConvierte una tensión en un número. Permite leer sensores.
PWMSimula una salida variable encendiendo y apagando rápido.
ArquitecturaCasi todos usan Harvard. Hay de 8, 16 y 32 bits.
ProgramaSe graba en memoria no volátil y se ejecuta en un ciclo infinito.