FunnyGeek

Home > This page

micro:bitを使ってゴーストレーダーをつくる

映画ゴーストバスターズのアフターライフ(After Life)編をみた。イゴン・スペングラー博士が開発したゴーストレーダーは、ゴーストに接近すると、ゴーストまでの距離に反応して光と音で知らせてくれる機械。

ちょうど micro:bit で何か面白いものを作りたかったので、家にある材料でつくってみた。メインの本体はアイスコーヒーのペットボトル。

ゴーストレーダーの動作確認(youtube動画)

使ってみると楽しい♪

作り方

材料:microbit本体、サーボモーター2個、乾電池BOX(microbit用3Vとモーター用5Vの2個)、ワニ口などケーブル、本体は何でもよい(この例はアイスコーヒーのペットボトル)

電源:micro:bit本体の電源入力が3V(単三乾電池2個)に対して、サーボモーターの電圧が4.8~6Vだったので、マイクロビットの端子3Vではモーターが動かない(PCのUSBケーブルでマイクロビットに接続したときは、3V端子につないだモーターも動いた)。

サーボモーター:MS18という5個で1,700円程度の安価な部品。購入したWEBサイトでは動作角度が180°とか200°とか記載されているので最大角度が不明。データシート探したけれど見つからず。

本体:マイクロビットv2にはLEDとスピーカーがついている。そしてゴーストに反応するセンサー、これをどうするか考えよう。

配線図

プログラム

クイズ

ゴーストを検知するセンサーには何を使っているでしょうか?

プログラミングのヒント(サーボモーターの角度)

左右のサーボモーターはケーブルの都合から左右対称に配置しています。そのため、サーボモーターの指定角度は下図のように左右で異なります。しかし、角度の大きさは左右どちらも110°なので計算式で左右の指定角度を算出します。ここがプログラミングの楽しいところ。

ゴーストとの距離が大きい:この場合は、左110°、右60°なので、サーボーモーター[P0][P1]に値[110][60]を入れます。

ゴーストが近づいたら:
[0]が最も近く[110]が遠いと判断します。左はそのまま<近い0°><遠く110°>をサーボモーターに指定します。
右は<サーボモーターの角度 = 最大角度170° - センサーの値>で求めます。その結果、近くなら<170 - 0 = 170°>、遠くなら<170 - 110 = 60°>になります。

クイズの正解ですが、ゴーストセンサーは micro:bit の方角(°)センサーを使っています。つまり、この機械は本当に機能する“方位磁針”でした。

▲上に戻る