En esta práctica aprenderemos a controlar la intensidad luminosa de un LED utilizando un potenciómetro de 10 kΩ y una placa Arduino UNO.
Con este proyecto conoceremos cómo funcionan las entradas analógicas, cómo convertir valores numéricos y cómo utilizar las salidas PWM para regular el brillo de un LED.
Esta actividad es ideal para estudiantes que están comenzando a trabajar con Arduino y desean comprender la relación entre los sensores, el procesamiento de información y los actuadores.
1. Objetivo de la práctica
Construir y programar un circuito electrónico que permita aumentar o disminuir el brillo de un LED al girar un potenciómetro, utilizando las instrucciones analogRead(), map() y analogWrite().
2. Materiales necesarios
- 1 Arduino UNO
- 1 protoboard
- 1 potenciómetro de 10 kΩ
- 1 LED de cualquier color
- 1 resistencia de 220 Ω
- Cables de conexión
- 1 cable USB para Arduino
- Computadora con Arduino IDE
3. ¿Qué es un potenciómetro?
Un potenciómetro es una resistencia variable que permite modificar su resistencia eléctrica al girar una perilla o mover un control deslizante.
Tiene tres terminales: dos extremos de la pista resistiva y uno central, llamado cursor.
En esta práctica utilizaremos el potenciómetro como un divisor de voltaje. Al girarlo, cambiaremos el voltaje que recibe la entrada analógica A0 de Arduino, aproximadamente entre 0 y 5 voltios.
4. ¿Qué es una entrada analógica?
Una entrada analógica permite que Arduino mida un voltaje variable.
En Arduino UNO, la función analogRead() convierte ese voltaje en un número entero entre 0 y 1023, gracias a su convertidor analógico-digital de 10 bits.
| Voltaje aproximado | Lectura analógica |
|---|---|
| 0 V | 0 |
| 1.25 V | 256 |
| 2.50 V | 512 |
| 3.75 V | 767 |
| 5 V | 1023 |
5. ¿Qué es PWM?
PWM significa Pulse Width Modulation, o modulación por ancho de pulso.
Es una técnica que permite controlar la potencia promedio entregada a determinados dispositivos mediante pulsos digitales.
En esta práctica, Arduino modifica el ciclo de trabajo de la señal PWM, provocando que el LED parezca aumentar o disminuir su intensidad luminosa.
La instrucción analogWrite() utiliza valores de 0 a 255.
| Valor PWM | Resultado |
|---|---|
| 0 | LED apagado |
| 64 | Brillo bajo |
| 128 | Brillo medio aproximado |
| 192 | Brillo alto |
| 255 | Brillo máximo |
El brillo percibido por el ojo humano no aumenta necesariamente de manera proporcional al valor PWM.
6. Diagrama eléctrico y conexiones

Conexiones del potenciómetro:
- Terminal lateral: 5V
- Terminal central: A0
- Terminal lateral opuesta: GND
Conexiones del LED:
- Pin digital 9 → resistencia de 220 Ω → ánodo del LED.
- Cátodo del LED → GND.
La resistencia limita la corriente eléctrica y protege al LED.
Importante: Si al girar el potenciómetro hacia la derecha el brillo disminuye, podemos intercambiar las conexiones de 5V y GND de sus terminales laterales.
7. Código de Arduino
Copia el siguiente programa en Arduino IDE:
const int potenciometro = A0;
const int led = 9;
int valorPotenciometro = 0;
int brillo = 0;
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
valorPotenciometro = analogRead(potenciometro);
brillo = map(valorPotenciometro, 0, 1023, 0, 255);
analogWrite(led, brillo);
Serial.print("Potenciometro: ");
Serial.print(valorPotenciometro);
Serial.print(" | Brillo: ");
Serial.println(brillo);
delay(100);
}

8. Explicación del código
analogRead(potenciometro)
Lee el voltaje que recibe el pin A0 y lo convierte en un valor entre 0 y 1023.
map(valorPotenciometro, 0, 1023, 0, 255)
Convierte el valor de entrada analógica al rango utilizado por PWM.
Por ejemplo, una lectura cercana a 512 se convierte aproximadamente en 127.
analogWrite(led, brillo)
Genera una señal PWM en el pin 9 para controlar la intensidad luminosa del LED.
Serial.begin(9600)
Inicia la comunicación serial para observar las lecturas del potenciómetro y los valores PWM en la computadora.
9. Procedimiento de la práctica
- Coloca el LED y el potenciómetro en el protoboard.
- Conecta los componentes de acuerdo con el diagrama eléctrico.
- Verifica la polaridad del LED y la resistencia de protección.
- Conecta Arduino UNO a la computadora.
- Abre Arduino IDE y copia el código.
- Selecciona la placa y el puerto correspondiente.
- Carga el programa en Arduino.
- Gira lentamente el potenciómetro y observa cómo cambia el brillo.
- Abre el monitor serial a 9600 baudios para observar los valores.
10. Actividad para los alumnos
Realiza las siguientes pruebas y completa la tabla con los valores que observes en el monitor serial.
| Posición del potenciómetro | Lectura A0 | Valor PWM |
|---|---|---|
| Mínimo | ||
| 25 % aproximadamente | ||
| Mitad | ||
| 75 % aproximadamente | ||
| Máximo |
11. Preguntas de repaso
- ¿Qué es un potenciómetro y para qué sirve?
- ¿Por qué utilizamos el pin A0 para conectar el potenciómetro?
- ¿Qué valores puede entregar la función
analogRead()en Arduino UNO? - ¿Qué significa PWM?
- ¿Por qué utilizamos el pin 9 para conectar el LED?
- ¿Cuál es la función de
map()? - ¿Qué ocurre cuando enviamos un valor de 0 mediante
analogWrite()? - ¿Qué sucede cuando enviamos un valor de 255?
- ¿Por qué es necesario colocar una resistencia en serie con el LED?
- ¿En qué aplicaciones de la vida cotidiana se puede utilizar un potenciómetro?
12. Reto adicional
Modifica el programa para que el LED nunca se apague completamente.
Pista: Cambia el rango de salida de la función map() de 0–255 a 50–255.
Después, modifica el código para que al girar el potenciómetro hacia un extremo el LED aumente su brillo y al girarlo hacia el otro lo disminuya.
13. Conclusión
En esta práctica aprendimos a controlar la intensidad luminosa de un LED mediante un potenciómetro de 10 kΩ y Arduino UNO.
También conocimos tres instrucciones importantes de programación: analogRead(), map() y analogWrite().
Estos conocimientos son fundamentales para desarrollar proyectos más avanzados, como sistemas de iluminación regulable, controles de velocidad de motores y sistemas de automatización.
Profe Juan de Dios — Aprende electrónica, programación y robótica con Arduino.
