はじめての電子工作超入門

Arduinoで「セルフ記者会見セット」を作ってみよう!

Arduinoでの電子工作をはじめるときに誰もが最初に行う「Lチカ」。チュートリアルを見ながら自分の手で書いたプログラムが初めて動く瞬間はめちゃめちゃ楽しいですよね。

この感動を友達や恋人、家族に伝えたいところですが、電子工作の空気感がわからないと「なんか…点滅しているねぇ…うん。」って温度差になりがちです。まあ実際そうですから仕方ない。

今回の記事では、電子工作をしたことがない方でも「面白い!」と言わざるを得ない、圧倒的非日常体験を提供するLチカデバイスを作っていこうと思います。

作品名は…「セルフ記者会見セット」です!

「おや…?聞いたことあるぞ…?」と思った方もいらっしゃるでしょう。
そう、Maker Faireでの出展で話題になっていたあの作品です。

セルフ記者会見セット – NEXT+α(ネクストアルファ)

マスコミの方々がいなくても、不祥事を起こさなくても、テレビでよく見るあの記者会見のフラッシュとシャッター音を浴びる体験できるというとんでもないデバイスです。
そんなクレイジーなデバイスを作ったのはこちらの4名のメンバー。

inoue hamada higuma matsumoto
井上 康平 濵田 佳祐 日隈 裕一朗 松本 康平

今回は作者の皆様にご承諾をいただきまして、セルフ記者会見セットを真似して作らせていただけることになりました!本当にありがとうございます!
(筆者もNEXT+αのメンバーの一人で、いろいろと作品を作っています)

本記事では、Arduinoを使って

  • 高輝度LEDを使った記者会見っぽいフラッシュの再現
  • MP3モジュールを使ったフラッシュ音の再生
  • 距離センサで誠意のこもったお辞儀の検出

を行っていき、解説を交えながら「セルフ記者会見セット」を製作します。

セルフ記者会見セットのレシピ

Arduino UNO Arduino UNO
MP3モジュール(Grove) MP3モジュール(Grove)
超音波センサ(HC-SR04) 超音波センサ(HC-SR04)
ACアダプター(9V 2A) ACアダプター(9V 2A)
カーボン抵抗 3kΩ カーボン抵抗 3kΩ
ユニバーサル基板 Bタイプ ユニバーサル基板 Bタイプ
自動車用LED(3W) 自動車用LED(3W)
ブレッドボード用DCジャックDIP化キット ブレッドボード用DCジャックDIP化キット
タクトスイッチ(黒色) タクトスイッチ(黒色)
Nch パワーMOSFET(R6015KNX) Nch パワーMOSFET(R6015KNX)
マイクロSDカード
スピーカー(USB給電)
タブレットスタンド

 

今回の記事の流れ

  1. 高輝度LEDを使った記者会見っぽいフラッシュの再現
  2. MP3モジュールを使ったフラッシュ音の再生
  3. 距離センサで誠意のこもったお辞儀の検出
  4. 全機能を統合して「セルフ記者会見セット」を作る

 

1. 高輝度LEDを使った記者会見っぽいフラッシュの再現

記者会見の主役と言うと語弊がありますが、セルフ記者会見セットで最も重要となるLEDの点滅です。
LEDの点滅は通常であればArduinoのデジタル出力ポートにLEDと抵抗を直列に接続するだけですが、今回は自動車に使われる3Wの高輝度LEDを使用するため通常よりも高い電圧を加えて、大きな電流(250mA程度)を流す必要があります。

自動車用LED(3W)

自動車用LED(3W)

少し大きな電流を制御するときにはバイポーラトランジスタがよく使われます。有名な型番のものだと「2SC1815」というNPN型のトランジスタがいろんなところで使われていますが、2SC1815はコレクタ電流の定格は150mAなので今回の要求となる250mAよりも残念ながら小さいです。そのため、もうちょっと大きな電流を流せるトランジスタを使う必要があります。

そこで今回はLEDのスイッチングには「パワーMOSFET」を使用します。
パワーMOSFETは、Arduinoを使った電子工作においては2SC1815のようなトランジスタと似たような使い方をすることができるスイッチング素子で、モータなどの大電流(数アンペア~数十アンペア級)を必要とするものを動かすときによく使われます。

NchパワーMOSFET R6015KNXは、ドレイン電流15Aまで使うことができる素子なので、今回の用途では明らかにオーバースペックですが、これを持っておけば今回のようなLEDやモータ、ソレノイドなど、いろんなものを動かすことができるのでいくつかストックしておくと便利です。

今回の回路で使う部品と、組み立てる回路の回路図・配線図は以下のとおりです。

  • Arduino UNO
  • 抵抗器3kΩ
  • Nch パワーMOSFET(R6015KNX)
  • 自動車用LED
  • DCジャック(DC9VのACアダプターを接続)
  • ACアダプター(9V 2A)

 

LED制御回路の回路図

LED制御回路の回路図

 

LED制御回路の配線図

LED制御回路の配線図

この回路ではArduinoの8番ポートをHIGHにするとFETのスイッチングがONになりLEDが点灯し、LOWにするとLEDが消灯します。LEDは自動車用なので12Vを加えるのが一般的ですが、実験したところ9Vでも光ったので今回は9Vで点灯させることにしましょう。

LEDを点灯させてみたら、そこそこまぶしい。

LEDを点灯させてみたら、そこそこまぶしい。

このLEDをただLチカさせるだけなら「1秒点灯→1秒消灯」を繰り返せばいいのですが、今回作るのは「セルフ記者会見セット」です。記者会見っぽいフラッシュを作る必要があるのです。

記者会見っぽいフラッシュといえば、オリンピック選手がメダルを笑顔で見せたり、謝罪会見で「申し訳ありませんでした」と頭を下げたりしたときに一斉に焚かれるあの不規則な光の点滅。あれをプログラミングして再現してみましょう。

ソースコードは以下のとおりで、digitalWrite関数によってLEDのON/OFFを繰り返していますが、その点滅間隔のdelay関数の引数にrandom(10,50)を入れています。このrandom関数では10~50の間で整数をランダムに生成するので、delay関数で待機する時間は10ミリ秒~50ミリ秒の間のランダムな値になります。


これを実行してみると、不思議なことに「記者会見っぽいフラッシュ」を再現できるのです。

 

2. MP3モジュールを使ったフラッシュ音の再生

記者会見っぽいフラッシュは作ることができましたが、より記者会見っぽくするには音も再現したいところです。MP3再生モジュールを使って、「記者会見のシャッター音」の音声データを再生します。
今回の回路で使う部品と、組み立てる回路の配線図は以下のとおりです。

  • Arduino UNO
  • MP3モジュール(Grove)
  • マイクロSDカード(中に再生するMP3ファイルを入れる)
  • スピーカー(USB給電)
  • タクトスイッチ

まずはMP3モジュールで再生するMP3ファイルを準備します。
今回はフリーの効果音素材を使わせていただきます。下記リンクのウェブサイト「効果音ラボ」より「記者会見のシャッター音」をダウンロードします。
効果音ラボ – https://soundeffect-lab.info/

SDカードにMP3ファイルを保存するとき、ファイル名は「0001.mp3」にします。これによってMP3モジュールでファイルを指定できるようになります。

img5

MP3ファイルをSDカードに保存したら、MP3モジュールとタクトスイッチをArduinoに配線していきましょう。

MP3モジュール制御回路の配線図

MP3モジュール制御回路の配線図

6番ポートに接続しているタクトスイッチを利用して、「タクトスイッチが押されたら、音声データ0001.mp3を再生する」という動作のプログラムを作成します。MP3モジュールはシリアル通信によって制御することができ、Arduinoのソフトウェアシリアル機能を使って2番・3番ピンに接続して制御を行います。
MP3モジュールにはUSB給電のスピーカーを接続します。

MP3モジュール制御回路の外観

MP3モジュール制御回路の外観

ソースコードは以下のとおりです。

これでMP3ファイルを再生できるようになりました。

 

3. 距離センサで誠意のこもったお辞儀の検出

記者会見っぽいフラッシュの再現、記者会見のシャッター音の再生はできるようになりました。
しかし記者会見には重要な要素がもう一つあります。

そう、「誠意のこもったお辞儀」です。

記者会見と言いつつ、もうすでに「謝罪会見」にターゲットが絞られてしまっていますが、まあ良しとしましょう。祝福の会見もなんとかすればきっと適応できます。
誠意のこもったお辞儀の検出には「超音波センサ」を使います。超音波センサによってお辞儀をする人の頭とセンサ間の距離を測定し、お辞儀したことを検出することを目指します。

今回の回路で使う部品と、組み立てる回路の配線図は以下のとおりです。

  • Arduino UNO
  • 超音波センサ HC-SR04

 

超音波センサ制御回路の配線図

超音波センサ制御回路の配線図

超音波センサHC-SR04はTrig端子にトリガー信号を入力するとセンサから超音波が出力され、それが対象物で反射してセンサに音波が帰ってくるまでの時間を計測することで距離を測定することができます。

超音波センサ制御回路の外観

超音波センサ制御回路の外観

以下のソースコードでは、Trig端子へのトリガー信号入力、Echo端子からの音波到達時間(単位:マイクロ秒)の取得を行い、対象物との距離(単位:cm)を算出してシリアルモニタに表示する動作が行われます。

これで物体との距離を計測できることがわかりました。
会見をする人の頭に超音波センサを向ければ、誠意のこもったお辞儀を検出できそうですね。

 

4. 全機能を統合して「セルフ記者会見セット」を作る

これまでのプロトタイピングを通して以下の3つを試作することができました。

  • 高輝度LEDを使った記者会見っぽいフラッシュの再現
  • MP3モジュールを使ったフラッシュ音の再生
  • 距離センサで誠意のこもったお辞儀の検出

これら3つの機能を統合することで「セルフ記者会見セット」は完成します。
統合する際にそのままブレッドボードを使用しても作ることができますが、今回は写真・動画撮影の都合によりユニバーサル基板に回路や端子の配線を行いました。また、フラッシュの光量を増やすためにLEDも4つ取り付けることにしました。

作成したユニバーサル基板の回路

作成したユニバーサル基板の回路

ソースコードは以下のとおりです。

60cm以内の距離に対象物を検知(誠意のこもったお辞儀を検知)したら、カメラのシャッター音のMP3再生と記者会見っぽいフラッシュを行うようにプログラムしています。

誠意のこもったお辞儀を検出するには超音波センサをうまいこと頭に向ける必要があります。今回は百円ショップ等で購入できるタブレットスタンドを使っていいかんじに設置してみようと思います。

百円ショップ等で購入できるタブレットスタンド

百円ショップ等で購入できるタブレットスタンド

完成した「セルフ記者会見セット」の姿が…
こちらです!

image5

 

超音波センサは謝罪する人の頭を検知する向きに設置します

超音波センサは謝罪する人の頭を検知する向きに設置します

それでは早速、謝罪してみましょう。
謝罪って気が進まないはずなのですが、今は妙にワクワクします。

うまくできましたね!謝罪会見!
誠意のこもったお辞儀の検出もバッチリです。
このセルフ記者会見セットを使って謝罪をすれば、冷蔵庫のプリンを勝手に食べたこともきっと許してもらえるでしょう。

スマホでコントロールできるロボットを作ろう
河島 晋

中学生のときからいろんなロボコンに出場しているロボコン大好きエンジニア。RoboMasterへの出場や、Maker Faireへの個人作品の出展が最近のライフワーク。「論文まもるくん」の人。

https://scrapbox.io/susumukawashima/