Arduinoで超音波距離センサー(SRF-05)を試す!(超簡単)
こんにちは!
今回は電子工作の定番、超音波距離センサーで遊びたいと思います!
超音波距離センサーが使えるようになると、距離が測れたり、ロボットに埋め込めば障害物を避ける、
みたいなことができちゃいますので、是非、簡単に扱えるので触れておきましょう!
★使用例
・近距離を測定
・物や壁の有無を検知
①「使う部品」
・SRF-05
電子工作ステーション 280円+送料(500円以上で無料)
※HC-SR04でも可。
※各センサーの違いは、HC-SR04は3.5M測れるのに対し、 HY-SRF05は4.3Mくらい測れるそうです!
・Arduino UNO
電子工作ステーション 1255円(送料無料)(互換ボード)
※UNO以外の物でも大丈夫です。
・ジャンパーワイヤー(オス・メス)
電子工作ステーション 1セットで100円(送料500円以上で無料)
②「作り方・配線」
SRF-05 | Arduino |
---|---|
Vcc | 5V |
Trig | 3 |
Echo | 2 |
OUT | |
GND | GND |
※SRF-05のOUTピンは何もつながなくてOKです。HCSR04にはOUTピンはないです。
配線するとこんな感じになります↓(画像をクリックすると拡大できます)
③「プログラミング」
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#define echoPin 2 // Echo Pin #define trigPin 3 // Trigger Pin double Duration = 0; //受信した間隔 double Distance = 0; //距離 void setup() { Serial.begin( 9600 );//Arduino Unoは9600,ESPで試す場合はは115200 pinMode( echoPin, INPUT ); pinMode( trigPin, OUTPUT ); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite( trigPin, HIGH ); //超音波を出力 delayMicroseconds( 10 ); // digitalWrite( trigPin, LOW ); Duration = pulseIn( echoPin, HIGH ); //センサからの入力 if (Duration > 0) { Duration = Duration/2; //往復距離を半分にする Distance = Duration*340*100/1000000; // 音速を340m/sに設定 Serial.print("Distance:"); Serial.print(Distance); Serial.println(" cm"); } delay(1000);//取得間隔1秒 } |
Arduinoに書き込んだらシリアルモニターを開き値が取得できているか見れます!
(ツール⇒シリアルモニターを選択!)
※ビルドエラーが出る場合、シリアルポートが適切に選択されているか確認してみてください。
※シリアルモニターに何も表示されない場合は、シリアルモニター画面右下の9600bpsが選択されているか確認してください。
手をかざしたりするとこんな感じになります^^
こんな感じで表示されれば成功です!
これなら超簡単に作れるかと思います!
では、これにLEDを付けて距離によって光るLEDを変えられたら面白くありませんか?
是非やってみたいと思う方はこちら^^
: RKP-202A-2WD-CL 2WD Arduino 800 ?