Saltar la navegación

Lee la distancia y enciende que led que modifica su potencia conforme nos acercamos

Lee la distancia y enciende que led que modifica su potencia conforme nos acercamos

//creado por www.sacosta.org

int trigger = 12; // trigger en pin 12

int echo = 11; // echo en pin 11

int led = 3; // LED en pin 3

int duracion;

int distancia;

int limite=20; //puedes fijar distancia de activación

int brillo;

void setup()

{

pinMode(trigger, OUTPUT); // trigger como salida

pinMode(echo, INPUT); // echo como entrada

pinMode(led, OUTPUT); // led como salida

Serial.begin(9600); // inicializacion de comunicacion serial a 9600 bps

}

void loop()

{

digitalWrite(trigger,LOW);

digitalWrite(trigger, HIGH); // generacion del pulso a enviar al pin conectado al trigger

delay(10);

digitalWrite(trigger, LOW);

duracion = pulseIn(echo, HIGH); // con función pulseIn se espera un pulso alto en Echo

distancia = duracion / 58.2; // distancia medida en centimetros

Serial.println(distancia); // envio de valor de distancia por monitor serial

brillo=254-(254*distancia/limite);

delay(200); // demora entre datos

if (distancia <= limite && distancia > 0){ // si distancia entre 1 y 20 cms.

digitalWrite(led, brillo); // enciende LED, cuanto más cerca mas potencia

delay(distancia * 10); // demora proporcional a la distancia

digitalWrite(led, LOW); // apaga LED

}

}