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
-
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? =)
-
Só precisas de ler o valor do pino analógico onde está o LDR, e com um if acender o LED.
-
Lembra-te: sou novo nisto :P
O comando if eu domino, mas não sei como leio o valor analógico do LDR :-\
-
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()
-
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..
-
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)
-
Lê isto:
http://andredrobotics.wordpress.com/tutoriais/arduino-ldr/ (http://andredrobotics.wordpress.com/tutoriais/arduino-ldr/)
-
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..)
-
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?
-
O println muda de linha ao fim do texto e o outro não.
-
É so para dizer que já consegui! ;D
Obrigado a todos pelas ajudas ;)