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

Exibições: 5107

Anexos

Responder esta

Respostas a este tópico

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.

TesteKeypad.ino

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

JMC, o code anterior tinha um erro.

Testa este e posta aqui o resultado.TesteKeypad_3.ino

RV

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

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço