Home Made Garbage

高感度光センサ MAX30105 で心拍数と音楽を同期

ホーム
電子工作
Raspberry Pi
WordPress
IOT

おもしろいセンサを手に入れたので心拍数を測って曲のBPMを変えてみました♪

MAX30105搭載 粒子センサモジュール - スイッチサイエンス
距離や心拍、まばたきなどの計測や、粒子検知が可能な、多用途に利用できるセンサです。赤、緑、赤外線の三つのLEDと、高感度光子検出器を搭載しています。LED反射光のパルスを読み取り、粒子や物質の判別をします。

ArduinoをUSB-MIDIコントローラ化して心拍数と曲のBPMをリンクさせる リアルタイムヒューマン同期システムです!w

構成

部品

Arduino USB-MIDIデバイス化

ArduinoをUSB-MIDIデバイス化してDAWでLED目ん玉コントロール

上記の作品と同様に以下のサイトのとおりにArduinoのファームウェアを書き換えてMIDIデバイス化しました。

これにセンサを接続し測定した心拍数をMIDI信号に変換して送信するコントローラが実現します!

Arduino IDEコード

MAX30105のライブラリExampleのExample5_HeartRate.inoをベースに作成

DAWソフトReasonの設定

DAWソフトにはReasonを使用しました。

コントローラ設定(手動)

  • [Reason] -> [環境設定] -> [コントローラ]タブ -> [追加]で以下設定

 メーカー:<Other>
 モデル:MIDI Control Surface
 MIDI入力:MocoLUFA

   

DAWテンポとコントローラをリンク

  • テンポ表示部を右クリック -> [リモートオーバーライドマップを編集]で以下設定

 コントローラ:<Other> MIDI Control Surface
 コントロール:CC 00

以上で心拍数とDAWのテンポがリンクできます。

動作

 

リアルタイムヒューマン同期システム #arduino #midi

Home Made Garbageさん(@homemadegarbage)が投稿した動画 –

このセンサは瞬きもセンシングできるらしいので色々試してみます!!

参考

“高感度光センサ MAX30105 で心拍数と音楽を同期” への 2 件のフィードバック

  1. とても参考になる記事を有難うございます。
    心拍センサー(この記事で紹介されているものとは違う)を購入して、
    REASONもダウンロードして実装を進めているのですが、
    最後の最後のREASONでのリモートオーバータイムラップの段階で信号を検出して貰えません。。

    //心拍数の平均値をControlChangeとしてMIDI送信
    int bpm = map(beatAvg, 1, 999, 0, 127);
    MIDI.sendControlChange(0, bpm, 1); // inControlNumber, inControlValue, inChannel

    この部分以外で信号を検出するために必要な条件はありますでしょうか。(MIDIデバイスとして検出自体はしてくれます)

    1. コメントありがとうございます!

      //心拍数の平均値をControlChangeとしてMIDI送信
      int bpm = map(beatAvg, 1, 999, 0, 127);
      MIDI.sendControlChange(0, bpm, 1); // inControlNumber, inControlValue, inChannel
      MIDI信号を出力するためのコードはここの部分のみです。

      以下、確認必要かと思います。
      ・ご使用のセンサはMAX30105でしょうか?
      ・センシングした心拍数のデータ出力は確認できてますでしょうか?
       たとえばライブラリのプログラム例で動作確認できていますでしょうか?
      ・MIDIの出力先は正しいでしょうか?
       このプログラムではコントロール値は0でチャンネル1に出力しています。

コメントを残す

メールアドレスが公開されることはありません。コメントのみでもOKです。

TOP