LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: djimp em 22 de Junho de 2010, 21:05

Título: Arduino + ldr + leds
Enviado por: djimp em 22 de Junho de 2010, 21:05
Boa noite, recebi hj o meu arduino, tenho visto vários videos com o sensor ldr a controlar um led, a minha questão é se da para fazer a controlar 2 led´s, tudo consoante a luz, um liga, e outro desliga.

Se me poderem ajudar.

Ivo
Título: Re: Arduino + ldr + leds
Enviado por: senso em 22 de Junho de 2010, 21:32
Podes fazer algo tipo:
Código: [Seleccione]
#define LedPin1 4  //led 1 no pino digital 4
#define LedPin2 5  //led 2 no pino digital 5
#define LdrPin 0    //ldr ligado no analog 0

int ldr;  //variavel para guardar o valor lido do ldr

void setup(){
pinMode(LedPin1, OUTPUT);  //definir os pinos dos leds como saidas digitais
pinMode(LedPin2, OUTPUT);
}

void loop(){
 ldr=analogRead(LdrPin);  //lê o valor do ldr usando a adc no pino 0

 if(ldr>512){
   digitalWrite(LedPin1,LOW); //coloca o led1 a 0(desligado)
   digitalWrite(LedPin2,HIGH); //colocar o led2 a 1(ligado)
 }
 else{
   digitalWrite(LedPin1,HIGH);  //coloca o led1 a 1(ligado)
   digitalWrite(LedPin2,LOW);} //coloca o led2 a 0(desligado)

}
Basicamente é isto, penso que é simples o suficiente para entenderes, mas se não perceberes diz que tento explicar melhor, não sei se está escrito sem erros.
Título: Re: Arduino + ldr + leds
Enviado por: bdesigns em 23 de Junho de 2010, 01:19
LDR dão mesmo para brincar ;) aconselho-te a testares varias maneiras, e a experimentares o uso do PWM.

Por exemplo um dos dois leds dizia-te o quanto estava escuro, o outro o quanto estava iluminado (a velha historia do copo meio cheio, meio vazio), terias sempre o inverso um do outro ;)

Não te esqueças que:
o analogRead(pin)-> retorna um valor entre 0 e 1023;
o analogWrite(pin, value) ->value tem de estar entre 0(off) e 255(on);

Tem sempre http://arduino.cc/en/Reference/Extended (http://arduino.cc/en/Reference/Extended) a mão, dá muito jeito ;)

Título: Re: Arduino + ldr + leds
Enviado por: djimp em 23 de Junho de 2010, 15:04
fiz as ligacoes como estava no programa, mas ao ligar só me acende um led e nao faz mais nada.. será da ligação ou do programa?
Título: Re: Arduino + ldr + leds
Enviado por: senso em 23 de Junho de 2010, 17:31
Já experimentas-te chegar um candeeiro ao ldr ou tapa-lo com a mão para ele não receber luz?
Eu não sei se os ldr é só ligar á massa ou aos 5v e á entrada analógica se tem de ter mais alguma coisa pelo meio, experimenta alterar o 512 para outro valor maior ou mais pequeno e faz variar a luz que o ldr recebe.
Título: Re: Arduino + ldr + leds
Enviado por: Sérgio_Sena em 23 de Junho de 2010, 18:25
Alguns LDRs não lhes chega tapar com a mão.

Algumas tampas de caneta, que são pretas e opacas funcionam bem. É deslizar o LDR lá para dentro.
Título: Re: Arduino + ldr + leds
Enviado por: AcidDagger em 23 de Junho de 2010, 18:43
tapar com a mão chega sim, faz variar os valores lidos lidos arduino... é o bastante...  :) so que ele deve ter feito copy paste ao código e nem deve ter reparado nos valores.

Para saberes que valores tás a jogar aconselho-te a fazer

#define sensor 5 // sensor ligado ao pin analogico 5
int AnalogValue=(AnalogRead(sensor));
Serial.println(AnalogValue, DEC); // imprimir o valor na consola

não faças copy paste disto, ate porque nao iria funcionar... mas usa isto e passa com a mão e vê se os valores lidos variam ou nao... Experimenta  :P
Título: Re: Arduino + ldr + leds
Enviado por: djimp em 23 de Junho de 2010, 22:22
Deixo aqui uma foto de como fiz a ligação.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg684.imageshack.us%2Fimg684%2F5459%2F23062010311.jpg&hash=96e7d3b57c8d76fe55909d8d90c9b00be30e4527) (http://img684.imageshack.us/i/23062010311.jpg/)

Será que está bem? no LDR ja meti nos 5v e no o outro pin no 0 como foi dito GND e fica na mesma, penso que a ligação esteja bem, no programa já nao sei, pois nao percebo muito de linguagem C, mas quero aprender pois isto é inovador  :D

Ivo
Título: Re: Arduino + ldr + leds
Enviado por: AcidDagger em 23 de Junho de 2010, 22:48
assim há primeira vista tens o ldr mal ligado, não é no gnd mas sim nos 5v. e depois acho que é melhor pores uma resistencia de 220OMG nos leds, nao sei quais leds usas mas faz as contas R=U*I

U=ddp
I=intensidade

vê na datasheet...
Título: Re: Arduino + ldr + leds
Enviado por: bdesigns em 23 de Junho de 2010, 23:18
Olha esses leds, uma resistencia como foi dito de 220 chega ;)

Experimenta ligar o LDR assim
5V-->res 1kOhm ->Entrada Analog -> LDR -> Gnd

Título: Re: Arduino + ldr + leds
Enviado por: AcidDagger em 23 de Junho de 2010, 23:30
ha tantos esquemas de ldr's, para que complicar?

http://webzone.k3.mah.se/projects/arduino-workshop/projects/arduino_meets_processing/instructions/ldr.html (http://webzone.k3.mah.se/projects/arduino-workshop/projects/arduino_meets_processing/instructions/ldr.html)

faz isso que depois dou-te ajuda no código  :)
Título: Re: Arduino + ldr + leds
Enviado por: amando96 em 23 de Junho de 2010, 23:54
Precisas de uma resistencia com o LDR, para fazeres um divisor de tensão...
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2F2.bp.blogspot.com%2F_pN9NjDAkrKI%2FRoH_7NG-qzI%2FAAAAAAAAAEQ%2F6JuF3BTS_fM%2Fs400%2FARDUINO_LDR.GIF&hash=4e28b7d3b55a1ee99c9b163c24c399c1c460e4f6)