Saya memiliki kode untuk sensor ultrasonik yang saya temukan dari sebuah situs. Ini kodenya:
#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);
}
Namun, saya tidak mengerti pekerjaan pulseIn()
fungsi. Maksud saya, saya ingin tahu kapan penghitungan waktu dimulai dan kapan berakhir. Misalnya, dalam kode ini, apakah waktu mulai digitalWrite(trigPin, HIGH);
atau apakah waktu mulai pada pulseIn()
fungsi?
Jika yang kedua, ketika berhenti, lalu bagaimana waktu memberi kita jarak dari hambatan ketika saya sudah menunda 1000 mikrodetik setelah saya mengirim ping di udara?
How can i do this code in assembly languaje
- apa hubungannya dengan pertanyaan ini?