目標
ロボット班の人たちとロボカップジュニアレスキューチャレンジに出るためのロボットを作る。なので、物との距離を算出し、自動で避けられるようにするため、超音波センサーでその機能を実装する。
使うもの・材料
- Aruduino Uno
- ブレットボード
- ジャンパピン
- 超音波センサー
- LED
- 抵抗器
配線
超音波センサのVCC,Trig,Echo,GNDは間違えないように配線する。
この通りにやれば、問題ない。
コード
#define echoPin 2 // Echo Pin
#define trigPin 3 // Trigger Pin
#define LED 13
double Duration = 0; //受信した間隔
double Distance = 0; //距離
void setup() {
Serial.begin( 9600 );
pinMode( echoPin, INPUT );
pinMode( trigPin, OUTPUT );
pinMode( LED,OUTPUT);
}
void loop() {
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");
if ( Distance <= 30){
digitalWrite(LED, HIGH);
}
else {
digitalWrite(LED, LOW);
}
}
}
実行
これをAruduino IDEで書き込み、Arduino Unoに繋いで、”マイコンボードに書き込む”を押す。 そうすれば、超音波センサーと物との距離が30cm以下になるとLEDが光り、30cm以上になると、LEDが消える。