Experimento con sensor de ultrasonido
En esta practica, vais apoder aprender como funciona un sensor de ultrasonido (HC-SR04). Funciona similarmente a los sensores de aparcamiento, ya que indica a la distancia a la que se encuentra el obstáculo como vais a apreciar en el video.
Nosotros en vez de reproducir un sensoer de aparcamiento, hemos hecho que a diversaas distancias se encienda un led distinto, hasta los 20 cm se encendera el led rojo; desde los 20cm, hasta los 50cm se encendera el led amarillo; y a partir de los 50cm se encendera el led verde.
Lo unico basico que necesitais para esta practica es poseer un sensor de ultrasonido, y la placa pero que se puede utilizar: buzzer, leds...
Ahora en podeuis ver el codigo de programacion que no es nada dificil, se basa en la parte del principio para dar nombre a los leds y al sensor; escribir bien el tiempo y las distancia para que arduino la calcule; y por ultimo redactar los periodos o los mon¡mentos en los que se han de encender los leds.
const int EchoPin = 5; const int TriggerPin = 6; const int LedPinVerde = 13; const int LedPinamarillo = 12; const int LedPinRojo = 11; float distancia; long tiempo; void setup() { Serial.begin(9600); pinMode(LedPinVerde, OUTPUT); pinMode(LedPinamarillo, OUTPUT); pinMode(LedPinRojo, OUTPUT); pinMode(TriggerPin, OUTPUT); pinMode(EchoPin, INPUT); } void loop() { digitalWrite(TriggerPin, HIGH); delayMicroseconds(10); digitalWrite(TriggerPin, LOW); tiempo = (pulseIn(EchoPin, HIGH)/2); distancia = float(tiempo * 0.0343); Serial.print("Distancia: "); Serial.println(distancia); if (distancia < 20) { digitalWrite(LedPinVerde , LOW); digitalWrite(LedPinamarillo , LOW); digitalWrite(LedPinRojo , HIGH); Serial.println("rojo"); } else if ((distancia > 20) && (distancia < 50)) { digitalWrite(LedPinVerde , LOW); digitalWrite(LedPinamarillo , HIGH); digitalWrite(LedPinRojo , LOW); Serial.println("amarillo"); } else if (distancia > 50){ digitalWrite(LedPinVerde , HIGH); digitalWrite(LedPinamarillo , LOW); digitalWrite(LedPinRojo , LOW); Serial.println("verde"); } delay(1000); }




