ARDUINO - LED Y POTENCIOMETRO (ANALOGO Y SEÑALES DIGITALES)
-PROYECTO-7
En esta lección vamos a trabajar
con algunos componentes que ya conocemos: algunos LED y Ponteciometro. Elobjetivo es encender los LED con el potenciómetro dependiendo del valor del
potenciómetro, es decir, si el valor aumenta, los LED se encenderán. El
objetivo es encender los LED de la siguiente manera, como muestra el video:
Para ello tendremos que combinar
señales analógicas y digitales. La lectura del potenciómetro será análoga,
mientras que la iluminación del LED será digital. Aunque recordamos que
nuestros potenciómetros nos pueden dar señales analógicas con valores entre 0 y
1023. En esta lección usaremos 6 LED, así que dividiremos el rango del
potenciómetro entre 6 para que los LED se enciendan secuencialmente. Es decir,
si el potenciómetro tiene un valor de 0, ninguno de los LED estará encendido,
pero a medida que el potenciómetro aumente, los LED se encenderán uno por uno.
Vamos a utilizar la siguiente lógica para hacer nuestro código:
El rango de valores de
potenciómetro va de 0 a 1023. La división de 1024/6 nos da aproximadamente 170,
por lo tanto, nuestros rangos serán de 170.
materiales
Arduino
Protoboard
6 resistencias de 100 ohmios
Potenciómetro 1KOhm o 5 KOhms.
6 LED's
Cables
Circuito
El siguiente código es muy similar a lo que se hizo en las
lecciones 3 y 5. Lo que hacemos es leer el valor del potenciómetro como entrada
analógica en A0. Dependiendo de este valor, encenderemos los LED de la forma
que se muestra en la tabla anterior. Como ves, el código aquí debería ser algo
que ya conoces y puedes entenderlo fácilmente.
// proyecto 7 jimmy lizarazu rocha
// Declaramos los LEDs y los pines en los que debemos
conectarnos.
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;
int led5 = 8;
int led6 = 7;
configuración vacía () {
// configura todos los pines como salidas
pinMode (led1, SALIDA);
pinMode (led2, SALIDA);
pinMode (led3, SALIDA);
pinMode (led4, SALIDA);
pinMode (led5, SALIDA);
pinMode (led6, SALIDA);}
void loop () {// Hacemos la lectura análoga del
potenciómetro
int valuePotenciometro = analogRead (A0); // Apagamos todos
los LED's
digitalWrite (led1, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
// En este código vamos a comprobar el valor del bote para
// encender gradualmente los LED
if (valuePotenciometro> 0) {
digitalWrite (led1, HIGH);
}
if (valuePotenciometro> 170) {
digitalWrite (led2, ALTO);
}
if (valuePotenciometro> 340) {
digitalWrite (led3, ALTO);
}
if (valuePotentiometer> 510) {
digitalWrite (led4, ALTO);
}
if (valuePotentiometer> 680) {
digitalWrite (led5, ALTO);
}
if (valuePotenciometro> 850) {
digitalWrite (led6, ALTO);
}
}

No hay comentarios.:
Publicar un comentario