Função motor1 e motor2 com parâmetro de direção
Aspeto
void motor1(int direcao){
if (direcao == 1) // Motor 1 no sentido horario { digitalWrite(4, 1); digitalWrite(5, 0); } else if (direcao == -1) // Motor 1 no sentido anti-horario { digitalWrite(4, 0); digitalWrite(5, 1); } else { // Motor 1 parar digitalWrite(4, 0); digitalWrite(5, 0); }
} void motor2(int direcao){
if (direcao == 1) // Motor 2 no sentido horario { digitalWrite(6, 1); digitalWrite(7, 0); } else if (direcao == -1) // Motor 2 no sentido anti-horario { digitalWrite(6, 0); digitalWrite(7, 1); } else { // Motor 2 parar digitalWrite(6, 0); digitalWrite(7, 0); }
} void frente(int tempo){
motor1(1); motor2(-1); delay(tempo); motor1(0); motor2(0);
} void volta(int tempo){
motor1(-1); motor2(1); delay(tempo); motor1(0); motor2(0);
} void direita(int tempo){
motor1(-1); motor2(-1); delay(tempo); motor1(0); motor2(0);
} void esquerda(int tempo){
motor1(1); motor2(1); delay(tempo); motor1(0); motor2(0);
} void setup() {
pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT);
} void loop() {
frente(500); direita(100); volta(200); esquerda(150); frente(250);
}