/*** Included libraries ***/
const int IN1_11 = 11;
const int IN2_10 = 10;
const int IN3_12 = 12;
const int IN4 = 13;
const int ENB = 6;
const int ENA = 5;
const int ir_izda = 2;
const int ir_dcha = 3;
float Sensor_izda = 0;
float sensor_dcha = 0;
float VELOCIDAD = 200;
void avanza() {
digitalWrite(IN1_11, HIGH);
digitalWrite(IN2_10, LOW);
digitalWrite(IN3_12, HIGH);
digitalWrite(IN4, LOW);
analogWrite(5, VELOCIDAD);
analogWrite(6, VELOCIDAD);
}
void retrocede() {
digitalWrite(IN1_11, LOW);
digitalWrite(IN2_10, HIGH);
digitalWrite(IN3_12, LOW);
digitalWrite(IN4, HIGH);
analogWrite(5, VELOCIDAD);
analogWrite(6, VELOCIDAD);
}
void izquierda() {
digitalWrite(IN1_11, LOW);
digitalWrite(IN2_10, HIGH);
digitalWrite(IN3_12, HIGH);
digitalWrite(IN4, LOW);
analogWrite(5, VELOCIDAD);
analogWrite(6, VELOCIDAD);
}
void derecha() {
digitalWrite(IN1_11, HIGH);
digitalWrite(IN2_10, LOW);
digitalWrite(IN3_12, LOW);
digitalWrite(IN4, HIGH);
analogWrite(6, VELOCIDAD);
analogWrite(5, VELOCIDAD);
}
void parar() {
digitalWrite(IN1_11, LOW);
digitalWrite(IN2_10, LOW);
digitalWrite(IN3_12, LOW);
digitalWrite(IN4, LOW);
digitalWrite(ENB, LOW);
digitalWrite(ENA, LOW);
}
void setup() {
pinMode(IN1_11, OUTPUT);
pinMode(IN2_10, OUTPUT);
pinMode(IN3_12, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ir_izda, INPUT);
pinMode(ir_dcha, INPUT);
}
void loop() {
Sensor_izda = digitalRead(ir_izda);
sensor_dcha = digitalRead(ir_dcha);
if (((Sensor_izda == sensor_dcha) && (Sensor_izda > 0))) {
avanza();
} else if ((Sensor_izda > sensor_dcha)) {
izquierda();
} else if ((Sensor_izda < sensor_dcha)) {
derecha();
}
if (((Sensor_izda == sensor_dcha) && (Sensor_izda == 0))) {
parar();
}
}
propuesta linea 90 grados
const int sensor_2 = 13;
const int sensor_1 = 12;
const int LED = 7;
const int LED_2 = 6;
const int LED_3 = 5;
const int sensor_3 = 11;
void AVANZA() {
digitalWrite(LED, HIGH);
digitalWrite(LED_2, HIGH);
digitalWrite(LED_3, HIGH);
digitalWrite(sensor_1, HIGH);
digitalWrite(sensor_2, HIGH);
digitalWrite(sensor_3, HIGH);
}
void PARAR() {
digitalWrite(LED, LOW);
digitalWrite(LED_2, LOW);
digitalWrite(LED_3, LOW);
}
void GIRAR_90_GRAD0S_() {
digitalWrite(LED, HIGH);
digitalWrite(LED_2, HIGH);
digitalWrite(LED_3, HIGH);
digitalWrite(sensor_2, HIGH);
digitalWrite(sensor_1, HIGH);
digitalWrite(sensor_3, HIGH);
}
void setup() {
pinMode(sensor_2, INPUT);
pinMode(sensor_1, INPUT);
pinMode(LED, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(LED_3, OUTPUT);
pinMode(sensor_3, INPUT);
}
void loop() {
if (digitalRead(sensor_1) > 30) {
AVANZA();
} else if (digitalRead(sensor_2) < 20) {
PARAR();
}
if (digitalRead(sensor_3) < 10) {
GIRAR_90_GRAD0S_();
}
}