その他

加速度センサとMP3プレイヤーで作る、おしゃべりサイコロ【前編】

はじめに

みなさん、こんにちは。平原です。早速ですが、みなさんは会話の話題に困ったり、旅行の行き先を迷ったりしたことはないでしょうか?そんな時はサイコロを振って、ランダムに決めたい、なんて思いますよね!今回は加速度センサとMP3プレイヤーを使って、出目の選択肢の音声を読み上げてくれるサイコロを作りたいと思います。

この記事は、6つのパートを前後編に分けてご紹介します。今回の前編は、アイデアをまとめてプランを立て、部品の選定と電子回路の動作確認を行います。

 

【目次】

  1. 作品プランと製作の準備
  2. 電子回路のテスト
  3. 動作確認

 

1.作品プランと製作の準備

システム構成

やりたいことをどうやって実現するかを考えながら全体の構成をイメージしましょう。まず、サイコロを転がす時にケーブルがあると邪魔になるので、電源は電池にします。出目を判定するために3軸加速度センサを使おうと思います。音声の再生には、SDカードの音声ファイルを再生できるMP3プレイヤーを採用。モードを切り替えるためにスイッチも必要ですね。

部品リスト

上記のシステム構成から、具体的な部品を選定しました。URLは執筆時点(2023年4月12日)のものです。

品名 個数 デバイス
Arduino UNO R3

通販コード:M-07385

Arduino用ユニバーサルシールドキット(黒)

通販コード:K-11386

DFPlayer mini

通販コード:M-12544

ダイナミックスピーカ

通販コード:P-09012

スピーカーホルダ

通販コード:P-11933

BH-9V型006P電池ホルダー
2.1mm DCプラグ付バッテリスナップ

通販コード:P-07356

006Pアルカリ電池

通販コード:B-03257

ロームセンサ評価キット
Arduino 用シールド基板
ロームセンサ評価キット
加速度センサモジュール
パネル用押しボタンスイッチ

通販コード:P-04580

マイクロSDカード
MDF 厚さ5.5mm 幅900mm 高さ450mm
ナベネジ M2 20mm 4
ナベネジ M3 15mm 17
ナベネジ M3 20mm 2
ナット、ワッシャ等 適宜

 

ロームセンサ評価キット

ロームのさまざまなセンサをArduinoなどで手軽に試すことができるキットです。シールドにセンサを乗せるだけなので配線を気にする必要がなく、それぞれのセンサ用のライブラリも用意されているため、すぐに使うことができます。今回はKXTJ3-1057を搭載した加速度センサモジュールを使用します。

DFPlayer mini

MP3形式の音声ファイルを再生することができるモジュールです。Arduinoからシリアル通信でコマンドを送って操作します。アンプとマイクロSDカードスロットが一体化されているので、スピーカを繋ぐだけで使用できます。

配布ファイル

作品を作るために必要なデータを以下のリンクからダウンロードしてください。

>> 配布ファイル

 

2.電子回路のテスト

ブレッドボードの配線図

まず、ブレッドボードで回路を組み立て、動作テストをおこないます。下の図と写真を参考に配線してください。シールドはArduino UNOのソケットに差し込んで使います。抜き差しする際に、無理に力を加えるとピンが曲がってしまうことがあるので、できるだけ均一に力をかけて抜き差ししてください。加速度センサモジュールは、どのI2C用ソケットを使っても結構です。下の図ではI2C_1を使用しています。

 

3.動作確認

音声ファイルの準備

マイクロSDカードのファイルをすべて消去してから、配布ファイルのvoiceフォルダの中にある「test.mp3」をマイクロSDカードにコピーし、カードをDFPlayer miniのスロットに差し込んでください。

 

加速度センサモジュールのライブラリのインストール

加速度センサモジュールの商品ページ、ソフトウェアの項目から「DOWNLOAD」をクリックします。使用許諾を読み「同意します」をクリックすると「KXTJ3_Software.zip」というファイルがダウンロードできます。

 

Arduino IDEのメニューから、 [Sketch] – [Include Library] – [Add .ZIP Library…] を選び、ダウンロードしたZIPファイルを選択してください。Arduino IDEに設定されているライブラリの保存先にコピーされ、インストールが完了します。

DFPlayer miniのライブラリのインストール

Arduino IDEのメニューから、 [Sketch] – [Include Library] – [Manage Libraries…]を選ぶと、ライブラリマネージャが開きます。検索欄に「DFPlayer」と入力すると候補が表示されます。「DFRobotDFPlayerMini by DFRobot」をインストールしてください。

サンプルファイルの実行

加速度センサモジュールの動作確認をします。[File] – [Examples] – [KXTJ3] – [KXTJ3] のサンプルファイルをArduino UNOに書き込んでください。もし、サンプルが表示されない場合はArduino IDEを再起動してください。

 

シリアルモニタを開くと、加速度センサモジュールで取得したXYZ方向の加速度が表示されます。センサを傾けて変化を確認してください。

 

次にDFPlayer miniの動作確認をします。[File] – [Examples] – [DFRobotDFPlayerMini] – [GetStarted]を開き、Arduino UNOに書き込んでください。「デバイスプラス」という音声が再生されれば成功です。

 

今回はブレッドボードでの仮組みと、ライブラリのインストール、サンプルファイルの実行を行いました。次回は、筐体の組み立て、ユニバーサル基板のはんだ付け、プログラムの実装を行います。お楽しみに!

 

 

今回の連載の流れ

【前編】加速度センサとMP3プレイヤーで作るおしゃべりサイコロ(今回)
【後編】加速度センサとMP3プレイヤーで作るおしゃべりサイコロ

アバター画像

物事の関係性をテーマに活動するアーティスト。コンピュータや電子デバイスを使ったメディアアートを多数制作しているが、近年は木や石など自然の素材を使った立体作品を手掛ける。長岡造形大学准教授。Oggoroggo Products 代表。著書に『実践Arduino! 電子工作でアイデアを形にしよう』(オーム社)。 https://makotohirahara.com/


Arduino互換機(M5Stick-C)とセンサを使った衝突回避機能付きリモコンカーをつくろう!