• Welcome to LusoRobótica - Robótica em Português.
 

Duvida analogRead() e digitalRead()

Started by Rebel, 23 de April de 2009, 11:09

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Rebel

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);
}

Njay

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.

Rebel

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.

Njay

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?