Código realizado por: A.M.C 19 , J.C.B 4 y D.V.G 24

Código normal: 

/***   Included libraries  ***/


/***   Global variables and function definition  ***/
const int EN_A_5 = 5;
const int IN_1_11 = 11;
const int IN_2_10 = 10;
const int EN_B_6 = 6;
const int IN_3_12 = 12;
const int IN_4_13 = 13;
const int infrarrojo_izquierdo = 2;
const int infrarrojo_derecho = 3;

float Velocidad = 150;
float izquierda = 0;
float derecha = 0;
void se_ha_salido() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, HIGH);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}
analogWrite(6, Velocidad);
void Derecha() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, HIGH);
    analogWrite(5, Velocidad);
}
void Apagado() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, LOW);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, LOW);
    digitalWrite(EN_A_5, LOW);
    digitalWrite(EN_B_6, LOW);
}
void avanzar() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, HIGH);
    digitalWrite(IN_4_13, LOW);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}
void Izquierda() {
    digitalWrite(IN_1_11, HIGH);
    digitalWrite(IN_2_10, LOW);
    digitalWrite(IN_3_12, HIGH);
    digitalWrite(IN_4_13, LOW);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}



/***   Setup  ***/
void setup() {
    pinMode(EN_A_5, OUTPUT);
    pinMode(IN_1_11, OUTPUT);
    pinMode(IN_2_10, OUTPUT);
    pinMode(EN_B_6, OUTPUT);
    pinMode(IN_3_12, OUTPUT);
    pinMode(IN_4_13, OUTPUT);
    pinMode(infrarrojo_izquierdo, INPUT);
    pinMode(infrarrojo_derecho, INPUT);

}


/***   Loop  ***/
void loop() {
    izquierda = digitalRead(infrarrojo_izquierdo);
    derecha = digitalRead(infrarrojo_derecho);
    if (((izquierda == 0) && (derecha == 0))) {
        Apagado();
    } else if (((izquierda == 1) && (derecha == 0))) {
        Derecha();
    } else if (((izquierda == 0) && (derecha == 1))) {
        Izquierda();
    } else if (((izquierda == 1) && (derecha == 1))) {
        avanzar();
    }
}




Código de 90 grados:

/***   Included libraries  ***/


/***   Global variables and function definition  ***/
const int EN_A_5 = 5;
const int IN_1_11 = 11;
const int IN_2_10 = 10;
const int EN_B_6 = 6;
const int IN_3_12 = 12;
const int IN_4_13 = 13;
const int infrarrojo_izquierdo = 2;
const int infrarrojo_derecho = 3;

float Velocidad = 95;
float izquierda = 0;
float derecha = 0;
void se_ha_salido() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, HIGH);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}
analogWrite(6, Velocidad);
void Derecha() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, HIGH);
    analogWrite(5, Velocidad);
}
void Apagado() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, LOW);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, LOW);
    digitalWrite(EN_A_5, LOW);
    digitalWrite(EN_B_6, LOW);
}
void avanzar() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, HIGH);
    digitalWrite(IN_4_13, LOW);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}
void Izquierda() {
    digitalWrite(IN_1_11, HIGH);
    digitalWrite(IN_2_10, LOW);
    digitalWrite(IN_3_12, HIGH);
    digitalWrite(IN_4_13, LOW);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}



/***   Setup  ***/
void setup() {
    pinMode(EN_A_5, OUTPUT);
    pinMode(IN_1_11, OUTPUT);
    pinMode(IN_2_10, OUTPUT);
    pinMode(EN_B_6, OUTPUT);
    pinMode(IN_3_12, OUTPUT);
    pinMode(IN_4_13, OUTPUT);
    pinMode(infrarrojo_izquierdo, INPUT);
    pinMode(infrarrojo_derecho, INPUT);

}


/***   Loop  ***/
void loop() {
    izquierda = digitalRead(infrarrojo_izquierdo);
    derecha = digitalRead(infrarrojo_derecho);
    if (((izquierda == 0) && (derecha == 0))) {
        Apagado();
    } else if (((izquierda == 1) && (derecha == 0))) {
        Derecha();
    } else if (((izquierda == 0) && (derecha == 1))) {
        Izquierda();
    } else if (((izquierda == 1) && (derecha == 1))) {
        avanzar();
    }
}




Código buscar la linea:


/***   Included libraries  ***/


/***   Global variables and function definition  ***/
const int EN_A_5 = 5;
const int IN_1_11 = 11;
const int IN_2_10 = 10;
const int EN_B_6 = 6;
const int IN_3_12 = 12;
const int IN_4_13 = 13;
const int infrarrojo_izquierdo = 2;
const int infrarrojo_derecho = 3;

float Velocidad = 95;
float izquierda = 0;
float derecha = 0;
void se_ha_salido() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, HIGH);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}
analogWrite(6, Velocidad);
void Derecha() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, HIGH);
    analogWrite(5, Velocidad);
}
void Apagado() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, LOW);
    digitalWrite(IN_3_12, LOW);
    digitalWrite(IN_4_13, LOW);
    digitalWrite(EN_A_5, LOW);
    digitalWrite(EN_B_6, LOW);
}
void avanzar() {
    digitalWrite(IN_1_11, LOW);
    digitalWrite(IN_2_10, HIGH);
    digitalWrite(IN_3_12, HIGH);
    digitalWrite(IN_4_13, LOW);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}
void Izquierda() {
    digitalWrite(IN_1_11, HIGH);
    digitalWrite(IN_2_10, LOW);
    digitalWrite(IN_3_12, HIGH);
    digitalWrite(IN_4_13, LOW);
    analogWrite(5, Velocidad);
    analogWrite(6, Velocidad);
}



/***   Setup  ***/
void setup() {
    pinMode(EN_A_5, OUTPUT);
    pinMode(IN_1_11, OUTPUT);
    pinMode(IN_2_10, OUTPUT);
    pinMode(EN_B_6, OUTPUT);
    pinMode(IN_3_12, OUTPUT);
    pinMode(IN_4_13, OUTPUT);
    pinMode(infrarrojo_izquierdo, INPUT);
    pinMode(infrarrojo_derecho, INPUT);

}


/***   Loop  ***/
void loop() {
    izquierda = digitalRead(infrarrojo_izquierdo);
    derecha = digitalRead(infrarrojo_derecho);
    if (((izquierda == 0) && (derecha == 0))) {
        se_ha_salido();
    } else if (((izquierda == 1) && (derecha == 0))) {
        Derecha();
    } else if (((izquierda == 0) && (derecha == 1))) {
        Izquierda();
    } else if (((izquierda == 1) && (derecha == 1))) {
        avanzar();
    }
}










Comentarios

Entradas populares de este blog

Robot Da Vinci