Leitor de Scanner de Código de Barras - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T14:20:46Zhttps://labdegaragem.com/forum/topics/leitor-de-scanner-de-c-digo-de-barras?commentId=6223006%3AComment%3A694836&feed=yes&xn_auth=noNão sei se entendi, mas seria…tag:labdegaragem.com,2018-12-11:6223006:Comment:6952152018-12-11T02:07:59.120Zgeorge braga senahttps://labdegaragem.com/profile/georgebragasena
<p>Não sei se entendi, mas seria para criar o método: <span>KbdRptParser::OnKeyPressed(uint8_t key) no arquivo Usb.cpp, porque não encontrei </span>ele nesse arquivo.</p>
<p></p>
<p><span>Outra coisa é que o único print que encontro no método é o da imagem abaixo:…</span></p>
<p></p>
<p><span><a href="https://storage.ning.com/topology/rest/1.0/file/get/315346980?profile=original" rel="noopener" target="_blank"><img class="align-full" height="429" src="https://storage.ning.com/topology/rest/1.0/file/get/315346980?profile=original" width="494"></img></a></span></p>
<p>Não sei se entendi, mas seria para criar o método: <span>KbdRptParser::OnKeyPressed(uint8_t key) no arquivo Usb.cpp, porque não encontrei </span>ele nesse arquivo.</p>
<p></p>
<p><span>Outra coisa é que o único print que encontro no método é o da imagem abaixo:</span></p>
<p></p>
<p><span><a href="https://storage.ning.com/topology/rest/1.0/file/get/315346980?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/315346980?profile=original" class="align-full" width="494" height="429"/></a></span></p> Obrigado pelo feedback de vcs…tag:labdegaragem.com,2018-12-08:6223006:Comment:6947962018-12-08T00:31:29.804Zgeorge braga senahttps://labdegaragem.com/profile/georgebragasena
Obrigado pelo feedback de vcs, fiquei meio ocupado com outros problemas e vou mexer novamente no código na segunda-feira. Aí compartilho o resultado com vcs.
Obrigado pelo feedback de vcs, fiquei meio ocupado com outros problemas e vou mexer novamente no código na segunda-feira. Aí compartilho o resultado com vcs. Aproveitei a madrugada para l…tag:labdegaragem.com,2018-12-06:6223006:Comment:6948362018-12-06T10:13:04.008ZEduardo Silvahttps://labdegaragem.com/profile/EduardoSilva753
<p>Aproveitei a madrugada para ler sobre essa biblioteca, funções e métodos, até abrir partes dos seus códigos, notei que não é no USB.Task() que está imprimindo, está apenas fazendo com que a biblioteca execute suas tarefas (Meio óbvio rsrs), então ela possui métodos que fazem a captura do que foi executado, para esse caso de teclado, você vai ter que usar KbdRptParser::OnKeyPressed, que no momento deve está assim:<br></br><br></br>void KbdRptParser::OnKeyPressed(uint8_t key)<br></br>{<br></br> …</p>
<p>Aproveitei a madrugada para ler sobre essa biblioteca, funções e métodos, até abrir partes dos seus códigos, notei que não é no USB.Task() que está imprimindo, está apenas fazendo com que a biblioteca execute suas tarefas (Meio óbvio rsrs), então ela possui métodos que fazem a captura do que foi executado, para esse caso de teclado, você vai ter que usar KbdRptParser::OnKeyPressed, que no momento deve está assim:<br/><br/>void KbdRptParser::OnKeyPressed(uint8_t key)<br/>{<br/> Serial.print("ASCII: ");<br/> Serial.println((char)key);<br/>};</p>
<p></p>
<p>Ou seja, ela captura o resultado da tarefa e imprime, para adaptar para as suas necessidades, seria algo mais ou menos assim:</p>
<p>// Antes de tudo precisa ter uma string para armazenar o conteúdo que vai ser juntado</p>
<p>String conteudo = "";</p>
<p></p>
<p>void KbdRptParser::OnKeyPressed(uint8_t key)<br/>{<br/> //Serial.print("ASCII: ");<br/> //Serial.println((char)key);</p>
<p> conteudo += (char)key;<br/>}; </p>
<p></p>
<p>Aí você analisa esse conteudo e quando receber "\n", significa que chegou ao final da informação.</p>
<p>Só lembrando que quando receber o final da informação você deve limpar a string para receber a nova informação que pode chegar, apenas com conteudo = "";</p>
<p>Para chegar a essa conclusão, eu abrir o arquivo Usb.cpp da biblioteca e também dei uma lida em alguns tópicos, mas principalmente esse abaixo:</p>
<p></p>
<p><a href="https://www.circuitsathome.com/mcu/connecting-barcode-scanner-arduino-usb-host-shield/comment-page-1/" target="_blank" rel="noopener">https://www.circuitsathome.com/mcu/connecting-barcode-scanner-ardui...</a></p> Então, na minha dica, se vc f…tag:labdegaragem.com,2018-12-06:6223006:Comment:6946892018-12-06T01:22:02.078ZEduardohttps://labdegaragem.com/profile/EduardoHenriqueMarcondes
<p>Então, na minha dica, se vc for somando em uma String, vide:</p>
<p><a href="https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/" target="_blank">https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/</a></p>
<p>Vc pode criar uma string e ir adicionando os caracteres que vierem nela. </p>
<p>Quando vc perceber (if) que veio o enter (\n) vc processa o conjunto que veio.</p>
<p></p>
<p>Então, na minha dica, se vc for somando em uma String, vide:</p>
<p><a href="https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/" target="_blank">https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/</a></p>
<p>Vc pode criar uma string e ir adicionando os caracteres que vierem nela. </p>
<p>Quando vc perceber (if) que veio o enter (\n) vc processa o conjunto que veio.</p>
<p></p> Foi a primeira tentativa que…tag:labdegaragem.com,2018-12-06:6223006:Comment:6948322018-12-06T00:13:39.292Zgeorge braga senahttps://labdegaragem.com/profile/georgebragasena
Foi a primeira tentativa que fiz, colocar USB.task() em uma variável, mas o problema é que esse método retorna um carácter a cada Loop(). Então se o código de barras te 10 números ex: 1527482645. A cada Loop ele imprime um caracter até chegar no final da sequência numérica.
Foi a primeira tentativa que fiz, colocar USB.task() em uma variável, mas o problema é que esse método retorna um carácter a cada Loop(). Então se o código de barras te 10 números ex: 1527482645. A cada Loop ele imprime um caracter até chegar no final da sequência numérica. Então é só verificar na bibli…tag:labdegaragem.com,2018-12-05:6223006:Comment:6946842018-12-05T19:47:06.195ZEduardo Silvahttps://labdegaragem.com/profile/EduardoSilva753
<p>Então é só verificar na biblioteca qual o tipo do retorno, então você armazena em uma variável, tipo:</p>
<p>var teste = <span>Usb.Task();</span></p>
<p>Então é só verificar na biblioteca qual o tipo do retorno, então você armazena em uma variável, tipo:</p>
<p>var teste = <span>Usb.Task();</span></p> 1 - Estou usando arduino UNO…tag:labdegaragem.com,2018-12-05:6223006:Comment:6945972018-12-05T16:46:12.829Zgeorge braga senahttps://labdegaragem.com/profile/georgebragasena
<p>1 - Estou usando arduino UNO</p>
<p>2 - Leitura via USB</p>
<p>3 - Bibliotecas utilizadas no pacote: USB_Host_Shield-master</p>
<p>usbhid.h<br/>usbhub.h<br/>hiduniversal.h<br/>hidboot.h<br/>SPI.h</p>
<p>4 - Ao Chamar o método <span>Usb.Task(), ele já imprimi o valor na serial</span></p>
<p><span>Vou tentar fazer o que mencionou acima, mas não estou encontrando esse método dentro da biblioteca.</span></p>
<p><span>Obrigado desde já.</span></p>
<p>1 - Estou usando arduino UNO</p>
<p>2 - Leitura via USB</p>
<p>3 - Bibliotecas utilizadas no pacote: USB_Host_Shield-master</p>
<p>usbhid.h<br/>usbhub.h<br/>hiduniversal.h<br/>hidboot.h<br/>SPI.h</p>
<p>4 - Ao Chamar o método <span>Usb.Task(), ele já imprimi o valor na serial</span></p>
<p><span>Vou tentar fazer o que mencionou acima, mas não estou encontrando esse método dentro da biblioteca.</span></p>
<p><span>Obrigado desde já.</span></p> Boa tarde,
Me parece que seu…tag:labdegaragem.com,2018-12-05:6223006:Comment:6946752018-12-05T15:34:58.628ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Boa tarde, </p>
<p>Me parece que seu Barcode reader usa USB, não é ?</p>
<p>Esta usando Host Shield ? Ou Arduino DUE ?</p>
<p><a href="https://www.circuitsathome.com/mcu/connecting-barcode-scanner-arduino-usb-host-shield/" target="_blank">https://www.circuitsathome.com/mcu/connecting-barcode-scanner-arduino-usb-host-shield/</a></p>
<p></p>
<p>Se fosse Barcode serial :…</p>
<p></p>
<p>Boa tarde, </p>
<p>Me parece que seu Barcode reader usa USB, não é ?</p>
<p>Esta usando Host Shield ? Ou Arduino DUE ?</p>
<p><a href="https://www.circuitsathome.com/mcu/connecting-barcode-scanner-arduino-usb-host-shield/" target="_blank">https://www.circuitsathome.com/mcu/connecting-barcode-scanner-arduino-usb-host-shield/</a></p>
<p></p>
<p>Se fosse Barcode serial :</p>
<p><a href="https://arduino.stackexchange.com/questions/8473/how-to-get-serial-data-in-arduino-from-a-barcode-scanner" target="_blank">https://arduino.stackexchange.com/questions/8473/how-to-get-serial-data-in-arduino-from-a-barcode-scanner</a></p> Qual arduino esta usando ?
Qu…tag:labdegaragem.com,2018-12-05:6223006:Comment:6947562018-12-05T15:23:30.457ZEduardohttps://labdegaragem.com/profile/EduardoHenriqueMarcondes
<p>Qual arduino esta usando ?</p>
<p>Qual o modelo do leituro ?</p>
<p>Qual biblioteca ?</p>
<p>Adianto que pergunto algumas vezes para complementar a informaçao enriquecendo o site. Outro que veja logo depois pode pegar seu exemplo de hardware e dar continuidade. Pode ajudar mais gente... Não necessariamente afeta a resposta. Mas o intuito é transformar seu "case" num tutorial, até. </p>
<p>Se entendi ja funciona mandando para a serial mas nao vi onde ele manda para a serial.</p>
<p>Nao…</p>
<p>Qual arduino esta usando ?</p>
<p>Qual o modelo do leituro ?</p>
<p>Qual biblioteca ?</p>
<p>Adianto que pergunto algumas vezes para complementar a informaçao enriquecendo o site. Outro que veja logo depois pode pegar seu exemplo de hardware e dar continuidade. Pode ajudar mais gente... Não necessariamente afeta a resposta. Mas o intuito é transformar seu "case" num tutorial, até. </p>
<p>Se entendi ja funciona mandando para a serial mas nao vi onde ele manda para a serial.</p>
<p>Nao conheco esse leitor e biblioteca, mas pelo resultado do google diria que é essa:</p>
<p><a href="https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino" target="_blank">https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino</a></p>
<p>Que tem o trecho:</p>
<p>void KbdRptParser::OnKeyPressed(uint8_t key)<br/>{<br/> Serial.print("ASCII: ");<br/> Serial.println((char)key);<br/>};</p>
<p>Onde de fato ele retorna, por absurdo que pareça, apenas para a serial. Aih é Void...</p>
<p>Sugiro modificar esse trecho.</p>
<p>Criar 2 variaveis globais.</p>
<p>Uma string e uma bool.</p>
<p>A cada novo caracter encontrado vc adiciona o caracter na string. </p>
<p>Se for um enter em vez de acrescentar vc seta a variavel bool, que vai indicar que recebeu uma linha completa.</p>
<p>A ultima vez que usei leitores de codigo de barras para PC adaptados para microcontrolador eles ainda eram PS2 (o conector e não o videogame) . Naquela epoca vc recebia exatamente igual a uma digitaçao e tinha uma configuraçao por strap para adicionar um enter ao final. Sempre vinha ligado, melhor forma.</p>
<p></p> Bom dia GBS,
Recomendações: 1…tag:labdegaragem.com,2018-12-05:6223006:Comment:6946662018-12-05T12:12:06.905Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Bom dia GBS,</p>
<p>Recomendações: <br></br>1. Remova seu sketch da área de texto do seu tópico;<br></br>2. Leia <a href="http://labdegaragem.com/forum/topics/sugest-o-de-como-postar" target="_blank">http://labdegaragem.com/forum/topics/sugest-o-de-como-postar</a><br></br>3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada <br></br> linha e facilita a ajuda.<br></br>4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo <br></br> …</p>
<p>Bom dia GBS,</p>
<p>Recomendações: <br/>1. Remova seu sketch da área de texto do seu tópico;<br/>2. Leia <a href="http://labdegaragem.com/forum/topics/sugest-o-de-como-postar" target="_blank">http://labdegaragem.com/forum/topics/sugest-o-de-como-postar</a><br/>3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada <br/> linha e facilita a ajuda.<br/>4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo <br/> com o seu sketch.</p>
<p>RV</p>