Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
arduino, eletrônica, robotica...
Boa noite galerinha, no ano passado eu pedi uma ajuda para corrigir um pequeno erro que tinha no código de uma bobinadeira, graças ao mestre Rui RV, a maquina está funcionando perfeitamente, agora estou fazendo uma modificação, troquei os botões de programação por um teclado matricial, (volto a dizer que sou muito fraco em programação) a maioria das funções já estão funcionando, falta a principal função, o numero de espiras,
ex. quando digito 158 espiras, só retorna 8 e não 128 como foi digitado, ou seja, qualquer valor que é digitado só retorna o ultimo digito,
veja abaixo a parte do código;
else if (key != NO_KEY) {
lcd.leftToRight();
numEsp = key - 48;
lcd.print(numEsp);
delay(500);
}
segue a baixo uma sguencia de fotos
está entregue nas mãos das feras, rsrs
Tags:
Bom dia JMC,
testou com este código? TesteKeypad.ino
Quais numeros imprime qdo cada tecla é pressionada?
RV
bom dia mestre, RV, testei sim e o resultado foi esse,
tecla apertada ------ resultado
0 0
1 01
2 012
3 0123
4 01234
5 012345
6 0123456
7 01234567
8 012345678
9 0123456789
Ótimo, isto mesmo que previ.
Agora vou acrescentar mais uma parte pra vc testar.
OK?
Testa esre agora e conta o resultado.
Ops tem um erro.
Falta um ponto e virgula ; após meuValor = minhaStr.toInt
RV
fiz os reste, eis os resultados,
tecla apertada ------ resultado
0 0 ---- 0
1 01 ---- 11
2 012 ---- 123
3 0123 ----- 1353
4 01234 ----
5 012345 ---
6 0123456
7 01234567
8 012345678
9 0123456789
resultado do ultimo teste ficou assim:
tecla apertada ------ resultado
0 0
1 1
2 12
3 123
4 1234
5 12345
6 57920
7 54919
8 24910
9 52501
Mestre RV cometi uma falha, testei o mesmo arquivo, achei que tinha testado esse ultimoteste3.jpg
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8, 9}; //connect to the column pinouts of the keypad
bom dia Mestre mineirin RV, fiz os testes com aquele codigo e funcionou, porem quando vou fazer outro enrolamento ele junta os dois valores, ex. se eu digitar 20 enpiras e mandar executar, tudo ok, depois que terminar vou fazer outro enrolamento de 20 espiras, mando executar, ai ele retorna 2020
Bom dia JMC,
anexa um arquivo como código atual, para que eu possa analisar a causa do erro.
RV
ai está os arquivos bobinadeira_T_13.ino funcoes13.ino
JMC,
Abra o arquivo funcoes13.ino
Acrescente uma linha nova após a linha 79.
E nela escreva. minhaStr ="";
RV
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2019 Criado por Marcelo Rodrigues.
Ativado por