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 Rui ! Tudo bem.
Eu estive falando com o Juarez e tem um problema ocorrendo na bobinadeira, onde dependendo da velociade de rotação, ela perde algumas contagens de volta. Creio que se alterar o código para fazer a contagem do encoder por interrupção, fora do loop, corrija esse problema.
Bom dia AFL, (se não gosta que te chame pelas iniciais, avise),
realmente você tem razão quanto ao uso de contagem por interrupção, mas por alguma razão
que não me recordo agora o Sr. JMC, não queria ou não podia usar a interrupção gerada pelo encoder.
Abraços
RV mineirn
Bom dia Mestre Rui, jamais eu discordaria de vc, pois nem sei do que se trata, kkkkkk, na resposta do André eu completei o que está acontecendo, só descobri esse problema agore recente porque troquei de motor e o eixo do carretel ganhou mais velocidade
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por