Olá, eu estou fazendo um medidor de distância com rdoa ultilizando o arduino, e preciso saber para que lado a roda está girando, para isso estou usando 2 ldrs e 2 leds de alto brilho e fiz 16 furos em uma roda (eu vou colocar no final uma foto dela) para que cada vez que o furo passasse entre o led e o ldr, o ldr identificasse o brilho do led.
Quando eu rodo o roda devagar o arduino lê direitinho os 2 ldrs, porem é só rodar um pouco mais rápido que ele lê apenas um ldr dos 2 ldrs. Pelo que eu estava testando o motivo disso é porque quando giro a ela um pouco mais rápido ele entra no while do primeiro ldr e quando o segundo ldr iria terminar de ler o led, o arduino ainda está no while do primeiro ldr. Então gostaria de saber se tem como arrumar isso, desde de já eu agradeço.
https://pastebin.com/RMVvmVx6 //esse é o link do codigo no pastebin e anexei ele também
Tags:
Boa noite Sr. R.
Só ajudo amigos que não colam sketch na área de texto do tópico.
Sou velho e ranzinza.
Se remover o code, e anexar como arquivo, posso reconsiderar minha decisão de não ajudá-lo.
Leia: http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
Rui
me desculpe não sabia disso, porem já arrumei só nao sei se comentei o sketch direito.
O caminho é esse mesmo.
Os leds devem ser postos de forma que um esteja coberto quando o outro estiver num furo.
Vc chama um de passo e o outro de direção.
Aih vc presta atenção nas bordas do chamado passo.
Quando o passo por ex for de 1 pra 0 vc olha o outro. Se o outro estiver no furo está girando para um lado. Se estiver no fechado está girando para o outro.
Ref:
http://www.datataker.com/Datalogger_Manual/The%20Phase%20Encoder%20...
Bom dia Sr. R.
Vejo alguns problemas no seu projeto.
Em primeiro lugar:
O uso de duas funções analogread() seguidas:
ex: if((analogRead(ldr1)>=1000) && (analogRead(ldr2)<1000)) ,
a leitura dos valores nas porta analógicas, requerem um tempo entre uma e a outra.
ref: https://www.arduino.cc/en/Reference/AnalogRead
"It takes about 100 microseconds (0.0001 s) to read an analog input" .
Em seguida:
O uso de ldr como sensor.
O ldr tem um tempo de resposta relativamente grande :
ref: http://www.geocities.ws/njbibin/robo17b.html
"sensitivity: about 3msec(Sensitivity is defined as the time taken for output to
change when input changes, i got this reading by verifying with ADC " .
Continuando,
o uso excessivo de de print na serial afeta a leitura dos valores dos sensores.
Recomendação:
Usar sensores com melhores respostas de frequência, tais como foto-transistores ou foto-diodos;
usar ports digitais tais como os 2 e 3;
usar os recursos de interrupções (INTERRUPT) dos ports 2 e 3;
E também seguir as recomendações do amigo Eduardo H. Marcondes.
Rui
PS: Pra que gastar port pra os LEDs, use um resistor ligado no LED e na alimentação.
Ola Sr. Ranzinza Véio , só foi eu tirar o excesso de print na serial que já funcionou certinho, e vou pequisar como usar o recurso de interrupções para usar com foto-transistores.
Muito obrigado pelas dicas Ranzinza Véio e Eduardo H. Marcondes.
Bom dia Rafael.
Você pode confirmar que esta usando um LDR como sensor de luz ?
Os LDRs não são apropriados para esse tipo de medição, pois eles tem resposta lenta.
https://pt.wikipedia.org/wiki/LDR
Use foto-transistores no lugar dos LDRs. Mas dessa forma, terá que proteger os sensores da luz externa.
Sim, eu agora estou usando leds de alto brilho como emissor de luz e ldrs como sensor de luz, mas depois irei tentar usar os foto-transistores
Sr. R,
pode tentar esta versão:
Obs: Não testei nem a montagem nem o sketch, só compilei.
Rui
Irei testar agora utilizando esse sketch. Muito obrigado
Entao ele nao incrementa no contador , só decrementa . Só que uma duvida antes isso aqui é um foto-transistor ?
http://www.manutencaoesuprimentos.com.br/imagens/como-funciona-um-f... //Esse é o unico que eu tenho em casa , ele identifica luz infravermelho.
Alguns LEDs vermelhos podem ser usados como foto-transistor.
Mas tem que testar. De muitos leds que tenho em casa, só uns poucos funcionaram.
http://labdegaragem.com/forum/topics/projeto-de-f-sica-com-arduino?...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por