RELP Arduino DUE com teclado membrana 4x4. - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-28T08:29:27Zhttps://labdegaragem.com/forum/topics/relp-arduino-due-com-teclado-membrana-4x4?commentId=6223006%3AComment%3A705773&xg_source=activity&feed=yes&xn_auth=noBoa noite a todos novamente e…tag:labdegaragem.com,2019-05-04:6223006:Comment:7073642019-05-04T00:36:06.454ZSergio Neves Iescashttps://labdegaragem.com/profile/SergioNevesIescas
<p>Boa noite a todos novamente eu quero agradecer a boa vontade e colaboração de todos os que direta e indiretamente participaram de mais esse tópico , visto como nesse projeto as variantes vão ser tratadas no servidor, o seja senhas e demais opção vão ser confirmadas em um processo online por meio de um banco de dados no servidor MySQL não a motivo para aprimorar a logica, fora do ambiente online, dessa forma já alcançamos um resultado positivo o teclado imprime no LCD e serial , assim…</p>
<p>Boa noite a todos novamente eu quero agradecer a boa vontade e colaboração de todos os que direta e indiretamente participaram de mais esse tópico , visto como nesse projeto as variantes vão ser tratadas no servidor, o seja senhas e demais opção vão ser confirmadas em um processo online por meio de um banco de dados no servidor MySQL não a motivo para aprimorar a logica, fora do ambiente online, dessa forma já alcançamos um resultado positivo o teclado imprime no LCD e serial , assim também com a leitura do código de barras também e expressa no LCD e serial.</p>
<p>Então estaremos finalizando esse tópico para abertura do próximo onde iremos tratar de mais uma parte desse projeto.</p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/2279778945?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/2279778945?profile=RESIZE_710x" class="align-full"/></a></p> Obrigado colega Jose vou olha…tag:labdegaragem.com,2019-04-20:6223006:Comment:7061622019-04-20T20:36:59.849ZSergio Neves Iescashttps://labdegaragem.com/profile/SergioNevesIescas
<p>Obrigado colega Jose vou olha para aprender e ver o que eu posso melhorar no meu codigo.</p>
<p>Obrigado colega Jose vou olha para aprender e ver o que eu posso melhorar no meu codigo.</p> Se quiser aprender como um te…tag:labdegaragem.com,2019-04-20:6223006:Comment:7061612019-04-20T19:49:04.705ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Se quiser aprender como um teclado Keypad funciona :</p>
<p><strong><a rel="nofollow" href="http://blog.eletrogate.com/arduino-keypad-4x4-e-display-digital/">http://blog.eletrogate.com/arduino-keypad-4x4-e-display-digital/</a></strong></p>
<p>Se quiser aprender como um teclado Keypad funciona :</p>
<p><strong><a rel="nofollow" href="http://blog.eletrogate.com/arduino-keypad-4x4-e-display-digital/">http://blog.eletrogate.com/arduino-keypad-4x4-e-display-digital/</a></strong></p> Boa tarde,
Se vai usar senhas…tag:labdegaragem.com,2019-04-20:6223006:Comment:7060742019-04-20T19:38:50.374ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Boa tarde,</p>
<p>Se vai usar senhas, acho que esse tutorial poderá ser útil :</p>
<p><strong>Keypad Door Lock with Changeable Code</strong></p>
<p><strong><a href="https://surtrtech.com/2019/04/12/arduino-door-lock-with-keypad-solenoid-relay-and-changeable-code/">https://surtrtech.com/2019/04/12/arduino-door-lock-with-keypad-solenoid-relay-and-changeable-code/…</a></strong></p>
<p></p>
<p>Boa tarde,</p>
<p>Se vai usar senhas, acho que esse tutorial poderá ser útil :</p>
<p><strong>Keypad Door Lock with Changeable Code</strong></p>
<p><strong><a href="https://surtrtech.com/2019/04/12/arduino-door-lock-with-keypad-solenoid-relay-and-changeable-code/">https://surtrtech.com/2019/04/12/arduino-door-lock-with-keypad-solenoid-relay-and-changeable-code/</a></strong></p>
<p><a rel="nofollow" href="https://www.hackster.io/SurtrTech/keypad-door-lock-with-changeable-code-468b15">https://www.hackster.io/SurtrTech/keypad-door-lock-with-changeable-...</a></p> As senhas são apenas numéric…tag:labdegaragem.com,2019-04-19:6223006:Comment:7062422019-04-19T16:43:12.753ZJoao Vitorhttps://labdegaragem.com/profile/jvsilvictor
<p></p>
<p>As senhas são apenas numéricas ? Se sim, tente, na linha 93, esta modificação:</p>
<p></p>
<p>if( customKey >= ((int) '0') && customKey <= ((int) '9') )</p>
<p></p>
<p>Para tratar apenas os valores apenas dos caracteres 0 a 9 (estão sendo convertidos para o valor DEC deles com o cast (int)). Talvez requeira modificações, pois não tenho o keypad para testar.</p>
<p></p>
<p></p>
<p></p>
<p></p>
<p>As senhas são apenas numéricas ? Se sim, tente, na linha 93, esta modificação:</p>
<p></p>
<p>if( customKey >= ((int) '0') && customKey <= ((int) '9') )</p>
<p></p>
<p>Para tratar apenas os valores apenas dos caracteres 0 a 9 (estão sendo convertidos para o valor DEC deles com o cast (int)). Talvez requeira modificações, pois não tenho o keypad para testar.</p>
<p></p>
<p></p>
<p></p> Boa tarde colegas paz seja co…tag:labdegaragem.com,2019-04-19:6223006:Comment:7061482019-04-19T16:20:10.135ZSergio Neves Iescashttps://labdegaragem.com/profile/SergioNevesIescas
<p>Boa tarde colegas paz seja com todos, estamos progredindo graças ajuda de vocês</p>
<p>João utilizei o codigo conforme voce me orientou funcionou perfeitamente ai preciso fazer novas correções;</p>
<p>Quanto a digito a primeira tecla para entrar no modo de operação que esta descrito no programa com (Set_Operac) que e o Setupe de operação essa letra fica registrada no sistema o sistema imprime ela tanto no monitor serial como no LCD ai ela altera a senha e a leitura do codigo de barra inicial…</p>
<p>Boa tarde colegas paz seja com todos, estamos progredindo graças ajuda de vocês</p>
<p>João utilizei o codigo conforme voce me orientou funcionou perfeitamente ai preciso fazer novas correções;</p>
<p>Quanto a digito a primeira tecla para entrar no modo de operação que esta descrito no programa com (Set_Operac) que e o Setupe de operação essa letra fica registrada no sistema o sistema imprime ela tanto no monitor serial como no LCD ai ela altera a senha e a leitura do codigo de barra inicial como eu resolvo isso?</p>
<p>Imagem monitor serial<a href="https://storage.ning.com/topology/rest/1.0/file/get/2079528607?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/2079528607?profile=RESIZE_710x" class="align-full"/></a></p>
<p>Imagem LCD 20x4</p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/2079599603?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/2079599603?profile=RESIZE_710x" class="align-full"/>Codigo atual em 19/04/2019</a></p>
<p></p>
<p><br/>//Declaração da bibliotecas.<br/>#include <Keypad.h>#include <LiquidCrystal.h>#include <KeyboardController.h>#include <due_can.h><br/>//Teclado membrana 4x4.<br/>const byte ROWS = 4; //four rowsconst byte COLS = 4; //four columns //CONSTRUÇÃO DA MATRIZ DE CARACTERES<br/> char hexaKeys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'}}; byte rowPins[ROWS] = {14, 15, 16, 17}; //connect to the row pinouts of the keypadbyte colPins[COLS] = {18, 19, 20, 21}; //connect to the column pinouts of the keypad //INICIALIZAÇÃO DO TECLADO<br/>Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); //Inicia LCD.LiquidCrystal lcd (12, 11, 5, 4, 3, 2);<br/>USBHost usb;KeyboardController keyboard(usb);<br/>String buffCadBarra = "";String buffSenha ="";String codBarra = "";String auxBarra = "";String auxSenha = "";String Senha ="";String SenhaAux ="";<br/>void keyPressed() { if(keyboard.getKey() != 19) { buffCadBarra += (char)keyboard.getKey(); } else { codBarra = buffCadBarra + '\0'; buffCadBarra = ""; } printKey();}<br/>void printKey() {<br/> if(codBarra != "" && codBarra != NULL){ Serial.println(codBarra); lcd.setCursor(2,0); lcd.print("Set_Produc:"); lcd.setCursor(2,1); auxBarra = codBarra.substring (0, 13); lcd.print (auxBarra); } codBarra =""; }void setup(){ Serial.begin(9600); while(!Serial); lcd.begin(20, 4);<br/>} void loop() { char customKey = customKeypad.getKey(); if(customKey == 'B'){ //Inicia modo de produção lcd.clear(); lcd.setCursor(0,0); lcd.print("Set_Produc:"); while(customKeypad.getKey() != 'A') // Incerra modo de produção//Inica Set_operaacional usb.Task(); } if (customKey){ buffSenha += customKey; auxSenha = buffSenha + '\0'; SenhaAux = auxSenha.substring(0, 6); Serial.print(SenhaAux); Senha += SenhaAux; lcd.clear( ); lcd.setCursor(0,0); lcd.print("Set_Operac:"); lcd.setCursor(0,1); lcd.print("Senha: "); lcd.print(Senha); } buffSenha = ""; }</p>
<p></p>
<p></p> Sim, é possível. Essa é uma…tag:labdegaragem.com,2019-04-17:6223006:Comment:7063212019-04-17T20:58:17.391ZJoao Vitorhttps://labdegaragem.com/profile/jvsilvictor
<p></p>
<p>Sim, é possível. Essa é uma alternativa boa e simples :)<br></br><br></br>Você pode criar uma condicional em que a leitura de cod de barras somente funciona após pressionar a tecla '#' do seu KeyPad.</p>
<p>Pode colocar um timeout ou uma tecla para cancelar a leitura, por exemplo, para caso o usuário aperte por engano ou não realize nenhuma leitura.<br></br><br></br><strong>Exemplo: </strong></p>
<p># = Iniciar Modo de Leitura de Cod Barras</p>
<p>* = Cancela o Modo…</p>
<p></p>
<p>Sim, é possível. Essa é uma alternativa boa e simples :)<br/><br/>Você pode criar uma condicional em que a leitura de cod de barras somente funciona após pressionar a tecla '#' do seu KeyPad.</p>
<p>Pode colocar um timeout ou uma tecla para cancelar a leitura, por exemplo, para caso o usuário aperte por engano ou não realize nenhuma leitura.<br/><br/><strong>Exemplo: </strong></p>
<p># = Iniciar Modo de Leitura de Cod Barras</p>
<p>* = Cancela o Modo Leitura</p>
<p></p>
<p><strong>O código seria algo do tipo:</strong></p>
<p><br/>if(customKey == '#')</p>
<p>{</p>
<p> while(customKeypad.getKey() != '*')</p>
<p> usb.Task();</p>
<p>}</p>
<p></p>
<p></p>
<p>Você pode mostrar também esse estado. Se o modo leitura está ativo ou não, seja por uma informação no seu LCD ou um LED, por exemplo. Para facilitar o usuário a identificar o estado do seu sistema.</p>
<p></p>
<p>Sobre os valores na verificação das condicionais (if), terá que testar se será reconhecido pelo valor do char, como fiz, ou por um decimal específico para cada tecla.</p>
<p></p>
<p></p> Bom desse modo como eu crio u…tag:labdegaragem.com,2019-04-17:6223006:Comment:7060242019-04-17T16:04:36.234ZSergio Neves Iescashttps://labdegaragem.com/profile/SergioNevesIescas
<p>Bom desse modo como eu crio um função auxiliar para bloquear o task por exemplo: quando eu apertar (#) broqueio o task e passo a ter acesso ao teclado e possivel fazer isso?</p>
<p>Bom desse modo como eu crio um função auxiliar para bloquear o task por exemplo: quando eu apertar (#) broqueio o task e passo a ter acesso ao teclado e possivel fazer isso?</p> É a tradução dos comentários…tag:labdegaragem.com,2019-04-17:6223006:Comment:7062162019-04-17T15:55:29.004ZJoao Vitorhttps://labdegaragem.com/profile/jvsilvictor
<p>É a tradução dos comentários da Task na biblioteca ?<br/><br/>Acredito que o problema seja por conta desse bloqueio que a Task causa. Enquanto ela estiver em execução, ao apertar alguma tecla do keypad, nada acontecerá pois seu código não passará pela linha 84.</p>
<p>É a tradução dos comentários da Task na biblioteca ?<br/><br/>Acredito que o problema seja por conta desse bloqueio que a Task causa. Enquanto ela estiver em execução, ao apertar alguma tecla do keypad, nada acontecerá pois seu código não passará pela linha 84.</p> Tarefa()
Descrição
Polls Task…tag:labdegaragem.com,2019-04-17:6223006:Comment:7061282019-04-17T15:51:54.517ZSergio Neves Iescashttps://labdegaragem.com/profile/SergioNevesIescas
<h2><font>Tarefa()</font></h2>
<h4><font>Descrição</font></h4>
<p><font>Polls Task () conectaram dispositivos usb para atualizações de seus status.</font></p>
<p><font>NB: Se não houver atividade em um dispositivo USB conectado, a tarefa () bloqueará todas as outras chamadas por intervalos de 5 segundos.</font></p>
<h2><font>Tarefa()</font></h2>
<h4><font>Descrição</font></h4>
<p><font>Polls Task () conectaram dispositivos usb para atualizações de seus status.</font></p>
<p><font>NB: Se não houver atividade em um dispositivo USB conectado, a tarefa () bloqueará todas as outras chamadas por intervalos de 5 segundos.</font></p>