martes, 21 de abril de 2020

P.3 3ºtrim. Medidor de distancia/ultrasonido

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:


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