工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド

Arduinoで作れるユニークなプロジェクトをお探しですか?それならArduinoスピーカーを作ってみましょう。Arduinoスピーカーは様々な音を再生できる音楽プロジェクトで、Arduinoプロジェクト初心者に最適です。

実際、Arduinoスピーカープロジェクトは2つのコンポーネントのみで構築可能で、最もシンプルなArduino回路の1つです。

このArduinoスピーカーチュートリアルでは、Arduinoスピーカーの仕組みと、構築・プログラミング方法を紹介します。

準備はいいですか?始めましょう!

Arduinoスピーカーの仕組み

前述の通り、Arduinoスピーカーで様々なサウンドアプリケーションを作成できます。良い例は、様々な曲を再生する音楽カーリバースホーン。プログラムをアップロードし直せばスピーカーの音を変更可能。

しかし、実際どう動作するのでしょうか?

Arduinoが周波数のトーンを生成し、スピーカー経由で再生します。興味深いことに、異なるトーン変化(ピッチ)が正しいタイミング(リズム)と混ざり合って音楽を作ります。

スピーカーから音を再生するには、Arduinoが出力信号を生成し、デジタルピン3経由で送信。そのピンに接続されたスピーカーが生成音を再生します。

簡単なプログラミングで様々な曲を再生可能。また、Arduinoプログラムはtone()関数を使って音を生成します。

プログラムは1つのデジタルピンで周波数の矩形波を生成可能。さらに、この周波数の継続時間を設定できます。

ただし、継続時間を設定しない場合、noTone()関数をアクティブにするまで矩形波を生成し続けます。

tone()関数の基本的な使い方

tone()関数は2つの値で動作:Arduinoで使用するピンと、ヘルツ単位で指定する周波数。

周波数は符号なし整数で、0〜65,535の値を取ります。しかし、人間の耳に聞こえる周波数は2000〜5000Hzの範囲であるべきです。

tone()関数テスト用のシンプルなコード例:

シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド

また、tone()の第2引数を100、1000、10000、650000などに変更して実験し、出力音への影響を観察できます。値が高いほど、スピーカーが生成するピッチは高くなります。

Arduinoスピーカーの作り方

Arduinoスピーカーの作り方に入る前に、このプロジェクトに必要なコンポーネントを見てみましょう:

シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド

手順

Arduinoスピーカーの構築は簡単。ピエゾブザーまたはスピーカーをArduinoのピン3に接続するだけ。1本のワイヤーでスピーカーをピン3に、もう1本でグラウンドピンに接続。

Arduinoスピーカー構築後、以下のコードをArduino UNOにアップロード:

シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド

次にpitch.hファイルを作成。pitch.hファイルは音楽ノートのピッチ値をすべて含む追加ファイル。例えば、NOTE_FS4はF#、NOTE_C4は中央ドを表す。

pitchファイルがあれば、tone()関数で周波数を書く代わりにノート名を記述可能。興味深いことに、Brett Hagmanが元々pitchファイルを書き、tone()プロセス使用時のサウンド追加を容易にした。

ファイル作成方法:「Ctrl+Shift+N」またはMacの場合「Cmd+Shift+N」を入力し、以下のコードを入力:

シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド

Arduinoスピーカーのテスト

プログラムをArduinoスピーカーにアップロードすると、コード内の曲が再生されるはず。シリアルモニタを開くと出力トーン周波数も確認可能。

ブレッドボードを使ったArduinoピエゾスピーカーの作り方

シンプルなArduinoスピーカーの作り方 - ステップバイステップガイド

回路設計

このプロジェクトに必要なもの:

手順

Arduinoスピーカーでビートを作る方法

トーン間に遅延を追加してビートを作成可能。wait()関数でミリ秒単位の継続時間を使用してユニークな瞬間を作れます。

tone()関数はArduinoの内蔵タイマーの1つを使用するため、tone()関数の第3引数として500ミリ秒を使用可能。

これに1000ミリ秒の遅延を続けると、500ミリ秒の遅延が作成される。プログラムは時間を足し合わせない。代わりに、継続時間と一時停止を同時に開始。したがって、トーンが500ミリ秒実行される頃には、500ミリ秒の遅延が残っている。つまり、500ミリ秒の音と500ミリ秒の無音が得られる。

Arduinoスピーカーでのビート作成は複雑なプロセスだが、慣れれば効果的にユニークなサウンドを作成可能。

tone()関数使用時の制限事項

tone()で音を生成する際の欠点を見てみましょう。

  1. tone()関数は2つの別々のピンで同時に動作できない。例えば、2つの個別スピーカーを2つの異なるピンに接続している場合、両スピーカーは同時に再生できない。tone()関数のため、一度に1つしか再生できない。

また、別のピンでtone()関数を使用したい場合、noTone()関数で最後のピンの機能を非アクティブにする必要がある。

  1. また、ピン3と11でtone()とanalogWrite()関数を同時に使用できない。望ましくない結果のみ得られる。これらの関数はピン3または11で同じ内蔵タイマーを使用するため互換性がない。ただし、試してどんなノイズが生成されるか聞いてみることは可能。
  1. tone()関数で生成可能な最低トーン値は31Hz。さらに、31やそれ以下の値を関数に入力可能だが、良い出力表現は得られない。

最後に

Arduinoスピーカーは誰でも作れる最も簡単なArduinoプロジェクトの1つです。(ブレッドボード使用時を除き)プロジェクト全体を構築するには追加コンポーネント1つだけで済みます。

何より、Arduinoスピーカーは回路のプログラミング方法に応じて様々な音を生成可能。Arduinoスピーカーはtone()関数で音を作成。制限はあるものの、Arduinoスピーカーで音を生成する最高のコードの1つです。

ご質問があれば、お気軽にお問い合わせください。喜んでお手伝いします。

産業技術

  1. Arduinoで作る高精度エナジーモニター&データロガー – Dr. Wattsonボード活用
  2. ArduinoでユニバーサルIRリモコンを自作:ステップバイステップガイド
  3. サーミスタを使った温度測定: Arduinoステップバイステップガイド
  4. ArduinoベースSCARAロボット自作 – ステップバイステップガイド
  5. 信頼性の高いカレントミラー回路の構築:ステップバイステップガイド
  6. Arduino入門:概要からプログラミングまで完全解説
  7. 自動化倉庫の構築:業務モダナイズのためのステップバイステップガイド
  8. DIY LEDランプキット:省エネ・エコな照明を自作しよう
  9. 安全なテイザー回路の作り方:自己防衛のための包括的ガイド
  10. 自作LED懐中電灯:ステップバイステップ回路ガイド
  11. ラジオリピーター自作ガイド:信頼性の高い中継機をステップバイステップで構築