概要
企業からの依頼で、既存のオーディオ機器を、iPhoneやiPadから操作できるようにするリモートシステムを開発した。音量、入力切替、ミュート、電源の操作をアプリで行いながら、本体のノブやボタンでも同じように操作できる。単にスマートフォン用の画面を作るのではなく、機器本体の操作感を損なわずに無線操作を追加することを目標にした。
背景・目的
リモコン対応させるオーディオ機器が、高級・高音質なアンプであるため、先方からデジタルボリュームのチップの指定があった。また基板に組み込む都合で、DIPソケットに取り付けられるPICを使用する必要があった。
さらにリモコン対応は当初赤外線での通信を考えていたが、BLEを使ったスマートフォンからの操作も提案したところ、最終的にリモート操作はBLEのみ取り付けることになった。
制作で考えたこと
リモート操作機能を入れたことによって、本体での誤動作が起こらないことを最優先に考えた。本体側の状態を正とし、スマホアプリ側は状態を参照するようにした。
また、スマホアプリではユーザーが滑らかな音量調整体験ができるUXを目指した。
実装・制作内容
iOSアプリはSwiftUIとCoreBluetoothで実装し、nRF52840のBLEブリッジとGATTで通信する。BLEブリッジはUART 9600 bpsのASCIIプロトコルでPIC16F1938へ接続した。PIC側ではデジタルボリューム、リレー、ロータリーエンコーダ、ボタンを制御し、設定をEEPROMへ保存する。アプリの音量スライダーは送信頻度を抑え、不要な通信で本体を圧迫しないよう調整した。



同様の仕組みでAndroidアプリも作成し、それぞれをリリースした。
結果・学び
ハードウェア、通信、アプリの境界で状態をどう扱うかを具体的に考える経験になった。画面上では小さな操作でも、実機では通信遅延や接続断、本体操作との競合が起こる。使う場面を想定しながら、各層をつなぐ設計まで含めて実装する重要性を学んだ。
動作デモ
実機とアプリを接続した操作の様子は、以下の動画で確認できる。





