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.
Escrituta 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 |
Potenciometro | 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

Schem arduino control brillo led
Lo que estamos realizando es la conexión del potenciomentro al pin analógico A3, pudimo 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 codigo 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);
}
- Declaramos las variables de los pines que vamos a usar, como lo vimos en la conexión.
- Declaramos como salida el pin del led con la función
pinMode()
. - Leemos el valor del pin con la función
analogRead()
. - 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 deanalogRead()
, 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