GO-AHEADの日記

GO-AHEADで出版した書籍の紹介をします

Re:50歳から始めるArduino UNO-15

Re:50歳から始めるArduino UNO

amazon kindleを出版しました。


 (6)距離センサ-2(超音波センサ)

 手元にParallax社のセンサがありましたので、これで、距離を測定してみましょう。このセンサは5V、GND、SIGの3つの端子となっており、信号を発信する端子と受け取る端子がSIGの1つとなっています。このため、SIGで出力した後、すぐに入力に切り替えて入力待ちの状態にします。

f:id:GO-AHEAD:20201222103037p:plain

 また、音速を340m/sとして計算していますので、1μsecで0.34mm進みます。

f:id:GO-AHEAD:20201222103051p:plain



回路例

<プログラム>


void setup() {

Serial.begin( 9600 );

}

void loop() {
unsigned long i;
float d;

pinMode(13, OUTPUT);//13pinを出力に設定する
digitalWrite(13, LOW);
delayMicroseconds(2);//2μs LOWとする。
digitalWrite(13, HIGH);
delayMicroseconds(5);//5μs HIGHで超音波を発振

pinMode(13, INPUT);//13pinを入力に設定する
i = pulseIn(13, HIGH);//HIGHになるまでの時間を計測する。単位μsec
i=i/2; //片道の時間を測定 音速を340m/sとすると、1μsecで、0.34mm進む
d=float(i)*0.34;
Serial.print(d);
Serial.println("mm");
delay(500);

}

f:id:GO-AHEAD:20201222103107p:plain f:id:GO-AHEAD:20201222103120p:plain

100mmのときはほぼ100mmの出力となっています。

f:id:GO-AHEAD:20201222103141p:plain f:id:GO-AHEAD:20201222103153p:plain

50mmのときもほぼ50mmの出力となっています。

 

f:id:GO-AHEAD:20201222103210p:plain f:id:GO-AHEAD:20201222103238p:plain

10mmのときは、35mmの出力となっています。発信器側と受信機側の中心の距離が25mm程ですので、10mmの距離のときはこれを考慮して35mm程度の出力となるのではないかと考えられます。50mm程度から2000mm程度の計測が計測できる範囲ではないでしょうか。