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

Como programar e ligar um simples emissor e receptor de infravermelho?

Started by Riccarvalhinho, 18 de March de 2011, 20:19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Riccarvalhinho

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

amando96

nunca vi os pinos analógicos declarados assim, mas não toco nisto há muito tempo...

Podes postar um esquema de como ligaste tudo?

senso

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.
Avr fanboy

Riccarvalhinho

O meu receptor so tem dois pinos...  :-[
(parece-se com um led normal)

beirao

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
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein


Riccarvalhinho

Quote from: beirao on 21 de March 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

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  :-\)


ricardo93


Riccarvalhinho

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?

senso

A4 quer dizer que é o analógico 4, é assim no novo IDE do Arduino...
Avr fanboy

Junior Frota

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!
"Nossa maior fraqueza está em desistir. A forma mais certa de vencer, é tentar mais uma vez" (Thomas Edson)