Pages: [1]   Go Down
Author Topic: Medicion LDR  (Read 1912 times)
0 Members and 1 Guest are viewing this topic.
Buenos Aires
Offline Offline
Newbie
*
Karma: 0
Posts: 23
new to arduino
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola!

Recién estaba probando de prender un LED con un sensor de luz que me vino en el kit. Funciona, si le apunto con una linterna al sensor, enciende el led, si corro la linterna, el LED se apaga.

El serial.print del digitalRead me devuelve 0 o 1, mi pregunta es: no deberia devolver un valor dentro de una escala con mas valores que el 0 y el 1 ????

Capaz que el sensor es tan trucho que solo me dice si hay o no luz, o no se.

El codigo es el siguiente:

Code:
#define LED  13   
#define LDR 7 
                 
float val = 0;

void setup() {
  pinMode(LED, OUTPUT);   
  pinMode(LDR, INPUT);
}

void loop(){
 val = digitalRead(LDR);

  if (val==1) {     
    digitalWrite(LED, HIGH);
  } else {
    digitalWrite(LED, LOW);
  }
  Serial.println(val);
}

y el sensor es el siguiente (el nro 3) :



Uploaded with ImageShack.us
Logged

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 724
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,
si utilizas la función analogRead(), podrás elegir un nivel de luz para encender el led
if(val > XXX)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola según pones en el código lo tienes colocado en una entrada digital, esa entrada solo te da 0 (bajo) o  1 (alto), coloca el LDR en una de las entradas analógicas y como han comentado utiliza analogRead para que te de un valor entre 0 y 1023.

un saludo

fermg
Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 524
Arduino inside
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

uno de los ejemplos del IDE sirve para medir valores en analógico conectando el ldr al pin A0. Si lo lees en el pin 7 como tu habias puesto solo lee en digital, es decir 1 o 0. Con el analogRead podrás leer entre 0 y 1023, con un map lo puedes ajustar al intervalo 0-255
Logged

0
Offline Offline
Full Member
***
Karma: 2
Posts: 110
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

el LDR es una resistencia que varía con la luz, generalmente con una resistencia de 1 ó 10K suelen ir bien para poner en un puerto analógico.
Logged

Pages: [1]   Go Up
Jump to: