「動く肖像画」を作りました。人を検知すると笑います。簡単に作れるのでドッキリにいかが?

電子工作など

「動く肖像画」を作ってみました。
人が来ると動き出す仕掛けです。
WindowsとArduinoで簡単に作れるので、作り方を紹介します。

スポンサーリンク

動いている様子

動作している様子です。

撮影のために手をかざしていますが、人の体が近づいてもちゃんと反応します。
もし実際に作る際は、センサの向きなど工夫してみて下さい。

笑うバッハ

画面下で手をかざすと、表情が変わります。

ドッキリの例

画面下で手をかざすと、デスクトップ画面からドッキリ画像に切り替わります。
効果音付き。

効果音は、びたちー素材館を利用させて頂きました。

システム

簡単です。

一言でいうと、こうなります。

動画を作り停止状態で待機。人が来たら、再生する

下記の図をご覧ください。

動く肖像画の仕組み
  • Windows PC上で動画を一時停止状態にします。待機。
  • 焦電型赤外線人感センサが、人の動きを感知します。
  • 信号をArduinoが受け取ります。
  • 受け取り次第、動画プレーヤーの再生ショートカットキーをArduinoからPCへ送信します。

なぜVLCプレーヤーを選んだか

▼VLCプレーヤーは、最新版をご利用ください(脆弱性対策)

窓の杜
「VLC media player」定番の無料メディアプレイヤー

「動く肖像画」が簡単に実現できるのは、7割はVLCプレーヤーのおかげです。

ポイントは、以下2つ。

  1. 全画面表示で、再生や停止マークを非表示にできる
  2. 再生方法が柔軟。

1番目の補足です。
待機中に一時停止マーク や、再生時に再生マーク が出たら興ざめです。

簡単なようで、なかなか消せるプレーヤーはありませんでした。
現行プレーヤーで簡単にできるものは、調べた限りVLCだけでした。

では、次から詳細な作り方を説明していきます。

VLCの設定方法

まずは肝心要のVLCの設定から。

公式サイトからダウンロードして、ソフトを立ち上げて下さい。
そして、「ツール」→「設定」をクリック。

「インターフェース」の設定

その中の「ビデオの最終フレームで一時停止」にチェックを入れます。

この設定により、動画の最後のシーンで一時停止状態になります。
そうすると、ショートカットキーのpの押下で、巻き戻し再生ができます。

次に「字幕/OSD」の設定

「OSDを有効化」「ビデオ開始時にメディアタイトルを表示」のチェックを外します。

こうすることで、再生時に出る再生マーク を、非表示にできます。

回路図

センサーのデジタル出力を、Arduinoの2番pinに入れています。
センサは、プルダウンしておきます。(未反応時は確実に0Vにするため)

動く肖像画実験回路図

つないだ様子はこんな感じです。

焦電形世紀外線人感センサをArduinoにつないた様子

Arduinoのスケッチ(プログラム)

  • センサ入力が1(High)になったら、「p」のキーを送信します。
    なんでpかというと、VLCプレーヤーの「巻き戻し再生」のショートカットキーが p だからです。
  • delayの秒数は動画によって調整して下さい。

動画再生中に人が通ったら?

動画再生中に人が動いても、新たにキーコード「p」は送信されません。

以下の実験動画を見て下さい。
プレイヤー下のシークバー(再生目盛り)にご注目。

再生中に手をヒラヒラしていますが、動画は再生されたままです。
(pが送信されると、動画は巻き戻って最初から再生されます)

動画の時間分delayで止まっているので、センサを読み取れないのが幸いしています。

逆に動画再生中も何らかのセンサーを読みたい場合は、割り込みピンに入れるか、delayを使わないなど工夫してみて下さい。

プログラムのミスに注意 焦ります

プログラムをミスると、大変なので注意して下さい。

例えば私の場合、まずいプログラムを書き込んでPCにLEONARDOを繋いだので、
怒涛の勢いでppppppppppppppppppppが連打され大いに焦りました(笑)

対策としては、まずはキーボード機能を使わずにLEDの点灯などで確かめた方がよいと思います。

他のPCでの実現手段

今回PCにWindowsを選んだのは、手持ちの設備で簡単にできるから、でした。

他のPCの検討結果を書いておきます。

ラズベリーパイ

一番スマートにできるのでは、と思います。

Arduinoを通さなくても、1台で完結します。
すでにレポートが公開されているので、興味がある方はご覧ください。

www.hackster.io

この記事を見た当初、同じものをつくってみよう!と思いました。
しかしラズベリーパイは今FAXとして使っていて塞がっているので、取り外すのが面倒でWindowsで実現させてみました。

用意するもの

最後に、用意するものを紹介しておきます。

Windows PC

普段仕事やプライベートで使っている人が多いでしょうし、手軽に使えるためチョイスしました。

タブレットタイプなら、額縁をつけて壁に設置すると、よりそれらしくなりますね。

ちなみに、Windows以外なら他のPCでの実現手段をご参照ください。

VLC Media Player

有名な動画プレイヤーです。

無料です。
ダウンロードは下記からできます。

▼VLCプレーヤーは、最新版をご利用ください(脆弱性対策)

窓の杜
「VLC media player」定番の無料メディアプレイヤー

仕込む動画

これがないと、始まりません。

あなたの腕の見せ所です。
この記事の例では適当にバッハに笑ってもらいましたが、動画次第で面白くなりそうです。

ちなみに、笑うバッハとドッキリ動画は「AviUtl」というソフトで編集しています。

とんでもなく詳しい解説サイトのおかげで、ド素人の私でも動画作成ができました。

aviutl.info

Arduino LEONARDO

普段はArduino Unoを使っていますが、今回はArduino LEONARDOです。
理由は、手間なく簡単にPCへキーコードを送信できるからです。

参考リンク: Arduino Leonardo(Pro Micro)のHID(キーボード)機能を使う│ Qiita

初めての方は、ブレッドボードも揃っているセットがおすすめです。

単体でも販売されています。
USBケーブルは別売り。UNOとは共用できないので、注意してください。
(Arduino側がUSB microB仕様です)

ブレッドボード

回路の動作確認に大活躍します。

ただ、イベントなどで本格的に設置するなら、ユニバーサル基板にちゃんと半田付けした方が良いです。

ジャンプワイヤーも多めに揃えておいたほうが良いです。

焦電型赤外線人感センサ

私が今回使ったのは、パナソニックのAMNシリーズ。

AMN31111 | Panasonic 赤外線センサ 検出範囲:5m | Panasonic 【通販RS】

人の検知に必要なものが小型パッケージに詰め込まれているので、出力をもらうだけです。

手軽で簡単。便利です。データシートも日本語で読めますし。
ただ、値段が2000円強と高級です。

予算縛りがある方は、amazonで廉価なモジュールもあります。
探してみて下さい。

焦電センサー(amazonの検索結果に飛びます)

抵抗

この回路では、100kを使いました。

データシートを読み、各自の回路によって調整してください。

電気ショップやamazon、どこででも入手できるかと思います。

セットで持っておくと、手軽に回路が検証できて便利です。

タイトルとURLをコピーしました