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: 254

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 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

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço