VUメーターまたはボリュームメーターは、エレクトロニクスで非常に人気があり、楽しいプロジェクトです。ボリュームメーターは、音楽システムに存在 する イコライザーと見なすことができ ます。音楽に応じてLEDが踊る様子を見ることができます。音楽が大きい場合はイコライザーがピークに達し、より多くのLEDが点灯し、音楽が小さい場合はより少ない数のLEDが点灯します。ボリュームメーター(VU)は、LED上の音の強さのインジケーターまたは表現であり、ボリューム測定デバイスとしても機能し ます。
以前は、マイクロコントローラーを使用せずにVUメーターを構築し、オーディオ入力はCondenserMicから取得しました。今回は、Arduinoを使用してVUメーターを構築し、3.5 mmジャックからオーディオ入力を取得するため、AUXケーブルまたは3.5mmオーディオジャックを使用してモバイルまたはラップトップからオーディオ入力を簡単に提供できます。ブレッドボード上で簡単に構築できますが、ここでは、EasyEDAオンラインPCBシミュレーターとデザイナーを使用して、ArduinoシールドとしてPCB上で設計しています。
必要なコンポーネント:
- Arduino UNO
- VUメーターArduinoシールド(自己設計)
- 電源
VUメーターArduinoシールドのコンポーネント:
- 3.5mmオーディオジャック
- SMDタイプの抵抗器100オーム(10)
- LED
- ブルクストリップ
Arduino用のボリュームメーター(VU)シールドの設計:
Arduino用のVUメーターシールドの設計には 、 EasyEDAを使用しました。最初に回路図を設計し、次にEasyEDAの自動ルーティング機能によってPCBレイアウトに変換しました。
EasyEDAは、無料のオンラインツールであり、エレクトロニクスプロジェクトを簡単に開発するためのワンストップソリューションです。ワンクリックで回路を描き、シミュレーションし、PCBレイアウトを取得できます。また、カスタマイズされたPCBサービスも提供しており、設計されたPCBを非常に低コストで注文できます。回路図、PCBレイアウトの作成、回路のシミュレーションなどにEasyEDAを使用する方法に関する完全なチュートリアルをここで確認してください。
EasyEDAは最近、新しいバージョン(3.10.x)をリリースしました。このバージョンでは、多くの新機能が導入され、全体的なユーザーエクスペリエンスが向上しているため、EasyEDAは回路の設計にさらに簡単で使いやすくなっています。新しいバージョンには、MACエクスペリエンスの改善、コンポーネント検索ダイアログの改善、ワンクリックでのPCBレイアウトの更新、回路図の下のフレームへのデザインノートの追加などが含まれます。EasyEDAバージョン3.10のすべての新機能はここにあります。さらに、彼らは間もなくデスクトップバージョンをリリースする予定です。デスクトップバージョンはダウンロードしてコンピュータにインストールし、オフラインで使用できます。
このVUメーターシールドの回路とPCBの設計を公開したので、リンクをたどって回路図とPCBのレイアウトにアクセスできます。
以下は、EasyEDAからのPCBレイアウトのトップレイヤーのスナップショットです。「レイヤー」ウィンドウからレイヤーを選択することにより、PCBの任意のレイヤー(トップ、ボトム、トップシルク、ボトムシルクなど)を表示できます。
EasyEDAの使用に問題がある場合は、以前に作成した100ワットのインバーター回路を確認してください。ここでは、プロセスを段階的に説明しています。
PCBをオンラインで注文する:
PCBの設計が完了したら、 製造出力 のアイコンをクリック すると、PCB注文ページが表示されます。ここでは、Gerber ViewerでPCBを表示したり、PCBのGerberファイルをダウンロードして任意のメーカーに送信したりできます。また、EasyEDAで直接注文する方がはるかに簡単(かつ安価)です。ここでは、注文するPCBの数、必要な銅層の数、PCBの厚さ、銅の重量、さらにはPCBの色を選択できます。すべてのオプションを選択したら、「カートに保存」をクリックして注文を完了します。数日後にPCBを入手できます。
PCBを注文して数日後、VUメーターArduinoシールドPCBを入手しました。PCBは素敵なパッケージに入っており、PCBの品質は非常に印象的です。
PCBを入手した後、必要なすべてのコンポーネントとブルグストリップをPCBに取り付けてはんだ付けしました。ここで、最終的な外観を確認できます。
次に、このVUメーターシールドをArduinoの上に配置する必要があります。このシールドのピンをArduinoに合わせ、Arduinoにしっかりと押し付けます。コードをArduinoにアップロードし、回路の電源を入れるだけで完了です。VUメーターは音楽で踊る準備ができています。デモについては、最後のビデオを確認してください。
回路の説明:
このVUメーターArduinoシールドでは、8個のLEDを使用しました。2個のLEDは高オーディオ信号用、2個の黄色LEDは中間オーディオ信号用、4個の緑LEDは低オーディオ信号用です。 LCD、ESP8266 Wi-Fiモジュール、DHT11 H&Tモジュール、電圧レギュレーター、より多くのVCC、+ 5v、+ 3.3v、およびGNDピンを接続することにより、このシールドにさらにいくつかのオプションを追加できます。しかし、ここでこのプロジェクトのデモンストレーションでは、LED、オーディオジャック、および電源LEDのみを組み立てました。このシールドでは、抵抗とLEDであるいくつかのSMDコンポーネントを使用しました。また、ピンに直接、またはオーディオジャックを使用して、このボードにオーディオ信号を適用する2つのオプションがあります。
このプロジェクトの回路は非常に単純で、ピン番号D3〜D10に8個のLEDが接続されています。オーディオジャックは、ArduinoのアナログピンA5に直接接続されています。
LCDを接続する必要がある場合は、J1とJ7(以下の回路を参照)のLCDをlcd(14、15,16,17,18,2)のような接続で接続できます。
プログラミングの説明:
このArduinoVUメーターのプログラムは非常に簡単です。このコードでは、特定のLEDに名前を付けていません。接続を念頭に置いて、コードを直接記述します。
指定され たvoidsetup() 関数で、LEDの出力ピンを初期化します。ここでは、i = 3の値を初期化して10に実行する forループ を見ることができます。ここで、i = 3はArduinoの3番目のピンであり、 forループ 全体がArduinoのピンD3-D10を初期化します。
void setup(){for(i = 3; i <11; i ++)pinMode(i、OUTPUT); }
ここで、 void loop() 関数で、ArduinoのA5ピンからアナログ値を読み取り、その値を変数 「value」に 格納します。ここで、この 「値」 を10で割って結果を取得し、この結果を直接使用して、forループを使用してArduinoのピン番号を取得します。
void loop(){int value = analogRead(A5); 値/ = 10; for(i = 3; i <= value; i ++)digitalWrite(i、HIGH); for(i = value + 1; i <= 10; i ++)digitalWrite(i、LOW); }
例で説明できます。たとえば、アナログ値が50であるとすると、10で割ると、次のようになります。
値= 50
値=値/ 10
値= 50/10 = 5
これで、次のような forループ を使用し ました 。
for(i = 3; i <= value; i ++)digitalWrite(i、HIGH);
上記の「for」ループでは、i = 3はD3であり、Value = 5はD5を意味します。
つまり、ループはD3からD5に移動し、D3、D4、およびD5に接続されているLEDは「オン」になります。
そして、以下の「for」ループでは、 i = value +1 はvalue = 5 + 1がD6を意味し、i <= 10はD10を意味します。
for(i = value + 1; i <= 10; i ++)digitalWrite(i、LOW);
平均ループはD6からD10に移動し、D6-D10で接続されているLEDは「オフ」になります。
これが、独自のVUメーターArduinoシールドを構築する方法です。このシールドでは、以下のビデオで確認できるように、音の強さに応じてLEDが点灯します。3.5 mmオーディオジャックまたはAUXケーブルを使用して、モバイルまたはラップトップから直接入力を提供し、美しい照明効果を楽しむことができます。