LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: manuel rodrigues em 08 de Novembro de 2015, 15:46

Título: Leitor de impressão digital e bluetooth
Enviado por: manuel rodrigues em 08 de Novembro de 2015, 15:46
Boa tarde,

tenho um Bluetooth  HC-06 e um leitor Fingerprint Scanner - 5V TTL (GT-511C1R)

Site do leitor:

https://www.sparkfun.com/products/13007 (https://www.sparkfun.com/products/13007)

Configurei o Bluetooth pelo SoftwareSerial na porta 4 e 5 do arduino uno e o FPS  na porta 10 e 11. Acontece que utilizando a seguinte lib:

https://codebender.cc/example/FPS_GT511C3/examples:FPS_Enroll#FPS_IDFinger.ino (https://codebender.cc/example/FPS_GT511C3/examples:FPS_Enroll#FPS_IDFinger.ino)

sempre que executo no arduino um comando do FPS, o RX do Bluetooth deixa de funcionar. Será alguma coisa com a lib do FPS? Alguém me pode ajudar no que será é que não faço ideia e necessito e ter os dois a funcionar no mesmo arduino.

Desde já agradeço
Título: Re: Leitor de impressão digital e bluetooth
Enviado por: metRo_ em 08 de Novembro de 2015, 15:59
Por partes, consegues comunicar com o arduino utilizando BT?
Título: Re: Leitor de impressão digital e bluetooth
Enviado por: manuel rodrigues em 08 de Novembro de 2015, 16:25
Boa tarde, sim consigo comunicar com o arduino pelo Bluetooth mas só se não tiver a executar nenhuma das funções do FPS, ou seja se tiver só a executar os comandos do Bluetooth sim. Caso comesse a executar os comandos do FPS passa a funcionar o RX e tx do leitor de impressão digital mas o bluetooth deixa de receber dados. apenas consegue enviar
Título: Re: Leitor de impressão digital e bluetooth
Enviado por: metRo_ em 08 de Novembro de 2015, 16:30
Estas a inicializar isto correctamente
Código: [Seleccione]
FPS_GT511C3 fps(4, 5); ?

O softserial permite mais que uma porta serie virtual?
Título: Re: Leitor de impressão digital e bluetooth
Enviado por: manuel rodrigues em 08 de Novembro de 2015, 17:02
como assim? utilizei exactamente essa linha. depois faço "fps.open();" e seguido dos comandos que pretendo. mas só o fazer "fps.open" faz com que o bluetooth deixe de receber dados.

que o softwareserial permite mais do que uma porta virtual. inclusive existem exemplos disso. só se não funcionam é que nunca os testei.

o exemplo que encontrei foi o seguinte:

https://www.arduino.cc/en/Tutorial/TwoPortReceive (https://www.arduino.cc/en/Tutorial/TwoPortReceive)

acho que já encontrei o problema mas não tenho a certeza.

pelo que li dado que são utilizadas duas portas é necessário fazer "Nome_da_porta.listen();" de forma a escolher a porta. será disso? só vou poder testar isso logo à noite a ver se é mas caso seja porque é que afecta sempre o Bluetooth e nunca o FPS?

cumps
Título: Re: Leitor de impressão digital e bluetooth
Enviado por: metRo_ em 08 de Novembro de 2015, 21:48
Pelo que percebi da tua descricao aqui deverias estar a usar FPS_GT511C3 fps(10, 11);
Título: Re: Leitor de impressão digital e bluetooth
Enviado por: manuel rodrigues em 08 de Novembro de 2015, 22:36
Já consegui resolver o problema. Tinha a ver com o facto de o SoftwareSerial manter o RX e o TX configurado para a última porta configurada. para resolver a questão basta colocar .listen() na porta que se pretende receber dados e dar um delay para dar tempo para a porta configurar e já funciona.

Obrigado