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;
}
}
}
}
Tags:
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.
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por