Ich habe Code für einen Ultraschallsensor, den ich von einer Site gefunden habe. Hier ist der Code:
#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);
}
Ich verstehe die pulseIn()
Funktionsweise jedoch nicht. Ich möchte wissen, wann die Zeitzählung beginnt und wann sie endet. Beginnt in diesem Code beispielsweise die Zeit bei digitalWrite(trigPin, HIGH);
oder beginnt die Zeit bei der pulseIn()
Funktion?
Wenn es das zweite ist, wenn es stoppt, wie gibt uns die Zeit dann die Entfernung eines Hindernisses, wenn ich bereits 1000 Mikrosekunden verzögere, nachdem ich einen Ping in der Luft gesendet habe?
How can i do this code in assembly languaje
- Was hat das mit dieser Frage zu tun?