Tengo un código para un sensor ultrasónico que encontré en un sitio. Aquí está el código:
#define trigPin 12
#define echoPin 13
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
int duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance >= 200 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
Sin embargo, no entiendo el trabajo de la pulseIn()
función. Quiero decir, quiero saber cuándo comienza el recuento de tiempo y cuándo termina. Por ejemplo, en este código, ¿comienza la hora en digitalWrite(trigPin, HIGH);
o comienza en la pulseIn()
función?
Si es el segundo, cuando se detiene, ¿cómo nos da el tiempo la distancia de un obstáculo cuando ya estoy retrasando 1000 microsegundos después de enviar un ping en el aire?
How can i do this code in assembly languaje
¿Qué tiene que ver eso con esta pregunta?