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
Tags:
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por