LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Rebel em 23 de Abril de 2009, 11:09

Título: Duvida analogRead() e digitalRead()
Enviado por: Rebel em 23 de Abril de 2009, 11:09
Tenho estado a testar um código no Arduino para detectar objectos à frente do meu PJBot por IR que me está a dar umas dores de cabeça.
Quando faço analogRead() tenho valores que vão desde perto de 0 ate 1024 e quando leio com digitalRead() só obtenho 0.
Alguém me pode ajudar???

Aqui fica parte do meu código:

#define irSensorPin 5

void setup()
{
  pinMode(irSensorPin, INPUT);
}

void loop()

  Serial.print(digitalRead(irSensorPin));
  Serial.print("-");
  Serial.println(analogRead(irSensorPin));
 
  delay(50);
}
Título: Re:Duvida analogRead() e digitalRead()
Enviado por: Njay em 23 de Abril de 2009, 11:46
Antes de mais tens que decidir se queres ler valores analógicos (0..1023) ou digitais (0 ou 1) do pino, o que depende do tipo de sensor.
Título: Re:Duvida analogRead() e digitalRead()
Enviado por: Rebel em 23 de Abril de 2009, 11:53
O sensor dá um valor digital. O problema é que tentei ler o valor digital e só obtinha 0 e por isso tentei ler o valor analógico e ai ja consegui ler valores entre 0-1024.
Título: Re:Duvida analogRead() e digitalRead()
Enviado por: Njay em 23 de Abril de 2009, 12:48
Se dá um valor digital então é para leituras digitais que tens que olhar. O teu sensor parece não estar a dar sinal (por qualquer motivo, não quero dizer que está avariado). Não precisas de um "pull-up" nesse pino? Tens a datasheet desse sensor? Que diz lá sobre a saída digital do sensor? Tem exemplos sobre como ligar?