// ULTRASONIDO PARPADEO PIN13 SEGUN DISTANCIAS PROXIMIDAD // CON BUZZER EN PIN 2 // AUTOR: JORGE ZAB (10-10-19) int Pecho = 8; //pin Echo int Ptrig = 9; //pin Trigger unsigned long duracion, distancia; // void setup() { Serial.begin (9600); // inicializa el puerto seria a 9600 baudios pinMode(Pecho, INPUT); // define el pin 8 como entrada (echo) pinMode(Ptrig, OUTPUT); // define el pin 9 como salida (triger) pinMode(13, OUTPUT); // Define el pin 13 como salida pinMode(2, OUTPUT); // Define el pin 2 como salida del buzzer } void loop() { digitalWrite(Ptrig, LOW); delayMicroseconds(2); digitalWrite(Ptrig, HIGH); // genera el pulso de trigger por 10ms delayMicroseconds(10); digitalWrite(Ptrig, LOW); duracion = pulseIn(Pecho, HIGH); distancia = (duracion / 2) / 29; // calculo de distancia (ver link a fucionamiento del sensor) if (distancia >= 500 || distancia <= 0) { // si la distancia es mayor a 500cm o menor a 0cm Serial.println("---"); // no mide nada } else { Serial.print(distancia); // envia el valor de la distancia por el puerto serial Serial.println("cm"); // le coloca a la distancia los centimetros "cm" digitalWrite(13, 0); // en bajo el pin 13 } if (distancia <= 20 && distancia > 15) { digitalWrite(13, HIGH); //blink en el pin 13 si la distancia es menor o igual a 20 cm y mayor a 15 cm digitalWrite(2, HIGH); //SUENA BUZZER en el pin 2 si la distancia es menor o igual a 20 cm y mayor a 15 cm delay(500); digitalWrite(13, LOW); digitalWrite(2, LOW); delay(500); Serial.print(distancia); // envia el valor de la distancia por el puerto serial Serial.println("cm"); } if (distancia <= 15 && distancia > 10) { digitalWrite(13, HIGH); // blink en el pin 13 si la distancia es menor o igual a 15 cm y mayor a 10 cm digitalWrite(2, HIGH); //SUENA BUZZER en el pin 2 delay(250); digitalWrite(13, LOW); digitalWrite(2, LOW); delay(250); Serial.print(distancia); // envia el valor de la distancia por el puerto serial Serial.println("cm"); } if (distancia <= 10 && distancia > 5) { digitalWrite(13, HIGH); // blink en el pin 13 si la distancia es menor o igual a 10 cm y mayor a 5 cm digitalWrite(2, HIGH); //SUENA BUZZER en el pin 2 delay(125); digitalWrite(13, LOW); digitalWrite(2, LOW); delay(125); Serial.print(distancia); // envia el valor de la distancia por el puerto serial Serial.println("cm"); } if (distancia <= 5) { digitalWrite(13, HIGH); // blink en el pin 13 si la distancia es menor o igual a 5 cm digitalWrite(2, HIGH); //SUENA BUZZER en el pin 2 delay(50); digitalWrite(13, LOW); digitalWrite(2, LOW); delay(50); Serial.print(distancia); // envia el valor de la distancia por el puerto serial Serial.println("cm"); } }