Cómo Arduino simplifica el PWM
Clase 27 de 38 • Curso Fundamentos de Desarrollo de Hardware con Arduino
Contenido del curso
Introducción al hardware libre
- 3

Arduino: Desarrolla Prototipos Interactivos con Microcontroladores
11:46 min - 4

Desarrollo de Prototipos de Hardware: Diseño y Fabricación
09:18 min - 5

Diseño Mecánico de Hardware con SolidWorks y Herramientas Paramétricas
05:03 min - 6

Desarrollo de Interfaces y Prototipos con QT en Sistemas Embebidos
04:07 min - 7

Limitaciones de Arduino en productos finales
04:27 min - 8
Selección de Arduino para Envío de Datos a Servidor
00:14 min - 9
Fundamentos de Desarrollo de Hardware con Arduino
01:27 min - 10
Proyectos con Arduino: Componentes y Materiales Necesarios
01:13 min
Sensores, Actuadores y Procesadores
Introducción a la electrónica
Manos a la obra
- 19

Conociendo los Puertos y Alimentación del Arduino Uno
09:40 min - 20

Funcionamiento de la Protoboard para Prototipado Electrónico
04:36 min - 21

Programación Básica en Arduino: Primeros Pasos con LED y Código
07:53 min - 22

Declarar variables para pines de Arduino
05:53 min - 23

Creación y Uso de Librerías en Arduino
03:09 min - 24

Uso del Potenciómetro para Control de LED con Arduino
10:06 min - 25

Comunicación Serial en Arduino: Uso del Monitor Serial
10:32 min - 26

Cómo PWM simula voltaje analógico
05:51 min - 27

Cómo Arduino simplifica el PWM
Viendo ahora - 28

Uso de Botones con Resistencia Pull-Up en Arduino
13:01 min - 29

Monitor temperatura con Arduino y LM35
10:59 min - 30

Cálculo del Multiplicador para Convertir Lecturas de Sensor a Celsius
05:05 min - 31

LCD 16x2 con Arduino sin conexión PC
17:28 min - 32

Programación de Semáforos con Arduino y Sensores
02:09 min
Automatización de procesos
- 33

Motores con Arduino y puente H L293D
23:17 min - 34

Cómo funciona un servomotor con Arduino
11:06 min - 35

Potenciómetro controla servomotor en Arduino
04:35 min - 36

Proyecto: Construcción y Programación de un Robot de Evasión de Obstáculos
08:53 min - 37

Programación de Funciones de Control de Movimiento en Arduino
08:09 min - 38

Robot sensor Pololu: lógica inversa y ciclo while
17:47 min
Domina el control de brillo en LEDs con PWM en Arduino de forma directa y confiable. Aquí verás cómo pasar de la teoría a la práctica usando un potenciómetro para regular tres LEDs en pines con PWM, aprovechando funciones nativas como analogRead, map y analogWrite sin configuraciones complejas del módulo.
¿Qué harás con PWM en Arduino?
Aprenderás a leer un potenciómetro, escalar su valor y ajustar el brillo de tres LEDs en pines PWM. Todo con un flujo claro: declaración de variables, lectura analógica, mapeo de rangos y escritura PWM.
- PWM de 8 bits: 256 niveles de brillo de 0 a 255.
- Sin configurar pinMode: con analogWrite no necesitas declarar el pin como salida.
- Pines con PWM: usa los pines 3, 5 y 6, marcados con la tilde en la serigrafía.
- Productividad: sketch nuevo, guarda rápido con Ctrl + S, y nombra de forma clara.
¿Cómo es el código y por qué funciona?
El potenciómetro entrega valores de 0 a 1023 con analogRead. Para que analogWrite acepte esos datos, se usa map y se convierte ese rango a 0–255. Ese valor define el ciclo de trabajo que regula el brillo del LED.
¿Qué variables y pines se usan?
- Variables globales claras: LED1, LED2, LED3 y potPin.
- Convención camelCase para potValue y brightValue.
- Pines PWM: 3, 5, 6 para los LEDs.
- Entrada analógica: potPin = 0.
¿Cómo se lee y escala el potenciómetro?
- analogRead(potPin) devuelve 0–1023.
- map(potValue, 0, 1023, 0, 255) hace la “regla de tres” al rango de PWM.
- analogWrite(LEDx, brightValue) aplica el brillo a cada LED.
- Un delay(10) suaviza los cambios percibidos.
int LED1 = 3;
int LED2 = 5;
int LED3 = 6;
int potPin = 0; // Entrada analógica (A0 en placas clásicas).
int potValue; // Lectura del potenciómetro 0–1023.
int brightValue = 0; // Brillo 0–255 para PWM.
void setup() {
// Con analogWrite no es necesario configurar pinMode para los pines PWM.
}
void loop() {
potValue = analogRead(potPin);
brightValue = map(potValue, 0, 1023, 0, 255);
analogWrite(LED1, brightValue);
analogWrite(LED2, brightValue);
analogWrite(LED3, brightValue);
delay(10);
}
¿Cómo conectar y probar sin errores?
La conexión correcta garantiza que el brillo varíe de forma suave y visible. Cuida la tierra común, la polaridad de los LEDs y separa cada positivo al pin PWM correspondiente.
¿Qué conexiones eléctricas son clave?
- Lleva una línea de tierra a la protoboard para todos los LEDs.
- Conecta el negativo de cada LED a la línea de tierra.
- Evita unir los positivos: cada LED debe ir a su pin PWM distinto.
- Si te equivocas y todos van al mismo pin, corrige conectándolos “en escalerita” a 3, 5 y 6.
¿Qué buenas prácticas al compilar y cargar?
- Verifica placa y puerto: en Tools > Board y COM correspondiente.
- Compila y haz Upload antes de cablear todo.
- Observa el brillo: al girar el potenciómetro, el LED pasa de apagado a máximo gradualmente.
¿Qué desafío puedes intentar?
- Usa un LED RGB y un botón para cambiar colores.
- Agrega un segundo potenciómetro para controlar cada canal.
- Combina valores de red, green y blue o usa tres LEDs independientes para ver mezclas.
¿Te animas a compartir tu resultado? Deja tu código, fotos o un video, y cuéntame cómo resolviste el control de brillo y las combinaciones de color.