Go Down

Topic: como hacer un sensor con led y fotoresistencia (Read 1 time) previous topic - next topic

paco09

Hola, voy comenzando con arduino, pero quiero hacer unos sensores, donde use un led junto a una fotorecistencia y cuando pase un objeto entre ellos me mande una señal para comenzar a contar tiempo y cuando vuelva a pasar por otro sensor igual deje de contar el tiempo. Espero y alguien pueda darme unos tips gracias!!

jsosa89

Primero, todo depende de a que distancia quieres que esten el led de la foto-resistencia.

Supongamos que van a estar a unos 2 centimetros de separacion y que metes la foto-resistencia en un tubito a manera que solo la luz que viene del led entre en su campo de deteccion, has un divisor de voltaje, conectas una patilla de la foto-resistencia a positivo, la otra patita a la entrada analogica que quieras, por ejemplo la A0, ahora conecta una resistencia de 10K en el negativo y la otra patita de la resistencia en la misma entrada analogica que conectaste la foto-resistencia. El hardware ya esta listo.

Ahora busca el ejemplo de lectura de entradas analogicas y  ves cuando es el valor con el led encendido y cuanto es el valor con un objeto entre el led y la foto-resistencia, ahora crea una funcion que lea el valor analgico y depende si el valor esta dentro del rango que te dio cuando bloqueaste la luz, haga lo que quieras que haga.
Familiaridad,... el primer mito de la realidad: "Aquello que mas conoces es lo ultimo que observas"...

paco09

Hola, gracias por tu respuesta, ya lo hice, y use lasers para tener mayor distancia, este es mi codigo:

Int led=13;
int valor;
float timea;
float timeb;
float timec;
float valorb;
unsigned long time;
  void setup(){
    pinMode(led,OUTPUT);
    Serial.begin(9600);
  }
 
  void loop(){
    valor=analogRead(0);
    if(valor>=511){
         digitalWrite(led,HIGH);
         
    }
   
       if(valor<=200)
        {digitalWrite(led,LOW);
         timea=millis();
     
            }
     valorb=analogRead(1);
     if(valorb<=200)
     {timeb=millis();
       timec=timeb-timea;
       timec=timec;
       Serial.print("tiempo: ");
       Serial.print(timec);
       Serial.print("\n");
     
       

     }

  }


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy