Função única motor com parâmetro do número do motor
Aparência
void motor(int numMotor, int direcao){
int Pino1, Pino2;
if (numMotor == 1)
{
Pino1 = 4;
Pino2 = 5;
}
else
{
Pino1 = 6;
Pino2 = 7;
}
if (direcao > 0) { // Motor no sentido horario
digitalWrite(Pino1, 1);
digitalWrite(Pino2, 0);
}
else if (direcao <0 ) { // Motor no sentido anti-horario
digitalWrite(Pino1, 0);
digitalWrite(Pino2, 1);
}
else { // Motor parar
digitalWrite(Pino1, 0);
digitalWrite(Pino2, 0);
}
} void frente(int tempo){
motor(1, 1); motor(2, -1); delay(tempo); motor(1, 0); motor(2, 0);
} void volta(int tempo){
motor(1, -1); motor(2, 1); delay(tempo); motor(1, 0); motor(2, 0);
} void direita(int tempo){
motor(1, -1); motor(2, -1); delay(tempo); motor(1, 0); motor(2, 0);
} void esquerda(int tempo){
motor(1, 1); motor(2, 1); delay(tempo); motor(1, 0); motor(2, 0);
} void setup() {
pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT);
} void loop() {
if (sensorDir>500 && sensorEsq>500)
frente(50);
else
if (sensorDir<=500 && sensorEsq>500)
direita(50);
else
if (sensorDir>500 && sensorEsq<=500)
esquerda(50);
}