Adquira estes componentes na Loja do Lab de Garagem
Neste tutorial vamos mostrar como utilizar o breakout sensor de linha com Arduino. O sensor de linha é utilizado comumente em robôs seguidores de linha ou qualquer aplicação que necessite identificar maior ou menor reflexão de luz.
Este sensor funciona com saída digital, utilizando descarga do capacitor para a reflexão do led para o fototransistor. Quanto mais rápido o capacitor descarrega, maior será a refletividade da superfície. Este breakout tem a versão digital (que será demonstrada aqui) e a versão analógica.
Aqui podemos ver o esquemático do breakout:
O capacitor de 10nF ao ser descarregado, faz com que haja maior ou menor refletividade no fototransistor.
Para ver o datasheet do sensor QRE1113, clique aqui!
Para poder adquirir os dados do sensor faça a seguinte ligação:
Agora, abra a IDE do Arduino e cole a seguinte programação:
int SensorPin=2;
int Sensorval=LOW;
void setup()
{
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop()
{
pinMode(2,OUTPUT); // Primeiro é necessário configurar o pino do Arduino (digital 2) que conecta o Vout do
digitalWrite(2,HIGH); //breakout como saída para descarregar o capacitor, colocando o pino digital 2 do Arduino
delayMicroseconds(10); // em alto (HIGH) e depois uma espera de 10 microssegundos
pinMode(2,INPUT); // E por fim configura o pino do Arduino (digital 2) como entrada
long time = micros();
// Enquanto o tempo for menor que 3000 microssegundos e o pino do sensor for alto (HIGH), então o valor do sensor
// será a diferença entre o tempo atual e o tempo anterior.
while (digitalRead(SensorPin) == HIGH && micros() - time < 3000);
int diff = micros() - time;
Sensorval=diff;
if(Serial.available()>0);
{
Serial.println(Sensorval);
}
delay(500);
}
Pronto!! Esperamos que tenham gostado do tutorial! Caso tenham dúvidas sobre o sensor de linha, postem aqui mesmo no blog! Se tiverem sugestões, vocês podem postar aqui!Para ver nossos outros tutoriais e projetos aberto desenvolvidos por garagistas e pela equipe LdG, cliquem aqui e aqui, respectivamente!
Referências:
http://www.sparkfun.com/products/9454
http://www.sparkfun.com/datasheets/Robotics/QRE1113-Digital-Breakou...
http://bildr.org/2011/06/qre1113-arduino/
http://www.sparkfun.com/datasheets/Robotics/QR_QRE1113.GR.pdf
Comentar
Somente com esta programação o robô segue a linha? Porque é iniciada a serial? Não teria um video explicativo para isso?
Obrigado
Como utilizar esse sensores no Garagino Rev 1 ?
Estou Fazendo um Robô, mais parece que os sensores não leem a linha.
quebrou um galho ... gostei :)
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)