LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Riccarvalhinho em 13 de Janeiro de 2011, 18:17

Título: [Duvida] LDR a controlar LED's
Enviado por: Riccarvalhinho em 13 de Janeiro de 2011, 18:17
Ola.
Eu sou novo à programação e no meu projecto de Área de projecto pretendo utilizar um LDR para accionar os LED's  de um parque de estacionamento (maqueta claro), assim que este detecte um determinado valor de luminosidade ou um valor abaixo do mesmo (Como aconteceria ao anoitecer).
Alguém me pode ajudar? =)
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: amando96 em 13 de Janeiro de 2011, 18:20
Só precisas de ler o valor do pino analógico onde está o LDR, e com um if acender o LED.
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: Riccarvalhinho em 13 de Janeiro de 2011, 18:29
Lembra-te: sou novo nisto  :P
O comando if eu domino, mas não sei como leio o valor analógico do LDR   :-\
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: senso em 13 de Janeiro de 2011, 18:35
Arduino certo?
http://lusorobotica.com/index.php?topic=22.0 (http://lusorobotica.com/index.php?topic=22.0)
Vê esses links da primeira página.

E nos exemplos do IDE tem lá como usar o analogRead()
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: ricardo-reis em 13 de Janeiro de 2011, 18:36
analogRead(ldrPin);

convém que o ldr tenha uma perna no vcc e outra no ldrPin.. a perna que vai a ldrPin deve ter uma resistência para ground..
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: Riccarvalhinho em 13 de Janeiro de 2011, 19:26
Ja tenho a resistencia e tudo ligado, so não sei o que é o vcc.
para já tenho:

int analogPin = 3; (nao percebo para que seve estes 2 antes do setup...  :o)
int val = 0;

void setup() {
  pinMode (13, OUTPUT);
  Serial.begin(9600); (...nem para que serve este  :P)
}
void loop() {
  val = analogRead(analogPin);
 
  if analogPin > ?? (não sei que valor definir aqui)
  {
    digitalWrite(13, HIGH);
  }
  else if analogPin <= ??
  {
  digitalWrite(13, LOW);
  }
}

A minha duvida é que eu não sei quais os valores limite das mediçoes do LDR. Isto pode não estar correcto, por favor avisem se detectarem algum erro (É bem provável  :P)
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: senso em 13 de Janeiro de 2011, 19:32
Lê isto:
http://andredrobotics.wordpress.com/tutoriais/arduino-ldr/ (http://andredrobotics.wordpress.com/tutoriais/arduino-ldr/)
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: ricardo-reis em 13 de Janeiro de 2011, 19:38
n sabes pra que é o Serial.begin(9600);  ? simples.. isso diz ao arduino qual a velocidade de comunicação por Serial.. com essa linha e mais uma no loop, consegues ler o valor do ldr e assim definir os limites que queres para acender/apagar o teu led.. a linha que deve aparecer no loop é o Serial.println(analogRead(ldrPin));

posto isto, fazes o upload do código pró arduino, e abres a consola (ultimo botão do painel de instrumentos do arduino ide) e vais passar a ver valores concretos do ldr.. (aconselho um delay(500); entre leituras..)
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: Riccarvalhinho em 13 de Janeiro de 2011, 20:02
Ah ok, entao assim depois ja é mais facil definir o valor que acciona os LED's! Obrigado  ;D
Qual é a diferença entre Serial.print e Serial.println?
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: senso em 13 de Janeiro de 2011, 20:05
O println muda de linha ao fim do texto e o outro não.
Título: Re: [Duvida] LDR a controlar LED's
Enviado por: Riccarvalhinho em 14 de Janeiro de 2011, 15:11
É so para dizer que já consegui!  ;D
Obrigado a todos pelas ajudas  ;)