2017-12-01 9 views
-1

Arduinoコーディングが初めてです。私は超音波センサーに関連するコードを試しています。C、Arduinoコーディングでtrigピンをクリアする

digitalWrite(trigPin,LOW); 
delayMicroseconds(2); 
//this to clear pin 

私はこのコードが何であるかを知ることができません(クリアピンの意味)。動きを検出するために音波を送信する前に毎回ピンをクリアする必要がありますか?

+0

は、 'trigPin'が何で、どのように相互接続されているかによって異なります。これはどのMCUですか? (そして、Arduinoは単なるフレームワークなので反応しないでください)回路と背景知識がなければ、プログラムの意味はありません。この出力または入力です...入力されている場合、ポーリングまたは割り込みです。レシーバ/トランシーバは、直接接続されているか、または何らかのドライバを介して接続されていますか? – Spektre

+0

これらの2本のラインはピンを0Vに設定するだけです(ピンをHIGHに設定するのではなく、ピンをクリアすることとよく呼ばれます)。 2マイクロ秒。それはなぜそのピンに接続されているかによっていくつかの効果があるのです。あなたはそれについて話す文脈を与えていない。 –

答えて

0

私が知る限り、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どのように動作するか。

関連する問題