Pessoal,
sou novo nesta área de programação e estou com dificuldades para parar um motor dentro de um loop sem que ele freie após o acionamento de um botão, estou usando o driver A4988 com alimentação em 24v, segue abaixo o código que estou usando:
int bot = A5;
int pino_eixo = 5;
int pino_direcao_eixo = 4;
int direcao_eixo = 1;
int passos_eixo = 2220;
void setup() {
Serial.begin(9600);
pinMode(bot, INPUT);
digitalWrite(bot,0);
pinMode(pino_eixo, OUTPUT);
pinMode(pino_direcao_eixo, OUTPUT);
}
void loop(){
int leitura = analogRead(bot);
if (leitura < 200){
}
else if (leitura >= 200 && leitura <=290){
Serial.println("botao 1");
direcao_eixo = 1;
digitalWrite(pino_direcao_eixo, direcao_eixo);
for (int p=0 ; p < passos_eixo; p++)
{
digitalWrite(pino_eixo, 1);
delay(1);
digitalWrite(pino_eixo, 0);
delay(1);
}
delay(1000);
}
}
esse código faz com que o motor gire o que preciso e pára, mas como não terá um
tempo determinado para um novo acionamento, ele fica freado recebendo pulsos, eu gostaria
que ele não recebesse pulsos.
Tags:
Então quando não tens o botão ativo tens de lhe dizer para parar os pulsos...
Amigo Pedro,
faço essa parada depois do delay(1000);?
colocando digitalWrite(pino_eixo, 0); após?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por