・はじめに
ビット・トレード・ワンから販売されている触感デバイス開発モジュール(https://btoshop.jp/products/hapstak) はi2s規格の音声再生によりマイコンボードと接続して簡単に触覚作品を作ることができるモジュールです。マイコンボードは M5 ATOM シリーズと Arduino MKR ZERO であればボードのピンにそのまま接続して動かすことができます。
Arduino MKR ZEROを使って触感デバイス開発モジュールを動かしてみたいと思います。
・Arduino Maker Zeroのセットアップ
ボードマネージャーから「Arduino SAMD boards」をインストールする必要があります。
1. ツール>ボード>ボードマネージャーを選択
2. Zeroと検索するとArduino SAMD boardsが出てくるのでそれをインストールします。
3. ツール>ボード>Arduino SAMD>Arduino MKRZEROを選択
これでArduino maker zeroに書き込むことが可能となります。
音声処理に関わるArduinoのサンプルが紹介されているサイト(https://tigoe.github.io/SoundExamples/) からI2S, the Inter-IC Sound Protocol>WAV file playback with potentiometer volume controlを開きます。このGitHubに公開されているコードをダウンロードします。(ダウンロードはこの上流のSoundExamplesから行うことができます。ダウンロードしたファイルの中から ArduinoSound_Examples> WaveVolumeControl> WaveVolumeControl.inoを開きます。
WaveVolumeControl.ino を実行するためにArduinoSoundというライブラリーが必要です。
そこでライブラリーを管理>ライブラリーマネージャーからこのライブラリーを検索してインストールします。
WaveVolumeControl.ino では Arduino のアナログ入力 A0 の入力値に応じて音の大きさをコントロールするものなので、ここではしたから4行目の
AudioOutI2S.volume(loudness);
を
AudioOutI2S.volume(100);
に変更して常に最大のボリュームで音が鳴るようにします。
このプログラムを Arduino MKR ZERO に書き込むことによって、Arduino MKR ZERO に挿入されたSDカードのルートある"SOUND.WAV"という音声ファイルで触感デバイス開発モジュールを振動させることができます。
※挿入するSDカードのファイルシステムはFAT16、FAT32である必要があります。