jueves, 4 de julio de 2019

ARDUINO - LED Y POTENCIOMETRO (ANALOGO Y SEÑALES DIGITALES) -PROYECTO-7


 https://jlizarazurocha.com/inicio/como-construir-un-robot-seguidor-de-linea/

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