注釈

こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。

なぜ参加するのか?

  • 専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。

  • 学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。

  • 限定プレビュー:新製品発表や予告編に早期アクセス。

  • 特別割引:最新製品の特別割引を楽しむ。

  • フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。

👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!

レッスン32: パッシブブザーモジュール

このレッスンでは、Arduinoを使用してパッシブブザーモジュールでメロディを演奏する方法を学びます。Arduinoをプログラムしてブザーを制御し、さまざまな音符の長さを作成する方法を説明します。このプロジェクトは、音を出す方法と電子部品内の音符の理解に関する実践的な経験を提供するため、初心者に最適です。また、Arduino Unoボードとパッシブブザーモジュールの使用に関する実践的な洞察を得ることもできます。

必要なコンポーネント

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

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

Name

ITEMS IN THIS KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

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

Component Introduction

Purchase Link

Arduino UNO R3 or R4

購入

パッシブブザーモジュール

購入

配線

../_images/Lesson_32_passive_buzzer_module_uno_bb.png

コード

コード解析

  1. ピッチライブラリのインクルード: このライブラリは、さまざまな音符の周波数値を提供し、コード内で音楽記号を使用できるようにします。

#include "pitches.h"
  1. 定数と配列の定義:

    • ``buzzerPin``はブザーが接続されているArduinoのデジタルピンです。

    • ``melody[]``は演奏する音符のシーケンスを格納する配列です。

    • ``noteDurations[]``はメロディの各音符の持続時間を格納する配列です。


    const int buzzerPin = 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
    };
    
  2. メロディの演奏:

    • ``for``ループはメロディの各音符を反復処理します。

    • ``tone()``関数は特定の期間ブザーで音符を演奏します。

    • 音符を区別するために音符間に遅延が追加されます。

    • ``noTone()``関数は音を停止します。


    void setup() {
      for (int thisNote = 0; thisNote < 8; thisNote++) {
        int noteDuration = 1000 / noteDurations[thisNote];
        tone(buzzerPin, melody[thisNote], noteDuration);
        int pauseBetweenNotes = noteDuration * 1.30;
        delay(pauseBetweenNotes);
        noTone(buzzerPin);
      }
    }
    
  3. 空のループ関数: メロディはセットアップ内で一度だけ再生されるため、ループ関数にはコードがありません。