Estou tentando fazer uma ligação de um motor de passo via bluetooth. Na qual eu mande um comando e o motor girará ininterruptamente para um lado, depois eu enviarei outro comando, ele girará para o outro lado, e com outro comando ele parará o motor. Não tinha programado na minha vida, e como é um projeto para a faculdade, resolvi aceitar o desafio. Com o código que eu fiz, consegui girar o motor ininterruptamente para um lado, mas não consigo mais trocar o lado e parar a execução do loop.

int pinLed[6] = {3,4,5,6,7,8};
int velocidade;
int numeroLed;
int x;

void setup() {



for(x = 0; x <= 5; x = x + 1){
pinMode(pinLed[x], OUTPUT);
}

Serial.begin(9600);

velocidade = 200;

}

void loop() {

char c = Serial.read();

if (c == '1'){
for(numeroLed = 0; numeroLed <= 5; numeroLed = numeroLed + 1){
digitalWrite(pinLed[numeroLed], HIGH);
delay(velocidade);
digitalWrite(pinLed[numeroLed],LOW);
delay(velocidade);

if(numeroLed > 4) {
numeroLed = 0;
}
}
}

if (c == '0'){
for(numeroLed = 5; numeroLed <= 0; numeroLed = numeroLed + 1){
digitalWrite(pinLed[numeroLed], HIGH);
delay(velocidade);
digitalWrite(pinLed[numeroLed],LOW);
delay(velocidade);

if(numeroLed < 4) {
numeroLed = 0;
}
}
}


}

Exibições: 802

Responder esta

Respostas a este tópico

Bom dia GP.

Não sei qual carreira está cursando, suponho que não é da área de TI.

Aqui vão minhas observações.

Para quem nunca programou, seu sketch está muito bom.

Na leitura dos dados recebido pela serial, pode melhorar, mas do jeito que está deve funcionar.

Corrigi algumas linhas e estou postando aqui para você testar.

Segue link do sketch:  https://pastebin.com/Z0zA9jPY

Mas umas recomendações:

Primeiro:  

      Não post sketch na área de texto do seu tópico;

      Perde a formatação e pode perder símbolos de lógica;

      Remova o sketch que postou e anexe como um arquivo.

Segundo:

     Sempre comente as linhas do seu sketch;

     Facilita pra você em um futuro, qdo não lembrar mais pra que era cada linha;

     Facilita para pessoas como os amigos aqui do LdG em entender seu sketch e ajuda-lo.

Estou no primeiro semestre de engenheria, tentando aprender na "raça" programação, a mais ou menos 2 semanas. Valeu pelas dicas, consegui ligar o motor para um lado e para o outro lado, mas quando mando um comando para ele voltar para o anterior ele não vai. E não consegui fazer ele parar. Segue o link do Sketch: https://pastebin.com/Mr8BWfKD.

GP, 

testei este code que estou postando em anexo.

https://pastebin.com/Z0zA9jPY

Não usei leds, mas mandei imprimir na seria, e funcionou corretamente.

Com 1 ou e, ele avança a e repete a contagem indefinidamente,

com 2 ou d ele recua a contagem indefinidamente, e com qq outro carácter ele para a contagem

assim que ela chega ao fim de uma sequencia.

RUi

RV muito obrigado pela ajuda, na raça consegui fazer um programa que atendesse aquela minha necessidade. Mas vou levar em consideração os tips que você me deu. Segue o consegui elaborar: https://pastebin.com/yPDuF2YE

Fica com Deus

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço