Tutorial: Modificando el brillo de un LED mediante un potenciometro.
En este tutorial aprenderás a controlar el brillo de un LED a través de un POTENCIOMETRO.
Componentes a utilizar:
- Placa Arduino UNO
- Potenciómetro Lineal 100 KΩ - B100K
- Protoboard de 500 puntos
- Resistencias 1KΩ
- Leds
- ServoMotor
Diagrama de conexión:
Código fuente:
// Definimos el pin del potenciómetro
const int potPin = A0;
// Definimos el pin del LED
const int ledPin = 3;
// Variable para almacenar el valor leído del potenciómetro
int potValue = 0;
void setup() {
// Inicializamos el pin del LED como salida
pinMode(ledPin, OUTPUT);
// Iniciamos la comunicación serial para depuración
Serial.begin(9600);
}
void loop() {
// Leemos el valor del potenciómetro
potValue = analogRead(potPin);
// Convertimos el valor leído (0-1023) a un valor de PWM (0-255)
int ledBrightness = map(potValue, 0, 1023, 0, 255);
// Ajustamos el brillo del LED
analogWrite(ledPin, ledBrightness);
// Imprimimos el valor del potenciómetro en el monitor serial
Serial.print("Potenciómetro: ");
Serial.println(potValue);
// Pequeña demora para estabilizar la lectura
delay(10);
}
Explicación del código:
- Definición de Pines:
- potPin es el pin analógico (A0) donde está conectado el potenciómetro.
- ledPin es el pin digital (3) donde está conectado el LED.
- Configuración Inicial (setup):
- Se configura el pin del LED como salida.
- Se inicia la comunicación serial para la depuración.
- Bucle Principal (loop):
- Se lee el valor del potenciómetro con analogRead y se almacena en potValue.
- Se convierte el valor leído (0-1023) a un rango de 0 a 255 usando la función map. Este rango es adecuado para el control de brillo mediante PWM.
- Se ajusta el brillo del LED usando analogWrite.
- Se imprime el valor del potenciómetro en el monitor serial para observar los cambios.
- Se incluye una pequeña demora (delay(10)) para estabilizar la lectura.
Pública tu duda o comentario
Resuelve tus dudas con la comunidad.
(0) Comentarios
No registra comentarios, se el primero en comentar.
Publicar