Tôi có mã cho một cảm biến siêu âm mà tôi tìm thấy từ một trang web. Đây là mã:
#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);
}
Tuy nhiên, tôi không hiểu công việc của pulseIn()
chức năng. Ý tôi là, tôi muốn biết khi nào thời gian bắt đầu và khi nào nó kết thúc. Ví dụ, trong mã này, thời gian bắt đầu tại digitalWrite(trigPin, HIGH);
hoặc thời gian bắt đầu tại pulseIn()
hàm?
Nếu đó là lần thứ hai, khi nó dừng lại, thì thời gian cho chúng ta khoảng cách của một chướng ngại vật như thế nào khi tôi đã trì hoãn 1000 micro giây sau khi tôi gửi ping trong không khí?
How can i do this code in assembly languaje
- điều đó có liên quan gì đến câu hỏi này?