collapse

* Posts Recentes

Como reproteger as pontas de cobre do ferros de soldar? por vasco
[Ontem às 18:53]


é preciso ter cuidado com ESD? por vasco
[15 de Dezembro de 2018, 21:26]


Bibliotecas para arduino e drivers de stepper - o problema da 'distracção' por SerraCabo
[14 de Dezembro de 2018, 12:12]


Potênciometro 4.7 ou 5 KOhm com switch por brunus
[13 de Dezembro de 2018, 19:35]


Zener BZW04-105? por brunus
[11 de Dezembro de 2018, 17:34]


Artigo 11, 13 e os restantes por jm_araujo
[10 de Dezembro de 2018, 11:05]


Compra Colectiva Mouser N3-2018 (limite 25 Nov) por Hugu
[10 de Dezembro de 2018, 01:07]


Ajuda para reparar Luzes de LED de Natal por brunus
[09 de Dezembro de 2018, 00:59]


Usar steppers de 5 pontas como se fossem de 4 pontas por SerraCabo
[08 de Dezembro de 2018, 21:18]


LusoRobótica - Website - Estado actual por Tech_JA
[06 de Dezembro de 2018, 09:18]

Autor Tópico: Identificar uma cor  (Lida 3665 vezes)

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

Offline Pedro Almeida

  • Mini Robot
  • *
  • Mensagens: 15
Identificar uma cor
« em: 07 de Janeiro de 2009, 10:58 »
Um dos objectivos do robots é identificar uma determinada cor (nomeadamente "aluminio" e verde).

Para nao termos de gastar 50e num sensor de cor pensamos em usar um receptor e um emissor de infra-vermelhos. Como funcionaria?

abc

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.062
  • El RoboSapiens
Re:Identificar uma cor
« Responder #1 em: 07 de Janeiro de 2009, 11:26 »
compras um sensor na sparkfun e já só pagas 25€ ;D ;D lol

Offline ngoncalves

  • Mini Robot
  • *
  • Mensagens: 145
    • Thinking Olive Tree
Re:Identificar uma cor
« Responder #2 em: 07 de Janeiro de 2009, 11:35 »
Suponho que isto seja para a prova do RobotCup Rescue, certo ? Sem saber detalhes do setup, assumo que o led receptor é um transistor em que a corrente de base é proporcional à intensidade de luz infra-vermelha recebida.

Um método simples.  Colocar os dois leds lado a lado, de forma a que o receptor só consiga ver a luz de infra-vermelho reflectida e não directamente do emissor. Depois:

   1º) Colocar a cor "verde" em frente aos dois leds e medir a corrente que passa no led receptor. Seja esta corrente Iv

   2º) Colocar a cor "alumínio" e medir novamente a corrente, corrente Ia

   3º) Colocar a cor "branco" e medir novamente a corrente, corrente Ib

  Estes três passos devem ser repetidos até se encontrar um conjunto de intervalos tais que se a corrente medida estiver num destes intervalos, então a cor é conhecida.

   Por exemplo, assume que a cor aluminio dá o intervalo [Ia_1, Ia_2], a cor verde [Iv_1, Iv_2] e a cor branco [Ib_1, Ib_2]. Assume que a corrente medida é Im. Então é a cor aluminio se: Ia_1 <= Im <= Ia_2. Ou é a cor verde se Iv_1 <= Im <= Iv_2

  Claro que para isto funcionar, os intervalos não se podem intersectar. Mas isso depende da precisão da medida, da proximidade do par emissor/receptor à cor e ao ruído de fundo. O Sol, por exemplo, emite radiação infra-vermelha que pode corromper a medida. Pode, por exemplo, acontecer que as medidas feitas de manhã sejam muito diferentes das medidas feitas ao meio-dia.

  Se isto for feito com luz artificial, depende do tipo de luz. Mas se esta for constante, não deve de influenciar muito.
« Última modificação: 07 de Janeiro de 2009, 12:25 por TigPT »
-----
Ambient intelligence, mobile robotics, life. 42
http://www.thinkingolivetree.blogspot.com/

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.334
    • Tiago Rodrigues
Re:Identificar uma cor
« Responder #3 em: 07 de Janeiro de 2009, 12:31 »
Pouco mais posso dizer do que o ngoncalves já disse.

Posso acrescentar que um truque muito bom para eliminar o ruído é o de fazer uma "saia" algo escuro em volta do robot que tape a luz exterior.

Se os valores não estiverem no intervalo pretendido, ou seja estes se cruzem podes optar por variar de led emissor de luz para verde melhorando as leituras com a superfície verde pois irá reflectir mais luz.

Podes também fazer este sistema com um LDR (resistência variável consoante a luz recebida) e com led verde para obter muita reflexão sobre verde.

Diversos leds a fazer emissão de luz em tempos diferentes e leituras diferentes podem melhorar os resultados.

Citação de: Exemplo
Emites luz verde e lês o valor da LDR,
Emites luz azul e lês o valor da LRD,
Emites luz vermelha e lês o valor da LDR,
Emites luz branca e lês o valor da LDR.

Não digo que utilizes todos mas se tiveres problemas podes adicionar um e ver se melhora. Como é óbvio a superfície verde reflectirá mais cor verde que vermelha e o LDR terá respostas diferentes.
« Última modificação: 07 de Janeiro de 2009, 12:33 por TigPT »

Offline Pedro Almeida

  • Mini Robot
  • *
  • Mensagens: 15
Re:Identificar uma cor
« Responder #4 em: 14 de Janeiro de 2009, 10:42 »
obrigado, se tiver alguma duvida posto aqui.