En este post vamos a ver como controlar (variar) el brillo de un led utilizando como microcontrolador un Arduino uno, un potenciometro y un diodo led.
MATERIALES:
Los materiales que utilizaremos para este proyecto son los siguientes:
- 1 Arduino Uno.
- 1 Potenciometro (Cualquier valor).
- 1 Resistencia de 220 Ohms.
- 1 Diodo led (Cualquier color).
DIAGRAMA DE CONEXIONES:
EXPLICACIÓN DEL FUNCIONAMIENTO:
Para este proyecto, el led debe ir conectado si o si a un pin con pwm y el potenciometro a un pin analógico.
Para controlar el brillo del led modificamos el valor del pwm. El valor del pwm lo modificamos con los valores que nos da el potenciometro.
Inicialmente el potenciometro conectado a un pin analógico nos da valores que van de 0 a 1024, en este caso necesitamos valores de 0 a 255, para obtener estos valores, utilizamos la función map().
Función map():
Esta función es bastante empleada en los proyectos de Arduino, ya que nos permite «hacer equivalencias» entre diferentes rangos.
La estructura de esta función es la siguiente:
pwm = map(valor que recibo, inmin, inmax, outmin, outmax);
- pwm: Variable que almacena los valores que nos retorna la función map.
- valor que recibo: Valor que leemeos por el pin analógico.
- inmin: Valor mínimo entregado por el pin analógico.
- inmax: Valor máximo entregado por el pin analógico.
- outmin: Valor mínimo que tomara la variable pwm.
- outmax: Valor máximo que tomara la variable pwm.
CÓDIGO:
#define led 3 // Pin donde va conectado el led #define pot A0 // Pin donde va conectado el potenciometro void setup() { pinMode(led,OUTPUT); // Declaramos entradas y salidas pinMode(pot,INPUT); } void loop() { int pwm; // Declaramos una variable, en esta variable se almacenan los valores que nos entrega la función map pwm = map(analogRead(pot), 0, 1024, 0, 255); analogWrite(led,pwm); // Encendemos el led con el valor del pwm que nos envía le función map delay(100); // agregamos una pequeña pausa }
Publicar un comentario