const int EchoPin1 = 2; const int TriggerPin1 = 3; const int EchoPin2 = 4; const int TriggerPin2 = 5; const int EchoPin3 = 6; const int TriggerPin3 = 7; void setup() { Serial.begin(9600); pinMode(TriggerPin1, OUTPUT); //para las secadoras disparador del ultrasonico pinMode(EchoPin1, INPUT); //para las secadoras eco del ultrasonico pinMode(TriggerPin2, OUTPUT); //para apagar los motores disparador del ultrasonico pinMode(EchoPin2, INPUT); //para apagar los motores eco del ultrasonico pinMode(TriggerPin3, OUTPUT); //para encender los motores disparador del ultrasonico pinMode(EchoPin3, INPUT); //para encender los motores ECO del ultrasonico pinMode(8,OUTPUT); //pin de los motores pinMode(9,OUTPUT); //secadoras digitalWrite(8, LOW); // apagados digitalWrite(9, LOW); // apagados } void loop() { int cm1 = ping(TriggerPin3, EchoPin3); if (cm1>2 && cm1<15) digitalWrite(8, HIGH); int cm2 = ping(TriggerPin2, EchoPin2); if (cm2>2 && cm2<15) { digitalWrite(8, LOW); } int cm3 = ping(TriggerPin1, EchoPin1); if (cm3>2 && cm3<15) { digitalWrite(8, LOW); digitalWrite(9, HIGH); Serial.print("Distancia: "); Serial.println(cm3); } else { digitalWrite(9, LOW); } } int ping(int TriggerPin, int EchoPin) { long duration, distanceCm; digitalWrite(TriggerPin, LOW); //para generar un pulso limpio ponemos a LOW 4us delayMicroseconds(4); digitalWrite(TriggerPin, HIGH); //generamos Trigger (disparo) de 10us delayMicroseconds(10); digitalWrite(TriggerPin, LOW); duration = pulseIn(EchoPin, HIGH); //medimos el tiempo entre pulsos, en microsegundos distanceCm = duration * 10 / 292/ 2; //convertimos a distancia, en cm return distanceCm; }