Olá,
Desta vez vou postar sobre uns sensores infra-vermelhos em que o emissor IR e o photo-transistor estão integrados no mesmo módulo.
IntroduçãoEstes sensores são muitas vezes utilizados em robôs para seguir linhas mas têm muitas outras aplicações, como por exemplo o uso em encoders de motores e detecção de objectos a pequenas distancias.
Estes módulos funcionam através da emissão de um feixe IR que dependendo de haver um objecto a reflectir ou não na direcção do photo-transistor vai fazer com que este entre em condução ou não.
Devido às características das cores banco e preto, em que o branco é a cor que mais reflecte e o preto a cor que menos reflecte (podemos também pensar que o branco absorve pouca luz enquanto que o preto absorve muita), podemos usar estas cores para controlar o funcionamento do sensor. Assim quando usado o sensor contra um objecto branco, por exemplo uma folha, vai ter uma reacção oposta em relação a utilização de um objecto com cor preto. Este facto permite usar este sensor para seguir uma linha, medir a velocidade de uma roda.
Neste teste usei o sensor para distinguir o branco do preto numa roda e através disto saber a velocidade da mesma.
Usando esta forma, podemos saber que ao final de o sensor mudar 4 vezes de estado, isto é, começar no preto -> branco -> preto -> branco e voltar ao preto, a roda deu uma volta completa, através do perímetro da roda podemos logo saber a distancia que percorreu. Então se por exemplo de
t em
t segundos fizermos (número de voltas)/
t obtemos a velocidade média da roda no intervalo
t.
Electrónica \ MontagemAtravés da análise da datasheet podemos encontrar as informações sobre os pinos do sensor.
Assim podemos criar o seguinte esquema:
A resistencia R1 é de 190 Ohms e não 83 Ohms como indicado na imagem.As resistências R1 e R2 devem ser calculadas em função do sensor utilizado, para isto devemos analisar a datasheet e apurar qual a corrente tanto no díodo como a corrente que o photo-transitor conduz.
Usando a tabela das características eléctricas tiramos para o LED :
IF = 20mA
VF = 1.2VÉ necessário incluir a queda de tensão do LED nas contas.
(V-Vf) = R * If <=> R = V / If <=> R = (5V-1.2V) / 20mA = 190 Ohms Para o photo-transistor devemos verificar +- entre que valores pode variar a corrente no colector, assim podemos escolher uma resistência em função disso, no entanto como a corrente do photo-transistor em função da luz que incide neste não é linear, R2, pode ser ajustado testando vários valores para R2 ou por exemplo usando um potenciómetro para calibrar o que nos der mais jeito.
Obrigado ao Njay pela correcção nesta parte
Implementação: Arduino \ Micro-controladoresPara utilizar agora o sensor no Arduino, ou outro micro-controlador, vamos utilizar uma das entradas analógicas, assim pode-se usar o sensor para medir distancias até 1,2cm no entanto no tipo de aplicações que referi, distinguir duas cores, seria útil fazer a comparação através de um comparador e posteriormente utilizava-se uma entrada digital do micro-controlador.
Um simples código para testar pode ser:
#define sensorIR 0
void setup(){
Serial.begin(9600); //Para podermos ver o valor na consola
}
void loop(){
Serial.println(analogRead(sensorIR));
delay(50);
}
Um código para contar o numero de voltas:
#define sensorIR 0
int var_sensorIR = 0;
int contaVoltas = 0;
boolean estadoPreto = false;
void setup(){
Serial.begin(9600); //Para podermos ver o valor na consola
}
void loop(){
var_sensorIR = analogRead(sensorIR);
if(estadoPreto && (var_sensorIR < 400)){
contaVoltas++;
estadoPreto = false;
}
DocumentosDatasheet:
http://www.farnell.com/datasheets/13066.pdfProdutoFabricante:AVAGO TECHNOLOGIES
Referencia do Fabrincante:APDS-9104-L22
Nota:Eu comprei na farnell por 0,61€
http://pt.farnell.com/avago-technologies/apds-9104-l22/sensor-proximity-reflective-0-10mm/dp/1532444 mas pode ser encontrado noutras lojas e nem precisa de ser exactamente este modelo
Espera que seja util e se tiver erros digam qualquer coisa
Abraço