
どうも、ポプテピピックのTシャツを着て碇ゲンドウのマネをしているはとバスです。
このTシャツ、3Lなのですが着てみると意外と
普通だったので自分がいかにデブなのかを思い知らされました。
ところで皆さん
最近、飛び出し坊やを見ていますか?
飛び出し坊やとは
みなさん、道端に立っているこの男の子の姿を見たことがあるでしょうか。

現代の道祖神と称されるほどの有名な人物、それが飛び出し坊やこと「とび太くん」です。 これが出来たのは40年ほど前、滋賀県の看板屋さんが作製したのだそう。
これ、実は今ひそかにブームになっています。どうやらこの愛くるしい表情が人気らしく、キーホルダーや交通安全のお守りもあるそうです。
路上で轢かれてしまった人の返り血に染まった赤色の服、脳漿と脂肪がべっとりついたような黄色のズボンを着ている飛び出し坊や君以外にも、色々なタイプの飛び出し坊や君がいます。


ちゃんとそういう筋に話を通しているのか不安になるような飛び出し坊や君も

3Dゲームのバグみたいな飛び出し坊やもいたりします。 これはめり込み坊やって言ったほうが正しいかもしれません
飛び出し坊やくんの力
しかしこの飛び出し坊や君をなめてもらっては困ります、飛び出し坊や君のおかげなのか、年々交通事故死亡者の件数が下がっている傾向が見受けられます。 下のグラフを見てもわかる通り、飛び出し坊や君が登場した70年代は死亡者が約17,000人ほどだったのが、今では約1/3にもなっています。

(平成27年度交通白書から)
このグラフを見てもわかる通り、飛び出し坊や君は交通事故による死亡者を抑制する力があるそうです。
こんな飛び出し坊や君なんですが
東北地方では
そこまで
メジャーでは!
ないんです!!
僕は今東北の地方都市で大学生をしているのですが、この飛び出し坊や君を見たことがなく、インターネットで存在を知りました。
この愛くるしい姿を、交通事故を防ごうとする姿を、どうやれば東北地方の方々に知ってもらえるんだろうか......
そこで僕が考えたのはこちらです。
自分でニュータイプな飛び出し坊や君を作ればいいんじゃないか?
じゃあ、もっとスケールを大きくしたら、交通事故がもっと減るのでは?
この二つが思い浮かびました。
というわけで作ります。
コンセプトは 実際に飛び出して、事故を未然に防いでくれる 飛び出し坊や君です。
実際に作る
僕が今回使用するものは Arduino という機材です。僕が尊敬するプロの無職、Mansoonさんがよく使用していることで有名です。

その前に、まずは飛び出し坊や君を作ります。

飛び出し坊や君をまず、顔、上半身、下半身のパーツに分けます。別に事故でバラバラの死体になったというわけではありません。
次にこれをA4用紙にいっぱいに印刷します。

大学のプリンターの環境がモノクロ二色刷りなので白黒の飛び出し坊や君が生まれました。

これを、引っ越しで大量に出た段ボールに貼り付け、補強します。

実際に出来たのがこちらになります。

ところどころつなぎ目が見えますが、ちょうどいい大きさになればいいのです。

あとは後ろにベタベタ貼って、動く飛び出し坊や君の部分は完結です。
Arduinoで実際に動く部分を作る
次にArduinoで動く部分を作っていきます。実際の配線は以下の画像を参照ください。

今回測距のために HC-SR04 を使用したので実際の配線とは異なります。 HC-SR04を使用する際にはEchoを9番ピン、Trigを8番ピンに接続します。
これで距離を知るための回路が構築できました。後はプログラムを書いていく部分です。HC-SR04のサンプルプログラムを流用しました。
このHC-SR04何ですが、手軽に超音波を使うことができるなんかすごいデバイスです。超音波が反射して戻って来る時間を計測して、実際にその物体までの距離を割り出すものです。amazonで5個入り1200円で購入することができます。研究で使う予定が、先にこっちで使用することになってしまいました。
#include <Servo.h>
Servo myservo;
int Trig = 8;
int Echo = 9;
int Duration;
int pos = 0; //角度を調整する変数
float Distance;
const int deg0msec = 600; // msec.
const int deg180msec = 2350; // msec.
int microSec = deg0msec;
void setup() {
Serial.begin(9600);
pinMode( 2, OUTPUT );
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
myservo.attach(2); //サーボを2番ピンに接続
}
void loop() {
digitalWrite(Trig, LOW);
delayMicroseconds(1);
digitalWrite(Trig, HIGH);
delayMicroseconds(11);
digitalWrite(Trig, LOW);
Duration = pulseIn(Echo, HIGH);
if (Duration > 0) {
Distance = Duration / 2;
Distance = Distance * 340 * 100 / 1000000;
// 超音波のスピードは 340m/s なので
//cmに換算すると 34000cm/s つまり 0.034cm/us
Serial.print(Duration);
Serial.print(" us ");
Serial.print(Distance);
Serial.println(" cm");
}
if (Distance <= 100) {
//飛び出し坊やくんとのキョリが100cm以下の場合、
//飛び出し坊やくんが飛び出して来る
for (pos = 0; pos <= 90; pos += 1) {
myservo.write(pos); //0~90度までサーボを変化させる
}
myservo.write(90);
//変化させた後、90度の部分で固定させる
}
else myservo.write(0);
//100cm以上センサと離れている場合、飛び出し坊やくんは飛び出さない
delay(500);
}
そんなこんなでできたのがこちらです。

センサの100cm以内に接近した時に飛び出し坊や君が飛び出してくれるようにしました。
何を書いているか分からないと思いますけど僕もほとんどわからないです。
実際に動かしたものがこちらです。
使用する電源もDCアダプターです。近所のハードオフに108円で売っていたものなのですが、これで全部動かすことができます。

お値段も手頃で、全国の街角に配備される未来も遠くはないでしょう。

あと30年もしたら、これが日常の風景になっていそうです、自動運転の車とかも出ていると思いますが、人が事故を起こすのは間違いなくあると思うので、空知英秋先生の書いた読み切りマンガ、「ばんからさんが通る」みたいに人間の体が機械で制御されるような未来になっていなければ、この飛び出す飛び出し坊やくんの日の目を見る機会は増えると思います。
先ほどのgifを友人数人に見せ、この飛び出す飛び出し坊やくんの是非について問いたのですが、かえってきた答えがこちらになります。

たまに僕の言葉が通じず、8針ほど縫う怪我を負わされる友人たちの意見が約9割を占めています。彼らは興奮していたので、この飛び出し坊やくんを気に入ってくれたのか、飛び出し坊やくんに欲情しているんだろうと思われます。ゴリラの世界でもなかなかな支持を持っているとすれば、類人猿から進化した人間の世界でも、支持する人がいっぱいいるんだろうと思います。
今回の記事、いかがだったでしょうか、記事を書くことがようやくできたので、僕の日課の「Mansoonさんのいると思われる方向に向かって般若心経を唱えることができそうです。ここまで読んでもらい、本当にありがとうございました。