Boa Noite galera
Sou novato no Arduino, Estou começando o meu primeiro projeto, com motores servos de rotação continua. o meu projeto seria uma persiana automática controlada pelo celular, porem o código que tenho funciona da seguinte forma : quando eu mando o comando '' f '' no serial monitor para a placa arduino o motor servo gira no sentido horário e quando mando o comando '' t '' ele gira no sentido anti-horário, porem eu preciso mandar o comando '' p " para que ele pare, em ambos os sentidos. A minha duvida é a seguinte eu conseguiria remover o comando '' p " para que eu não tenha que ficar parando o servo manualmente. e sim quando ele chegasse ao ponto definido por mim ? e outra coisa no código eu conseguiria definir um certo numero de rotação para que quando o servo chegasse a um certo numero parasse tipo por milisegundos ou algo do tipo ?
Resumindo : queria que o código ficasse assim ao mandar o comando ' f " o motor servo faça um certo numero de rotação e pare automático e da mesma forma o " t " e se possível eu defina a quantidade de rotação. será que vcs consegue me da uma força com o código. Vou deixar o Código Abaixo :
#define SERVO_ESQUERDO 7
#define SERVO_DIREITO 5
#define FRENTE 0
#define TRAS 180
#include <Servo.h>
Servo servoEsquerdo;
Servo servoDireito;
void servoAttach()
{
servoEsquerdo.attach(SERVO_ESQUERDO);
servoDireito.attach(SERVO_DIREITO);
}
void frente()
{
servoAttach();
servoEsquerdo.write(FRENTE);
servoDireito.write(TRAS);
}
void tras()
{
servoAttach();
servoEsquerdo.write(TRAS);
servoDireito.write(FRENTE);
}
void esquerda()
{
servoAttach();
servoEsquerdo.write(FRENTE);
servoDireito.write(FRENTE);
}
void direita()
{
servoAttach();
servoEsquerdo.write(TRAS);
servoDireito.write(TRAS);
}
void parar()
{
servoEsquerdo.detach();
servoDireito.detach();
}
void setup()
{
Serial.begin(9600);
}
char option = 'p';
void loop()
{
delay(100);
if(Serial.available())
{
option = Serial.read();
Serial.println(option);
}
switch(option)
{
case 'f':
frente();
break;
case 't':
tras();
break;
case 'e':
esquerda();
break;
case 'd':
direita();
break;
case 'p':
parar();
break;
default:
break;
}
}
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por