Contenido del curso

Actividad 13

 

Regulación de la intensidad con un Potenciómetro

En esta actividad se realizará la lectura de un potenciómetro (resistencia variable) y se usará ese valor para generar una PWM y así regular la intensidad del LED, con el montaje que a continuación se muestra.

Dependiendo de la posición angular del potenciómetro, la entrada analógica del Arduino recibirá un nivel de tensión de entre 0 y 5V. El Arduino realiza la conversión analógico digital con resolución de 10 bits, mapeando y discretizando los valores analógicos en valores enteros de 0 a 1023.

Al realizar un “analogRead()” de la entrada analógica, lo que obtendremos será un valor entre 0 y 1023, en función del valor de tensión a la entrada del pin analógico. Tenemos que convertirlo a un valor válido para una PWM, que admite valores de 0 a 255. Para esto puede hacer la conversión matemática por el método que prefieras. Puedes utilizar la siguiente línea para obtener el resultado de la conversión:

map(lecturaAnalógica, 0, 1023, 0, 255);

También puede añadirse la lectura del puerto Serie para ver el valor analógico medido en el pin A1 antes y después de la operación matemática.



const int LED = 9;            // Se define el pin del led
const int potenciometro = 1;  // Se define el pin del potenciometro
int val_led;                  // Se crea variable para potencia del led

void setup() {
  Serial.begin(9600);    // Inicializar bus serial
  pinMode(LED, OUTPUT);  // configurar pin del led
}

void loop() {
  // Leemos e imprimimos el valor del potenciometro por bus serial
  Serial.print("\nValor del potenciometro: \t");
  Serial.println(analogRead(potenciometro));
  // Hacemos un cambio de escala del valor leido que tiene 10 bits al
  // valor que se va a escribir, que es de 8 bits
  val_led = map(analogRead(potenciometro), 0, 1023, 0, 255);
  // Imprimimos el valor aplicado al led
  Serial.print("\nValor aplicado al LED: \t");
  Serial.print(val_led);
  // Se enciende el led con una PWM de dicho valor
  analogWrite(LED,val_led);
}


Puedes descargar la solución pinchando en el siguiente icono:


Vistas
16 Número de vistas
16 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.