Você está na página 1de 3

CÓDIGO PARA FAZER OS MOTORES GIRAREM

https://blog.eletrogate.com/guia-definitivo-de-uso-da-ponte-h-l298n/

// Motor A connections
int enA = 9;
int in1 = 8;
int in2 = 7;
// Motor B connections
int enB = 3;
int in3 = 5;
int in4 = 4;

#define pinT A5
#define pinE A4

//variáveis para o sensor ultrassonico


long duracao;
long dist = 0;

void setup() {
// CONF. SAÍDA DOS PINOS
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(pinT, OUTPUT);
pinMode(pinE, INPUT);
Serial.begin(9600);

// INICIANDO OS MOTORES DESLIGADOS


digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}

void loop() {

para_frente();
delay(5000);
para_tras();
delay(3000);
parar();
delay(3000);
// Distancia();
}
void para_frente() {
analogWrite(enA, 255);
analogWrite(enB, 255);

digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}

void para_tras(){
analogWrite(enA, 255);
analogWrite(enB, 255);

digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}

void parar(){
// DESLIGA OS MOTORES
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}

// Função para calcular a distância do objeto


void Distancia() {
digitalWrite(pinT, LOW); //não envia som (limpeza de ruídos)
delayMicroseconds(2);
digitalWrite(pinT, HIGH); //envia som
delayMicroseconds(10);
digitalWrite(pinT, LOW); //não envia o som e espera o retorno do som enviado
duracao = pulseIn(pinE, HIGH); //Captura a duração em tempo do retorno do som.
dist = duracao / 56; //Calcula a distância
Serial.println(dist); //Exibe na Serial a distância

if(dist <= 30){


para_frente();
delay(1000);
parar();
}
if(dist >= 31){
para_tras();
delay(1000);
parar();
}
}

Você também pode gostar