LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Riccarvalhinho em 18 de Março de 2011, 20:19

Título: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: Riccarvalhinho em 18 de Março de 2011, 20:19
Estou a ter problemas a programar e ligar um receptor e um emissor IV, de modo a que quando o "feixe" for interrompido, este altere um valor (uma espécie de contagem)...

Penso que o problema está da maneira como eu estou a ligar tudo, especialmente o receptor. Se alguém me puder dar uma dica, agradecia imenso.
(estou a ligar o A4 ao positivo do receptor, e a resistência ao negativo, que por sua vez está ligada ao GND... acho que tenho de fornecer 5v, mas nao sei como)

Programa:

int emi = 12;
int rec = A4;
int IV = 0;
int nr = 15;

void setup() {
  pinMode(12, OUTPUT);
  Serial.begin(9600);
}
void loop() {
 
  digitalWrite(emi, HIGH);
 
 
  IV = analogRead(rec);
 
   if (IV < 110)
   {
     nr = nr - 1;
     delay (2000);
   }
 
  Serial.print("O valor do IV e igual a:");
  Serial.println(IV);
  Serial.print("Nr de lugares vagos:");
  Serial.println(nr);
 
 
delay(500);
   
}
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: amando96 em 18 de Março de 2011, 20:58
nunca vi os pinos analógicos declarados assim, mas não toco nisto há muito tempo...

Podes postar um esquema de como ligaste tudo?
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: senso em 18 de Março de 2011, 22:00
Se estás a usar um TSOP, um pino é massa, que é para ligar bem á massa, outro é o positivo, que ligas ao positivo/5v, e outro pino é a saida de sinal.
Os TSOP's não gostam de estar sempre a receber sinal porque saturam, precisam de funcionar com sinais pulsados e mesmo assim precisam de uns mili-segundos entre cada sinal.
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: Riccarvalhinho em 20 de Março de 2011, 19:26
O meu receptor so tem dois pinos...  :-[
(parece-se com um led normal)
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: beirao em 21 de Março de 2011, 00:06
entao tens um fotodiodo. Ou seja, o teu diodo conduz consoante a intensidade de luz emitida. Ou seja, quanto mais luz receber, mais corrente "gera". Assim, mete uma resistência em série com o receptor IV e medes a tensão na resistência (em relação à massa).. Sabendo a tensão e o valor da R, sabes a corrente. Depois fazes medições e sabes entre que valores o sensor detecta ou não o que tu queres
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: ricardo93 em 21 de Março de 2011, 08:53
Código: [Seleccione]
int rec = 4;
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: Riccarvalhinho em 21 de Março de 2011, 22:00
entao tens um fotodiodo. Ou seja, o teu diodo conduz consoante a intensidade de luz emitida. Ou seja, quanto mais luz receber, mais corrente "gera". Assim, mete uma resistência em série com o receptor IV e medes a tensão na resistência (em relação à massa).. Sabendo a tensão e o valor da R, sabes a corrente. Depois fazes medições e sabes entre que valores o sensor detecta ou não o que tu queres

Eu fiz isso, e consigo ver os valores, mas eles parecem variar mais com a luminosidade do que com a interrupção do feixe de IV em si (Nem sempre varia com a interrupção do feixe, e quando varia é muito pouco, o que se torna dificil para definir um valor para o efeito. Já com a luminosidade variam um pouco mais significativamente, o que não é suposto, visto nao se tratar de um LDR  :-\)
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: Riccarvalhinho em 21 de Março de 2011, 22:08
Código: [Seleccione]
int rec = 4;

Mas o receptor não tem de ser ligado como sensor analógico?
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: ricardo93 em 21 de Março de 2011, 22:16
tem, por isso utiliza-se
Código: [Seleccione]
analogRead()http://www.arduino.cc/en/Reference/AnalogRead (http://www.arduino.cc/en/Reference/AnalogRead)
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: Riccarvalhinho em 21 de Março de 2011, 22:51
Então tenho de por "int rec = 4;" em vez de "int rec = A4;" se não não funciona certo?
E quanto às ligações? 5v no positivo e A4 e GND no negativo, depois da resistência?
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: senso em 21 de Março de 2011, 22:59
A4 quer dizer que é o analógico 4, é assim no novo IDE do Arduino...
Título: Re: Como programar e ligar um simples emissor e receptor de infravermelho?
Enviado por: Junior Frota em 18 de Abril de 2011, 00:49
eu também tenho a dúvida do colega. Tenho um par de til 32 e til 78 e preciso desenvolver um sensor que verifique a presença de uma peça, no entanto, não tenho ideia de como eu ligo os mesmos e nem como seria o código para receber o sinal.

Esse sinal será analógico ou digital?

Eu posso deixar o led IR ligado constantemente ou o mesmo deve ficar pulsando?

Como seria o código para isso?

Como eu ligo tudo isso no Arduino Duemilanove?

Desde já, um abraço e muito obrigado!