En el post de hoy, introducimos un código para calcular distancias a partir de un detector ultrasonido:

const int EchoPin = 5;
const int TriggerPin = 6;
const int LedPin = 13;

void setup() {
  Serial.begin(9600);
  pinMode(LedPin, OUTPUT);
  pinMode(TriggerPin, OUTPUT);
  pinMode(EchoPin, INPUT);
}

void loop() {
  int cm = ping(TriggerPin, EchoPin);
  Serial.print("Distancia: ");
  Serial.println(cm);
  delay(1000);
}

int ping(int TriggerPin, int EchoPin) {
  long duration, distanceCm;
 
  digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio
  delayMicroseconds(2);
  digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 5ms
  delayMicroseconds(5);
  digitalWrite(TriggerPin, LOW);
 
  duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microseg
 
  distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
  return distanceCm;
}

Es muy sencillo, así como el conexionado. También enviamos información al puerto serie, como se indicó en el vídeo publicado.


No hay comentarios:

Publicar un comentario