Arduino control brillo led


En este post trabajaremos con la lectura y escritura analógica en arduino, la cual consiste en obtener un valor tipo análogo, convertirlo a digital y realizar el proceso a la inversa.

oscar Escrito por oscar 01 March 2019 7944 0

Video

A continuación, tenemos el video del circuito.

Circuito control brillo led

En este post trabajaremos con la lectura y escritura analógica en arduino, la cual consiste en obtener un valor tipo análogo, convertirlo a digital y realizar el proceso a la inversa.

Nos vamos a apoyar en arduino ya que cuanta con un componente de lectura analógica y las instrucciones necesaria para usar el PWM, el cual nos ayudaran con la conversión de digital a análogo.

Vamos a cambiar el brillo de un led para ilustrar el ejercicio, para ello, primero conozcamos las funciones analogRead() y analogWrite().

Lectura analógica

Para realizar la lectura analógica vamos a usar la instrucción analogRead() la cual lee el valor del pin analógico especificado[1]. Arduino contienen un convertidor de analógico a digital multicanal de 10 bits. Esto significa que mapeará voltajes de entrada entre 0 y el voltaje de operación (5V o 3.3V) en valores enteros entre 0 y 1023.

Para mas información en el post de analogRead() podrás encontrar al detalle la función.

Escritura analógica

Para realizar la escritura analógica usaremos analogWrite(), la cual escribe un valor tipo (onda PWM) en un pin[2]. Se puede usar para encender un LED a diferentes niveles de brillo o para conducir un motor a varias velocidades.

Para mas información en el post de analogWrite() podrás encontrar al detalle la función.

Materiales

Los materiales son sencillos de conseguir, no se requiere gran cosa.

Material Cantidad Descripción
Arduino 1 Puede ser cualquiera, lo único es que tenga lectura analógica y uso del PWM
Potenciómetro 1 Uno de 100KΩ es suficiente
Led 1 Preferiblemente que sea de choro o que tenga buena iluminación
Resistencia de 1KΩ 1 Para protección del led

Conexión

A continuación mostraremos los planos usados en el circuito

Board arduino control brillo led
Board arduino control brillo led
Schem arduino control brillo led
Schem arduino control brillo led

Lo que estamos realizando es la conexión del potenciómetro al pin analógico A3, pudimos haber seleccionado cualquiera y conectamos el led en unos de los pines PWM que se identifican con el símbolo ~, en este caso el pin 9.

Código

A continuación explicamos el código que se realizo, tambien lo pueden encontrar como control brillo led en github.

// Paso 1
int ledPin = 9;
int analogPin = 3;
int val = 0;

// Paso 2
void setup() {
    pinMode(ledPin, OUTPUT);
}

void loop() {
    // Paso 3
    val = analogRead(analogPin);

    // Paso 4
    analogWrite(ledPin, val / 4);
}
  1. Declaramos las variables de los pines que vamos a usar, como lo vimos en la conexión.
  2. Declaramos como salida el pin del led con la función pinMode().
  3. Leemos el valor del pin con la función analogRead().
  4. Escribimos en el pin del led con analogWrite(), pero el valor que obtuvimos en val esta entre 0 a 1024, como se explica en la función de analogRead(), lo dividimos en 4 para que nos den valores entre 0 y 255, que son los recibidos en la escritura analógica.

Referencias

[1] arduino, https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/ Consultado febrero 2019

[2] arduino , https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/ Consultado febrero 2019


Comentario

Debe aceptar antes de enviar