フルーツピアノ

このプロジェクトは、MPR121タッチセンサーからの入力を読み取り、DACを通じて音楽を再生するシンプルなフルーツピアノです。言い換えれば、フルーツをキーボードに変え、それらに触れるだけで音楽を演奏できるようにしました。

必要なコンポーネント

このプロジェクトには以下のコンポーネントが必要です。

全体のキットを購入すると便利です。こちらがリンクです:

名称

このキットのアイテム数

リンク

Elite Explorer Kit

300+

Elite Explorer Kit

以下のリンクから別々に購入することもできます。

コンポーネント紹介

購入リンク

Arduino Uno R4 WiFi

-

ブレッドボード

BUY

ジャンパーワイヤー

BUY

抵抗器

BUY

MPR121

-

オーディオモジュールとスピーカー

-

配線図

../_images/02_fruit_piano_bb.png

回路図

../_images/02_fruit_piano_schematic.png

コード

注釈

  • ファイル 02_fruit_piano.inoelite-explorer-kit-main\fun_project\02_fruit_piano のパスから直接開くことができます。

  • または、このコードをArduino IDEにコピーしてください。

注釈

ライブラリをインストールするには、Arduinoライブラリマネージャーを使用し、 「Adafruit MPR121」 を検索してインストールしてください。

どのように動作しますか?

以下はコードの詳細な説明です:

  1. ライブラリとオブジェクトの初期化:

    必要なライブラリをインポートします: Wire ライブラリ(I2C通信用)、 Adafruit_MPR121 ライブラリ(MPR121のドライブ用)、 analogWave ライブラリ(アナログ波形の生成用)、および pitches.h (ノートの周波数を定義する)。 Adafruit_MPR121analogWave のオブジェクトのインスタンスを作成します。 各タッチチャネルに対応するノートを格納するノート配列を定義します。

  2. setup()

    シリアル通信を初期化し、開始を待ちます。 MPR121をチェックし、初期化します。見つからない場合は、シリアルモニタにエラーメッセージを表示し、実行を停止します。 analogWave オブジェクトを初期化し、最初の正弦波周波数を10Hzに設定します。

  3. loop()

    MPR121の現在のタッチチャネルを読み取ります。 すべてのチャネルを反復処理し、どれがタッチされたかをチェックし、対応するノートを演奏します。 各反復の間にわずかな遅延を加えます。

  4. ノートを演奏する playNote()

    playNote 関数は note パラメータを取り、対応するノートを演奏するためにDACの周波数を設定します。 ノートを演奏する期間遅延を加えます。 ノートの演奏を停止します。