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

Anexos

Responder esta

Respostas a este tópico

da minha parte eu não tenho a minima ideia de como fazer essa implementação, kkkkk

eu tbm teria muita dificuldade, mas acho que ficaria bem interessante,

https://www.youtube.com/watch?v=62YKyw7u2rA&ab_channel=electroH... aqui ele dar detalhes, inclusive o codigo, mas ta em francês e sem legenda   

me passa a ultima versão do codigo,

bobinadeira.zip

ai está a ultima versão do código

eu não entendi bem essa linha do código :

ciclos = espFase * bitFio * 360 / (1 * 0.703125 * 1 * 3.14159 * 5) * 1.8 * (1 + dciclos / 100) / 0.585; 

esse "ciclos" são os pulsos por espira? acho que essa formula é pra um sistema de movimento com correia ou cremalheira, pq ele considera o diâmetro da engrenagem que vai no motor, acho que sabendo o números de pulsos/mm da guia do fio eu multiplico esse valor pela bitola do fio (bitfio), e esse fator de correção de passo (dciclos) deve ser pra acresentar uma folga entre as espiras.

amanhã vou tentar alterar codigo e envio pro sr testar. 

  

É verdade, esqueci de ver o mapeamento do teclado.
Não estou montando não, só estou dando um auxilio para ele nesse caso.

AFL, ele usou o  port 10 para entrada do encoder,

então muda de 10 para 2 e dê um shift em todos ports do tecado

Configuração atual:

#define encoder 10 // Entrada do encoder do motor principal

byte rowPins[ROWS] = { 2, 3, 4, 5 };
byte colPins[COLS] = { 6, 7, 8, 9 };

Configuração sugerida:

#define encoder 2 // Entrada do encoder do motor principal

byte rowPins[ROWS] = { 3, 4, 5, 6 };
byte colPins[COLS] = { 7, 8, 9, 10 };

Assim poderá usar o interrrupt 0 (port 2).

RV mineirin

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

RV

Funcionou, fiz o mesmo procedimento para a bitola do fio e a largura do carretel, criei ima variavel do tipo String para cada, porem, a bitola do fio tem que aceitar decimal, preciso entrar com valores tipo 0.32 ou 0.85 ou 1,25 esse é o código.

else if((key >= '0' ) and (key <= '9')){
meuFio += key;
bitFio = meuFio.toInt();
lcd.print(key);
}

Bom dia RV, graças as dicas que vc me passou essas etapas de numero de espiras, bitola do fio com decimal e largura do carretel já estão funcionando perfeitamente, para finaliza, só falta uma etapa, no primeiro menu, onde faz o ajuste da guia, são usadas as teclas 2, 4, 6, e 8 para fazer esse ajuste, as teclas estão funcionando, porem com ação momentenea, mesmo que a teclas permaneça precionada, eunpreciso que as teclas permaneção ativadas enquanto estiverem precionadas, até a guia chegar no pomto desejado, será que é possivel fazer isso?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço