Skip to content

世界一深い賽銭箱/The World's Deepest Offertory Box

License

Notifications You must be signed in to change notification settings

3110/the-deepest-offertory-box

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

世界一深い賽銭箱

世界一深い賽銭箱があると,ついお賽銭を入れたくなりませんか?

世界一深い賽銭箱

今回作ったしくみは,スピーカーを内蔵したATOM Echoと距離が測定できるToF Unitを使用し,距離の変化をトリガーとして何らかのリアクションを返す(今回の場合は音を鳴らす)しくみとして汎用的に使用できます。

将来的に他の距離が測れるユニット(Ultrasonic Unit)や全く別のユニットを使用したトリガーにも対応する予定です。

必要なもの

  • ATOM Echo
  • ToF Unit
    ATOM Echoと接続するためのGROVEケーブルも付属しています。
  • 賽銭箱
    セリアで購入
  • 超強粘着 粘着ゲル 両面テープ CROCODILE GRIP
    ダイソーで購入。ATOM EchoやToF Unitを賽銭箱に固定するのに使用。強めに貼れてはがせるので便利
  • 音源ファイル(WAV)
    動画で使用している音源は以下の2つのファイルを結合して1つのファイルにしています。

コンパイル方法

VSCodeのPlatformIO IDEが必要です。Windows 11上で動くVSCodeで動作確認をしています。

音源ファイルの転送

使用する音源ファイル(WAV形式)をsound-effect.wavという名前でdataフォルダに置いてください。SPIFFS(SPI Flash File System)に転送して使用します。

ファイルを置いたら,PlatformIO メニューから「Upload Filesystem Image」を選択するか,コマンドラインからpio run --target uploadfsを実行してSPIFFS にアップロードします。

使用方法

実際に使用する場所にATOM EchoとToFセンサーを設置してください。

接続例

設置例

USBケーブルを挿して起動すれば,自動的にデフォルトの距離を測定してその平均値を閾値として設定します。閾値が決まると測定準備は完了です。ATOM EchoのLEDが緑色に点灯し,距離の測定が始まります。測定距離が短くなる(今回の例ではお金が賽銭箱を通った)とトリガーが発火し,落下音がします。

システム構成

測定距離の閾値の設定

測定距離の閾値とは,ToFセンサーの測定値がこの値以下になったらトリガーが発火し,リアクションを返す(今回の場合は音を鳴らす)値です。

初めて起動する場合,もしくはATOM Echoのボタンを押したまま起動した場合に閾値設定モードになります。デフォルトでは距離を10回測定(測定するたびにATOM EchoのLEDが青点滅する)し,その平均値を閾値とします。

閾値はATOM Echoの不揮発記憶装置(NVS: Non-Volatile Storage)に記録されるので,次に起動するときは記録された閾値を使うようになります。再度設定し直したい場合は,ATOM Echoのボタンを押しながら起動させてください。

ToF Unitは測定精度が±3%なので,閾値との±3%以内の距離の違いは誤差として扱います。

距離測定の有効化・無効化

起動時には距離測定が有効(ATOM EchoのボタンのLEDが緑色に点灯)になっています。この状態でATOM Echoのボタンを押すと,LEDが消灯して距離測定を無効にします。ATOM Echoのボタンを押すごとに有効・無効が切り替わります。

配布用ファームウェアの作成

M5Burnerで配布するファームウェアを作成するには,PlatformIOメニューにあるPROJECT TASKSからCustomの下にある「Generate User Custom」を選択します。

Generate User Customの選択

ビルドが完了すると,platformio.inienvセクションにあるcustom_firmware_dirで指定したディレクトリ(デフォルトはfirmware)に配布用のファームウェア(.binファイル)が生成されます。

配布用ファームウェアには音源ファイルが埋め込まれ,一緒に配布することができるようになります。埋め込まれた音源ファイルは起動時にSPIFFSに同名のファイルがあるか確認し,なければSPIFFSに書き込みます。

配布用ファームウェアを書き込んで初めて起動する場合,SPIFFSをフォーマットし,音源ファイルの書き込みが行われるため,測定開始になるまでに20秒くらいかかります。

M5Burnerでのファームウェアの配布方法はM5Burner v3の使いかたを参照してください。

About

世界一深い賽銭箱/The World's Deepest Offertory Box

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published