私が知る限り、thereからコードを取得しています。
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
「クリア」は、ここであなたがはっきりと突然の波面が放射されるように、いくつかの送信を開始する前に、まったく音波を送信していないしていることを確認すること実際にあります。
__________
| |
signal ______| |______________
<--> <------->
2us 10us
高値になる前に私たちが低いことを確認したいと思います。その結果、受信波は正確に識別される可能性が高くなります。
何
pulseIn()
duration = pulseIn(echoPin, HIGH);
は、センサーを入力してボルトで閾値より高い信号を生成するために音波を待っていることです。
great explanationどのように動作するか。
は、 'trigPin'が何で、どのように相互接続されているかによって異なります。これはどのMCUですか? (そして、Arduinoは単なるフレームワークなので反応しないでください)回路と背景知識がなければ、プログラムの意味はありません。この出力または入力です...入力されている場合、ポーリングまたは割り込みです。レシーバ/トランシーバは、直接接続されているか、または何らかのドライバを介して接続されていますか? – Spektre
これらの2本のラインはピンを0Vに設定するだけです(ピンをHIGHに設定するのではなく、ピンをクリアすることとよく呼ばれます)。 2マイクロ秒。それはなぜそのピンに接続されているかによっていくつかの効果があるのです。あなたはそれについて話す文脈を与えていない。 –