collapse

* Posts Recentes

O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Led´s IR como sensores de distância  (Lida 20060 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re:Led´s IR como sensores de distância
« Responder #15 em: 09 de Abril de 2009, 09:37 »
Para transmitir dados via IV, e com modulação, sem usar os pares TX/RX industriais, tem que se fazer alguma "ginástica", que vai cortar bastantes custos ao sistema.

Assim, os dados são de formato digital :: 10101010101011000. Certo?
Significa que quando há um 1, a luz está ligada, e quando há um 0, a luz está desligada. Correcto?

Então, modular estes sinais para combater o ruido ambiente, basta simplesmente "modular" o sinal aplicado ao TX IV, com uma frequência na ordem dos 37k-40kHz.
De cada vez que o RX IV detectar uma luz modulada a essa frequência, vai deitar um 1 para fora. E quando não tem luz, deita 0.

Isto que acabei de explicar, é fazer transmissão de dados de forma "transparente", quase que como a substituir um cabo, mas em formato half-duplex.



Mas há uma forma melhor de o fazer, e que combate ainda melhor o ruido.
Que é detectar o tempo que a luz modulada está activa.

Se a luz modulada estiver ( 10ms < y < 12ms ) ligada, então temos um 1 transmitido.
Se a luz modulada estiver ( 20ms < y < 22ms ) ligada, então temos um 0 transmitido.

Para tornar este sistema simples, barato e fiavel, normalmente usa-se um microcontrolador para fazer estas medições e devolver os dados em formato série/paralelo.


Espero ter sido sucinto e claro o sufice. Disponham!



Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:Led´s IR como sensores de distância
« Responder #16 em: 09 de Abril de 2009, 10:16 »
mas depende do receptor? vi um a venda que dizia:
frequencia: 34Hz

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Led´s IR como sensores de distância
« Responder #17 em: 09 de Abril de 2009, 11:57 »
Algumas coisas percebi outras nem por isso,
Por exemplo:
Temos um IR emissor e um IR receptor.

1ª Parte)
Vou usar um micro, por exemplo arduino, e vou modular o IR emissor usando uma onda PWM à frequência de 37KHz.
A mesma frequencia de 37KHz vou ler o receptor.

Depois por exemplo para mandar um byte, por exemplo o 10110001, faço por exemplo:
Modular o emissor durante: 10ms; Ler o receptor durante 20ms; se durante estes 20ms esteve ligado mais que 10ms = 1
Modular o emissor durante: 20ms; Ler o receptor durante próximos 20ms; se durante estes 20ms esteve ligado durante 20ms = 0;
Modular o emissor durante: 10ms; Ler o receptor durante 20ms; se durante estes 20ms esteve ligado mais que 10ms = 1
Modular o emissor durante: 10ms; Ler o receptor durante 20ms; se durante estes 20ms esteve ligado mais que 10ms = 1
Modular o emissor durante: 20ms; Ler o receptor durante próximos 20ms; se durante estes 20ms esteve ligado durante 20ms = 0;
Modular o emissor durante: 20ms; Ler o receptor durante próximos 20ms; se durante estes 20ms esteve ligado durante 20ms = 0;
Modular o emissor durante: 20ms; Ler o receptor durante próximos 20ms; se durante estes 20ms esteve ligado durante 20ms = 0;
Modular o emissor durante: 10ms; Ler o receptor durante 20ms; se durante estes 20ms esteve ligado mais que 10ms = 1

É isto?

E porque simplesmente não fazemos ligado = 1 e desligado = 0?

Offline DanBar

  • Mini Robot
  • *
  • Mensagens: 685
    • iCAR Lusorobotica Blog
Re:Led´s IR como sensores de distância
« Responder #18 em: 09 de Abril de 2009, 12:09 »
O meu funciona bem envio e recebo depois o reflexo no obstáculo.

Aqui está o meu código...

Código: [Seleccione]
#define IrLedPin 15        // IR Led Sender (Analog 1)
#define IrSensorPin 16     // IR sensor Receiver (Analog 2)

// IR Distance Sensor
int irRead();
byte irObstVal = 1;
byte irObstValOld = 0;

void setup()
{
  pinMode(IrLedPin, OUTPUT);        // IR Led Sender (Analog 1)
  pinMode(IrSensorPin, INPUT);     // IR sensor Receiver (Analog 2)

  Serial.begin(9600);
  delay(100);
}

void loop()
{
  // IR Distance Sensor
  irRead();
  if (irObstVal==0) { // Detectou
     irObstValOld=irObstVal;
     Serial.println("Obstaculo");
  } else {
     
  }
}

/******************************************************************************
 * This function can be used with a panasonic pna4602m ir sensor
 * it returns a zero if something is detected by the sensor, and a 1 otherwise
 * The function bit bangs a 38.5khZ waveform to an IR led connected to the
 * triggerPin for 1 millisecond, and then reads the IR sensor pin to see if
 * the reflected IR has been detected
 ******************************************************************************/
static int irRead()
{
  int halfPeriod = 13; //old int one period at 38.5khZ is aproximately 26 microseconds
  int cycles = 38; //Old int26 microseconds * 38 is more or less 1 millisecond
  int i;
  for (i=0; i <=cycles; i++)
  {
    digitalWrite(IrLedPin, HIGH);
    delayMicroseconds(halfPeriod);
    digitalWrite(IrLedPin, LOW);
    delayMicroseconds(halfPeriod - 1);     // - 1 to make up for digitaWrite overhead
  }
  irObstVal = digitalRead(IrSensorPin);
  return irObstVal;
}

Basta alterar o int cycles = 38; e assim dá para a frequencia desejada.  ;D

« Última modificação: 09 de Abril de 2009, 12:11 por iCAR »
Antigo Nick do Forum: iCAR

Projectos iCAR
icar.lusorobotica.com

DB@G
http://www.facebook.com/daniel.barradas

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Led´s IR como sensores de distância
« Responder #19 em: 09 de Abril de 2009, 20:49 »
Mas no teu exemplo o sensor pode ser enganado por outra fonte de IR com outra frequência.

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re:Led´s IR como sensores de distância
« Responder #20 em: 10 de Abril de 2009, 11:28 »
Modular o emissor durante: 20ms; Ler o receptor durante próximos 20ms; se durante estes 20ms esteve ligado durante 20ms = 0;
Modular o emissor durante: 10ms; Ler o receptor durante 20ms; se durante estes 20ms esteve ligado mais que 10ms = 1
É isto?

E porque simplesmente não fazemos ligado = 1 e desligado = 0?


Sim, é isso.

A resposta à 2a pergunta está explicada no meu post anterior, e prende-se com o facto de o simples ligado=1 desligado=0, não ter qualquer protecção contra o ruido ambiente.
Há que usar um "protocolo" em ambas as partes, para combater estes ruidos.

Vejam se isto se adapta as vossas necessidades. Possivelmente para medir distâncias, não seja necessário.
Mas, para transmitir dados entre Bots é óptimo, e sem usar rádios. Para usar Farois em vários sitios, em que cada um tm um ID diferente.
Há muita coisa que pode ser feita à volta disto. Haja tempo!


Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Led´s IR como sensores de distância
« Responder #21 em: 10 de Abril de 2009, 14:48 »
Citar
Modular o emissor durante: 20ms; Ler o receptor durante próximos 20ms; se durante estes 20ms esteve ligado durante 20ms = 0;
Modular o emissor durante: 10ms; Ler o receptor durante 20ms; se durante estes 20ms esteve ligado mais que 10ms = 1
É isto?

Mas mesmo neste exemplo se eu apontar um IR qualquer para o emissor ele vai detectar, certo?

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re:Led´s IR como sensores de distância
« Responder #22 em: 11 de Abril de 2009, 09:27 »
A um emissor não vais ter nada.

Mas a um receptor simples, se não for dos comerciais com 3 pinos que só reagem a sinais modulados, sim, vais ter sinal na saida, nrmalmente em forma de corrente variavel.

Os comerciais de 3 pernas, se aparecer uma luz modulada à mesma frequência, pôem 1 na saida. Há vários fabricantes, e cada um usa uma freq diferente.


Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Led´s IR como sensores de distância
« Responder #23 em: 12 de Abril de 2009, 15:10 »
Podes-me dar um exemplo desses receptores de 3 pinos por exemplo na http://pt.farnell.com e como defino a frequencia a que quero que o receptor funcione?

E sim era recptor que queria dizer e não emissor.

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re:Led´s IR como sensores de distância
« Responder #24 em: 13 de Abril de 2009, 15:23 »
Tens estes transceivers :: http://pt.farnell.com/jsp/search/browse.jsp?N=500007+1002433&Ntk=gensearch_001&Ntt=irda&Ntx=, TX e RX na mesma caixa

E esta página dá-te mais informação :: http://jap.hu/electronic/codec.html

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Led´s IR como sensores de distância
« Responder #25 em: 14 de Abril de 2009, 13:34 »
Eu saquei um dos telemóveis deste género mas não encontrei datasheet. E não encontras-te nenhum só receptor?

A frequência do receptor não pode ser alterada, ao comprar tenho logo que decidir que frequencia vou usar, certo?
« Última modificação: 14 de Abril de 2009, 13:42 por metRo_ »

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re:Led´s IR como sensores de distância
« Responder #26 em: 15 de Abril de 2009, 12:47 »
nao encontrei, fiz uma busca rápida também...

E sim, cada receptor com saida digital, está feito para uma frequência que ja vem definida de fábrica.


Offline Reonarudo

  • Mini Robot
  • *
  • Mensagens: 114
  • Nano Soldering Master
Re:Led´s IR como sensores de distância
« Responder #27 em: 04 de Maio de 2009, 22:47 »
Um LED IR pode servir como sensor de IR? Eu uso os LEDs normais como LDR mas não sei que gama do espectro cada um detecta. Por isso agora minha duvida será que um LED vermelho detecta só a frequência vermelha, um verde a frequência verde, etc, etc e tal?
Leonardo Marques

Offline Raul

  • Mini Robot
  • *
  • Mensagens: 185
Re:Led´s IR como sensores de distância
« Responder #28 em: 29 de Julho de 2009, 22:11 »
Boa noite.

Vim para a este tópico porque quero construir um robô que siga uma linha .
Já tinha visto um esquema parecido com esse que vou utilizar no meu robô o link desse esquema esta aqui http://www.societyofrobots.com/schematics_infraredemitdet.shtml
mas tenho uma dúvida não sei como é que ele trabalha com uma linha branca, não sei se ao estar apontar para uma linha branca passa 1 ou passa 0.

Eu estava a pensar fazer o próprio cérebro do robô com portas lógicas, é possível? Eu penso que sim XD

Eu tenho uma dúvida a cerca do esquema e como sou novo nisto não se admirem de eu ter muitas dúvidas.
Comprei um adaptador semelhante a este  no chinês para fazer os esquemas, como é que faço o Gnd do esquema (ligo onde) ?
http://www.germes-online.com/direct/dbimage/50017174/AC_DC_Adaptor_500MA.jpg


Supostamente o Vout ligo à entrada das portas lógicas que ainda tenho de ver como vou implementar a lógica, certo?


Fiquei muito contente quando descobri à pouco tempo que havia um site português de robótica que podia-mos esclarecer dúvidas.
Cumprimentos e desde já obrigado pela ajuda.
« Última modificação: 29 de Julho de 2009, 22:13 por Raul »

Offline Raul

  • Mini Robot
  • *
  • Mensagens: 185
Re: Led´s IR como sensores de distância
« Responder #29 em: 13 de Novembro de 2009, 18:23 »
Construí esse sensor e não trabalha.
já tentei de tudo já vi os componentes não compreendo o porque de não trabalhar.
tenho um projecto entre mãos que não o consigo acabar porque os sensores não trabalhão.
http://lusorobotica.com/index.php/topic,1287.0.html
O link diz os materiais que usei.
Se alguém me puder ajudar, agradecia.

Cumprimentos