以下の要素で構成しています.
switchring
それぞれについて簡単に説明します.
信号を送るリモコンに相当するものです.スイッチが一つとインジケータ用の LED が一つ必要になります.
スイッチを押すと信号が送信され,LED が点灯します.ring から終了を示す信号を受信すると LED が消灯します.
信号を受信し,音で知らせるものです.スピーカが一つ必要になります.
switch から信号を受信するとメロディを再生し,再生が終わったら終了を示す信号を switch に向けて送信します.
switch のスイッチが押されるとあらかじめ設定された文字列 HELLO\0 を送信します.ring がこの文字列を受信すると,コールバック関数が呼び出され,メロディを再生します.
その後,switch に対して END\0 という文字列を送信することでメロディの再生終了を通知します.
通信には ESP-NOW を使用しています.アドレスに固有の MAC アドレスを設定すればそのデバイスのみに,FF:FF:FF:FF:FF:FF を設定すればすべてのデバイスに対して信号を送信します.
いくつか用意しています.score_t 型の配列で定義されている楽譜データと,対応する再生用関数をコメントアウトして使用してください.
また,起動時にもメロディを再生できるようにしています.お好きな方をコメントアウトしてご利用ください.
プログラムのコンパイルには以下のライブラリのインストールが必要になります.あらかじめ最新版をインストールしておいてください.
https://github.com/53175ddd/sound
Arduino IDE の「ライブラリを管理」で「Arduino Sound Library」などと検索すると,少しスクロールした先にあります.