注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ ここ]をクリックして今すぐ参加しましょう!
オーディオモジュールとスピーカー
概要
このレッスンでは、Arduino Unoボードと一緒に使用されるオーディオモジュールとスピーカーについて学びます。これらのコンポーネントは、音楽玩具、DIYサウンドシステム、アラーム、さらには高度な楽器など、さまざまな電子アプリケーションで広く利用されています。Arduinoとオーディオモジュール、スピーカーを組み合わせることで、シンプルながら効果的なメロディープレーヤーを作成できます。
必要なコンポーネント
このプロジェクトには、以下のコンポーネントが必要です。
全セットを購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
|---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
|---|---|
- |
|
- |
配線図
これはモノラルアンプなので、ピン8をオーディオアンプモジュールのLまたはRピンに接続できます。
10K抵抗は、高周波ノイズを減少させ、オーディオボリュームを下げるために使用されます。DACとオーディオアンプの寄生容量とのRCローパスフィルタを形成します。このフィルタは高周波信号の振幅を減少させ、高周波ノイズを効果的に減少させます。したがって、10K抵抗を追加すると、音楽が柔らかく聞こえ、望ましくない高周波ノイズが排除されます。
回路図
コード
注釈
ファイル
17-speaker.inoをelite-explorer-kit-main\basic_project\17-speakerのパスで直接開くことができます。または、このコードをArduino IDEにコピーしてください。
コードをR4ボードにアップロードし終えると、7つの音符を含むメロディーが聞こえます。
コード解析
pitchesライブラリのインクルード: このライブラリは、さまざまな音楽ノートの周波数値を提供し、コード内で音楽記譜法を使用できるようにします。
#include "pitches.h"
定数と配列の定義:
speakerPinは、スピーカーが接続されているArduinoのデジタルピンです。melody[]は、演奏されるノートのシーケンスを格納する配列です。noteDurations[]は、メロディーの各ノートの持続時間を格納する配列です。
const int speakerPin = 8; int melody[] = { NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4 }; int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 };
メロディーの演奏:
forループはメロディーの各ノートを反復処理します。tone()関数は、特定の期間にわたってスピーカーでノートを再生します。ノートを区別するために、ノート間に遅延が追加されます。
noTone()関数は音を停止します。
void setup() { for (int thisNote = 0; thisNote < 8; thisNote++) { int noteDuration = 1000 / noteDurations[thisNote]; tone(speakerPin, melody[thisNote], noteDuration); int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); noTone(speakerPin); } }
空のループ関数: メロディーはセットアップで一度だけ演奏されるため、ループ関数にはコードがありません。
melody[]とnoteDurations[]配列のノートや持続時間を変更して、独自のメロディーを作成することをお試しください。興味があれば、さまざまな曲を演奏するためのArduinoコードを提供するGitHubリポジトリ( robsoncouto/arduino-songs )があります。そのアプローチはこのプロジェクトと異なるかもしれませんが、参考としてノートや持続時間を参照することができます。