IMAGEN PROYECTO
CODIGO
#define trigPin 4
#define echoPin 3
#define led 13
#define led2 12
#define led3 11
#define led4 10
#define led5 9
#define led6 8
#define buzzer 5
//varibale que utilizamos para reproducir sonidos en el buzzer
int sound=250;
void setup()
{
Serial.begin(9600);
//inicialización de dos pines del ultrasonidos
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//inicialización todos los leds
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(buzzer, OUTPUT);
void loop()
long duration, distance;
//limpiamos de ruido el pin que realice del ultrasonido y lo lanzamos
digitalWrite(trigPin, LOW);
delayMicroseconds(4);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//recibimos el ultrasonido de vuelta
duration= pulseIn(3, HIGH);
//Calculamos la distancia en cm
distance= duration*10/292/2; //convertimos distancia, en cm
//preguntamos si la distancia que tenemos con el objeto es menor o igual a 50.
// en tal caso encendemos el primero de los leds y reproducimos un sonido, el 250
// en caso contrario apagamos led
//lo mismo con el resto de leds, en función de sí el objeto se acerca vamos encendiendo leds y
//reproducimos sonidos
if(distance <=50){
digitalWrite(led, HIGH);
sound=250;
else{
digitalWrite(led, LOW);
if(distance<40){
digitalWrite(led2, HIGH);
sound=260;
else{
digitalWrite(led2, LOW);
if(distance<30){
digitalWrite(led3, HIGH);
sound=270;
else{
digitalWrite(led3, LOW);
}
if(distance<20){
digitalWrite(led4, HIGH);
sound=280;
else{
digitalWrite(led4, LOW);
if(distance<15){
digitalWrite(led5, HIGH);
sound=290;
else{
digitalWrite(led5, LOW);
if(distance<10){
digitalWrite(led6, HIGH);
sound=300;
else{
digitalWrite(led6, LOW);
//por ultimo si la distancia esta por encima de nuestro minimo (50 cm) o debajo de 0 sacamos
mensaje y apagamos
//buzzer
if(distance >50 || distance <=0){
Serial.println("Out of range");
noTone(buzzer);
}
//si entramos al else es que estamos encendiendo leds y reproduciendo sonidos así que sacamos
valores en monitor
// serie y reproducimos sonido
// en los IF anteriores le habremos dado un valor a la variable sound en función de la cercanía del
objeto, aqui la
// reproducimos
else {
Serial.print(distance);
Serial.println("cm");
tone(buzzer, sound);
delay(500);
LINK:
https://www.tinkercad.com/things/jNUglBPtdhD