最近、仕事が忙しくて趣味に時間を割こうという気が起きなかったのですが、年末できなかった大掃除をしたことをきっかけに、今日は久しぶりに Arduino を引っ張りだしてきました。

息子とずっと相談していた自立走行ロボットの目の部分を担う超音波レーダーを試しに作ってみました。サーボモーターと超音波センサーを組み合わせて作ります。




実際に作った回路はこんな感じです。少し配線が分かり難くて恐縮です。





サーボモータと超音波センサーの使い方は以下の記事を参考にしてください。

Arduino Nano でサーボモータを動かしてみた
http://makers-with-myson.blog.so-net.ne.jp/2014-04-24

Arduino Nano に超音波センサーを接続してみた
http://makers-with-myson.blog.so-net.ne.jp/2014-04-27

Arduino と超音波でドレミをしてみた
http://makers-with-myson.blog.so-net.ne.jp/2014-05-21

スケッチは以下のように記述しました。3cm より遠く、15cm以下に障害物があるとLEDを光らせるように記述しています。


#include &ltServo.h>

Servo myservo;
int pinSignal = 7; // Signal pin
int pos = 0;
int value = 0;

int pinTrig = 8; // Trig pin
int pinEcho = 9; // Echo pin
int Duration;
float Distance;

int pinLED = 13; // LED pin

void setup() {
myservo.attach(pinSignal);
Serial.begin(115200);
pinMode(pinTrig, OUTPUT);
pinMode(pinEcho, INPUT);

pinMode(pinLED, OUTPUT);
}


int search() {
digitalWrite(pinTrig, LOW);
delayMicroseconds(1);
digitalWrite(pinTrig, HIGH);
delayMicroseconds(1);
digitalWrite(pinTrig, LOW);
Duration = pulseIn(pinEcho, HIGH);
if (Duration > 0) {
Distance = Duration/2;
Distance = Distance*340*100/1000000; // 340m/s = 34000cm/s = 0.034cm/us
if (Distance <=15 && Distance > 3) {
return HIGH;
}
}
return LOW;
}
void loop() {

for (pos = 30; pos <= 150; ++pos) {
myservo.write(pos);
value = myservo.read();
digitalWrite(pinLED, search());
delay(10);
}

for (pos = 150; pos >= 30; --pos) {
myservo.write(pos);
value = myservo.read();
digitalWrite(pinLED, search());
delay(10);
}
}



さて、それでは実際に動かしてみましょう。Arduinoの前に娘のフィギュアを置いて試してみました。





動いている様子を撮影しました。狙い通りレーダーっぽく仕上がったかなと思います。






勉強をしていた息子を呼んで見せたところ、かなり気に入った様子で色々と試していました。ティッシュだと超音波を反射しにくいみたいで検出しない場合がありました。ステルスですねぇ。音波ですけど。

最近、勉強に忙しくて中々相手をしてくれない息子ですが、電気工作にまた興味湧いてくれると嬉しいなぁ。
・:*:・( ̄∀ ̄ )。・:*:・






みんなのArduino入門:基本キット

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



HC-SR04 超音波距離センサーモジュール セット数が増えると価格はもっと格安! For Arduino 5pcs

  • 出版社/メーカー: サインスマート(SainSmart)
  • メディア: オフィス用品



マイクロサーボ SG90 改良版 (2個入)

  • 出版社/メーカー: Umemoto LLP
  • メディア: