Boa tarde,

Segundo o título e podem imaginar preciso efetuar a comunicação entre a Shileld e a MCR (Magnetic Card Reader), contudo não obtive a resposta esperada se alguém puder ajudar agradeço.

Os passos foram bem simples:

1- Usando a IDE 1.6.9 do Arduino e instalado a USB Host Shield Library 2.0, fiz uso do exemplo base PL2303_gprs terminal, alterando apenas de o baud rate de 115200 para 9600 exigido pela máquina, chamaremos esse de code_1;

2- Compilado e carregado foi plugada a Shield no Arduino Uno, conectado os USB´s e alimentada a maquininha, acionado o terminal serial para observar a resposta, chamaremos essa de resp_serial_1-2;

3- Enviado qualquer espécie de comando, letra ou número foi respondido com uma espécie código, por exemplo o número "1" com 1050, "2" com 1051, "3" com 1052 a letra "p" com 10112, "d" com 10100...

Em uma segunda tentativa:

4- Foi efetuado alterações simples que segundo o manual MSR605 seriam comandos responsáveis por testes de comunicação, decidi ir direto nos Leds (acender e apaga-los), podem ser observadas no code_2;

5- Dentre as alterações, a única coisa desejada foi que ao enviar um comando via serial o número 27130 acenderia todos os leds, resp_serial_1-2, foi exatamente o que não aconteceu, parece que não houve comunicação;

6- Não satisfeito foi efetuado um código completo de funcionamento da máquina via Visual Studio testado e aprovado, controle total de testes, incluindo um botão chamado "Disco" que tem como principal função acender e apagar todos os leds;

7- Reaproveitando o mesmo foi resolvido fazer + um teste, usar o que estava respondendo bem sozinho + agora o uso da da Shield mudando apenas o terminal do VS, surpresa, quando feito o uso do code_1 (Passos 1-3 descritos acima) ele respondeu como se tudo o que enviasse via RX voltasse TX (curto) ou seja caso enviado o "Command:RESET - Hexcode:1B61" volta o mesmo, "Command: GREEN LED on - Hexcode:1B83" volta o mesmo...

8- Por ultimo e não menos aguardado foi usado o code_2 da mesma forma a resposta foi inúmeros 27130 na tela independente do comando dado e nada de led + uma vez hehehehe

Arduino Shield USB Host

schematic USB Host

MSR605 - Manual

Novo Link Manual - Google docs

Code_1.JPG

Code_2.JPG

resp_serial_1_2.JPG

Exibições: 715

Anexos

Responder esta

Respostas a este tópico

Sim pode tentar também. Funciona. 

Citei o produto pois ele é bom e fácil de usar.

Conseguiiiiii José... :-)

Você não vai acreditar, a resposta estava na nossa frente o tempo todo...era um detalhe a ser alterado na própria biblioteca meu amigo, olha com cuidado esse site USB_Host_Shield_2.0 tem um pequenino segredinho alí, vou até deixar você mesmo achar me dizer kkkkkkk

Dica:. não procure muito! volto a com a resposta depois que ler esse post!!!!!

Seria isso ?
//#define PL2303_COMPAT // Uncomment it if you have compatibility problems

kkkkkk em resumo geral SIM! 

Já deu para notar o porque né, essa é a inicialização da comunicação que no caso não havia de fato, o chip estava morto basicamente, o RX e o TX envia a mesma resposta como um curto, então identifiquei IDVendor vide Driver e percebi que estavam compatíveis mais entre o cdcprolific.h e o cdcprolific.cpp tinha uma tabela de comparação que nesse caso não estavam sendo chamadas e se não batessem era apenas usar o manual e incluir na própria biblioteca.

Enfim é isso! finalmente controle :-)

Ps:. Sabe aquele ditado que depois da noiva casada não falta marido" ou coisa parecida então, outras informações e detalhes podem ser encontrados aqui especificamente na linha que diz " I had to make one small change to the header file for the PL2303 class to get my adapter to work correctly, uncomment the line #define PL2303_COMPAT //uncomment it if you have compatibility problems in the cdcprolific.h file. "

  

Parabéns. Depois explique o seu projeto. 

Um dia estudarei o protocolo USB (é muito complexo).

O Usb serial é simples.

Abraços. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço