Tem algum sensor de cor de arduino que além de ler rgb lê preto e branco?
Tags:
Para que seria ?
Existem sensores de marcas, como sensores reflexivos comuns e baratos.
Vide:
Mas também vc pode calcular o nivel de cinza equivalente de uma cor com a equação:
Y = 0.299R + 0.587G + 0.114GB
O nivel de cinza também é chamado de luminancia.
Ref:
http://www.mat.ufmg.br/gaal/aplicacoes/sistemas_de_coordenadas_de_c...
Boa tarde,
Poderia informar mais detalhes sobre o seu questionamento?
Com essas "cores" específicas, só consigo "enxergar" uma solução.
Usar uma camera digital e fazer o processamento de imagem.
Não sei se daria certo.
Câmera Vga Ov7670 Para Arduino
O módulo câmera VGA OV7670 é um módulo que permite a captura e armazenamento de imagens coloridas pelo seu Arduino, com uma taxa de atualização de até 30 frames por segundo, com resolução máxima de 640 x 480 Pixels.
https://create.arduino.cc/projecthub/techduino/visual-capturing-wit...
Acho que o Eduardo Marcondes já deu dica de como fazer isso.
Olá Gustavo!
Sim, a resposta do Eduardo não deixou dúvidas.
Assim como eu já tinha respondido em outro post que Kaione fez sobre o mesmo assunto praticamente no mesmo dia:
http://labdegaragem.com/forum/topics/sensor-de-cor-arduino
Não sei porque a necessidade de duplicar o post.
Acho que as pessoas quando entram num fórum precisam ter o mínimo de etiqueta, educação e saber como se portar.
Se não entendeu ou não gostou da resposta do Eduardo nem da minha, ao menos deveria agradecer ou explicar melhor o que quer.
Precisou você intervir para Kaione se manifestar.
Lastimável, pois é um assunto interessante...
http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
Kaione, Ok
Está esclarecida a confusão.
Como o Eduardo disse, se você precisa mesmo usar o TCS para detectar o preto e branco vai ter que partir para uma fórmula ou estabelecer um critério de tolerância para cada fator RGB.
Como disse, os tons de cinza possuem R = G = B
Quem sabe o Eduardo H. Marcondes pode nos ajudar explicando o Y da fórmula
Y = 0.299R + 0.587G + 0.114GB.
Li o documento que ele postou e, como eu não conhecia essa fórmula, fiz uns cálculos com ela, mas não consegui descobrir na Internet como tratarmos o valor de Y para determinarmos o preto ou branco ou algo parecido...
O valor de Y é a luminancia, ou luminosidade equivalente da cor.
Segundo a teoria se fizermos uma comparação direta de cada cor com o tom de cinza que nos parece ter o mesmo brilho para cada cor pura dá uma diferença.
Em outras palavras, percebemos melhor o verde, um pouco menos o vermelho e menos ainda o azul.
Por isso se vc pegar uma foto colorida e tentar representar ela em preto e branco fazendo uma media simples das intensidades de R, G e B não vai ficar bom. Para ficar realmente bom vc precisa usar essas proporções: Cinza equivalente = 0,587Verde + 0,299Vermelho + 0.114 Azul.
Agora, se vc quer saber por ex se sua cor é um amarelo o caminho é bem mais longo !
Para fazer essa volta vc precisa calcular como vetor, como o mesmo documento fala.
Aqui acho que está mais bem explicado:
http://www.bdita.bibl.ita.br/tesesdigitais/000489345.pdf
Complica um pouco, mas vc precisa transformar de RGB para Matiz, Satuação e Brilho.
Matiz é um angulo em um circulo de cores, como no CorewDraw para escolher as cores, tem um modo de escolher em um circulo (muitos outros programas usam isso).
Saturação é o quanto a cor é pura. Se é um Vermelho puro ou um vermelho claro, contaminado com branco.
Brilho é a luminosidade ou luminancia.
Se vc captura RGB captura qualquer cor. É uma questão de interpretar os dados. Assim como com 3 leds RGB se faz qualquer cor. Basta acionar na intensidade certa.
Sobre detectar prata, aih não. Não é possivel com um sensor RGB saber se é prata. Vc precisaria de um sensor mais elaborado. Prata pra esses comuns é igual cinza ou branco. Se for um espelho dá branco pq ele reflete todas as cores como o branco.
A opção de usar uma camera também é otima, mas usaria um raspberry ou PC rodando processing. Veja uns videos em processing.com
PS.:
Na formula que copiei da minha referencia veio um GB no final, saiu errado, erá só B de blue.
Olá Eduardo!
Não errou não. A referência original também vem com GB.
O pior é que fiz vários cálculos com a fórmula errada e não cheguei a conclusão nenhuma! Kkkk
Bem que achei sem sentido o GB...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por