Medidor de distancias o ultrasonido
Hola a todos, en esta entrada he realizado un medidor de distancias mediante un sensor de ultrasonidos. He elegido una opción difícil y por eso hay 3 leds y no solo uno, así puedo medir tres distancias a la vez.
Circuito:
Código:
Bloques:
Bloques:
Texto:
int distancia1 = 0;
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);
}
void setup()
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(7, OUTPUT);
}
void loop()
{
distancia1 = 0.01723 * readUltrasonicDistance(10, 9);
if (distancia1 < 50) {
digitalWrite(3, HIGH);
} else {
digitalWrite(3, LOW);
}
if ((distancia1 < 50) < (distancia1 < 100)) {
digitalWrite(5, HIGH);
} else {
digitalWrite(5, LOW);
}
if ((distancia1 < 100) < (distancia1 < 150)) {
digitalWrite(7, HIGH);
} else {
digitalWrite(7, LOW);
}
delay(10); // Delay a little bit to improve simulation performance
}
Vídeo simulación:
No hay comentarios:
Publicar un comentario