Está en la página 1de 2

//Declaracion de las variables coorrespondientes a los sensores

int frontSensor = 0,rightSensor=0,leftSensor=0;

//Funcion que limpia los sensores de cualquier valor y lee el tiempo que tarda en
regresar la onda amitida
long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
// Reads the echo pin, and returns the sound wave travel time in microseconds
return pulseIn(echoPin, HIGH);
}

//Funcion para hacer sonar los buzzers


void sonar(String sensor){
if(sensor=="izquierdo"){
tone(2,300,150);
}else{
if(sensor=="derecho"){
tone(3,600,200);
}else{
if(sensor=="frontal"){
tone(4,100,150);
}

}
}
}

//Todo lo del setup solo se ejecuta una vez


void setup()
{
//Instruccion mendiante la cual podemos ver información en el monitor serie(La
distancia que detectan los sensores)
Serial.begin(9600);

//Todo lo del loop se ejecuta una y otra vez en un ciclo infinito


void loop()
{

delay(300);
// measure the ping time in cm
frontSensor = 0.01723 * readUltrasonicDistance(6, 7);
rightSensor = 0.01723 * readUltrasonicDistance(8, 9);
leftSensor = 0.01723 * readUltrasonicDistance(10, 11);

//Imprimimos las distancias medidas arriba para saber si estan en correcto


funcionamiento los sensores
Serial.print(frontSensor);
Serial.println(" cm: Sensor Delantero");
Serial.print(rightSensor);
Serial.println(" cm: Sensor Derecho");
Serial.print(leftSensor);
Serial.println(" cm: Sensor izquierdo");
Serial.println("");

//Area donde se verifica la proximidad de algun objeto a los sensores y emite el


sonido
if(rightSensor<70){
sonar("derecho");
delay(200);
if(leftSensor<70){
sonar("izquierdo");
delay(200);
}
if(frontSensor<180){
sonar("frontal");
delay(200);
}

}else{
if(leftSensor<70){
sonar("izquierdo");
delay(200);
if(frontSensor<180){
sonar("frontal");
delay(200);
}
if(rightSensor<70){
sonar("derecho");
delay(200);
}
}
else{
if(frontSensor<180){
sonar("frontal");
delay(200);
if(rightSensor<70){
sonar("derecho");
delay(200);
}
if(leftSensor<70){
sonar("izquierdo");
delay(200);

También podría gustarte