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