부저(Buzzer): 두 판 사이의 차이

아두위키 : Arduwiki
잔글편집 요약 없음
잔글편집 요약 없음
1번째 줄: 1번째 줄:
{{#seo:|title=아두위키 : 아두이노 부저 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 부저, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 부저를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}
{{#seo:|title=ArduWiki : Arduino ブザーガイド|title_mode=append|keywords=Arduino, 情報科学, メイカー学習, パフォーマンス評価, ブザー, Arduino作品, キャップストーン作品, Arduinoサンプルコード|description=Arduinoでブザーを制御する方法(基本情報、回路、サンプルコード)を紹介します。情報科学やメイカー授業に活用できます。}}


[[파일:부저 사진.jpg|가운데|class=coders100]]
[[파일:부저 사진.jpg|가운데|class=coders100]]


== '''개요''' ==
== '''概要''' ==
부저(Buzzer)는 소리를 발생시키는 장치로, 아두이노와 같은 마이크로컨트롤러 보드와 함께 사용되어 다양한 프로젝트에서 경고음, 알림음, 음악 등을 재생하는 데 활용됩니다. 부저는 크게 능동 부저(Active Buzzer)와 수동 부저(Passive Buzzer)로 나뉩니다.
ブザー(Buzzer)は音を発生させる装置で、Arduinoのようなマイクロコントローラーボードと組み合わせて使用され、さまざまなプロジェクトで警告音、通知音、音楽などを再生するために使用されます。ブザーは主にアクティブブザー(Active Buzzer)とパッシブブザー(Passive Buzzer)に分けられます。


== '''アクティブブザーとパッシブブザー''' ==


== '''능동 부저와 수동 부저''' ==
=== アクティブブザー(Active Buzzer) ===
アクティブブザーは内部に発振回路が内蔵されており、電源を供給するだけで自動的に音を鳴らします。制御が簡単で、主に一定の周波数(音の高さを変えず一種類)の音を出すのに使用されます。


=== 능동 부저 (Active Buzzer) ===
* '''簡単な制御''':単に電源をオン・オフするだけで音が出ます。
능동 부저는 내부에 발진 회로가 내장되어 있어 전원을 공급하면 자동으로 소리를 발생시킵니다. 제어가 간단하며, 주로 일정한 주파수(음의 높낮이 조절없이 한 가지)의 소리를 내는 데 사용됩니다.
* '''一定の周波数''':特定の周波数の音のみを発生させます。


* '''간단한 제어''' : 단순히 전원을 켜고 끄는 것으로 소리를 발생시킵니다.
=== パッシブブザー(Passive Buzzer) ===
* '''일정한 주파수''' : 특정 주파수의 소리만 발생시킵니다.
パッシブブザーは、電源を供給しても自動的には音が出ません。PWM(Pulse Width Modulation)信号を使用して周波数を制御することで、さまざまな周波数の音を生成できます。メロディや多様な音を再生するのに便利です。


* '''複雑な制御''':外部回路またはソフトウェアで周波数を制御する必要があります。
* '''多様な周波数''':さまざまな周波数の音を発生させることができます。


=== 수동 부저 (Passive Buzzer) ===
=== アクティブブザーとパッシブブザーの識別 ===
수동 부저는 전원 공급 시 자동으로 소리를 내는 능동 부저와 달리 주파수를 제어해야 소리를 발생시킵니다. [[아날로그 핀과 PWM|PWM(Pulse Width Modulation)]] 신호를 사용하여 다양한 주파수의 소리를 생성할 수 있어, 멜로디나 다양한 음을 재생하는 데 유용합니다.
アクティブブザーとパッシブブザーは外見では区別が難しい場合があります。簡単なテストで識別する方法があります。


* '''복잡한 제어''' : 외부 회로나 소프트웨어적으로 주파수를 제어해야 합니다.
==== 1. ラベルとマーキング ====
* '''다양한 주파수''' : 다양한 주파수의 소리를 발생시킬 수 있습니다.
外観による識別方法ですが、製品によって表示が異なるため確実とは限りません。


* '''アクティブブザー''':「Active」や特定の周波数(例:「5V 12kHz」)と表示されていることがあります。
* '''パッシブブザー''':「Passive」または周波数表示のないことが多いです。


=== 능동 부저와 수동 부저의 구분 ===
==== 2. テスト ====
능동 부저와 수동 부저는 외관 상으로는 구분하기 어려울 수 있습니다. 대신 간단한 테스트를 통해 구분합니다.
最も確実な方法は、簡単な回路を組んでテストすることです。


==== 1. 레이블 및 마킹 ====
* '''アクティブブザー''':電源を接続するとすぐに音が出ます。
외관으로 구분하는 방법이지만, 제품에 따라 표기가 다를 수 있어 확실한 방법은 아닙니다.
* '''パッシブブザー''':電源を接続しても音が出ず、周波数信号を入力すると音が出ます。


* '''능동 부저''' : 보통 "Active" 또는 특정 주파수(예: "5V 12kHz")가 표시된 라벨이 붙어 있을 수 있습니다.
== '''回路構成''' ==
* '''수동 부저''' : "Passive" 또는 주파수 표시가 없는 경우가 많습니다.
製品によってブザーの形状は異なりますが、原理は同じです。


==== 2. 테스트 ====
=== ピンが2本の場合 ===
가장 확실한 방법은 간단한 회로를 구성하여 테스트를 통해 구분하는 것입니다.


* '''능동 부저''' : 전원을 연결하면 바로 소리가 납니다.
# ブザーの+端子をArduinoのデジタルピンに接続します。
* '''수동 부저''' : 전원을 연결해도 소리가 나지 않으며, 주파수 신호를 입력해야 소리가 납니다.
# ブザーの-端子をArduinoのGNDに接続します。
 
 
== '''회로 구성''' ==
제품에 따라 부저 형태는 다를 수 있으나, 같은 원리로 회로를 구성합니다.
 
=== 핀이 2개인 경우 ===
 
# 부저의 + 단자를 아두이노의 디지털 핀에 연결합니다.
# 부저의 - 단자를 아두이노의 GND에 연결합니다.
[[파일:수동부저 회로.png|가운데|class=coders100]]
[[파일:수동부저 회로.png|가운데|class=coders100]]


=== ピンが3本の場合 ===


=== 핀이 3개인 경우 ===
# ブザーの+端子(またはVCC)をArduinoの5Vピンに接続します。
# ブザーの-端子をArduinoのGNDに接続します。
# ブザーの信号ピンをArduinoの任意のデジタルピンに接続します。
'''※ 下の写真と異なるモデルの場合、ピンの位置が異なることがありますので、よく確認して接続してください。'''[[파일:부저 3핀 회로.jpg|가운데|class=coders100]]


# 부저의 + 단자(혹은 VCC)를 아두이노의 5V 핀에 연결합니다.
== '''活用例''' ==
# 부저의 - 단자를 아두이노의 GND에 연결합니다.
# 부저의 디지털 핀 단자를 아두이노에서 사용할 디지털 핀에 연결합니다.
'''※ 아래 사진과 다른 모델일 경우 핀의 위치가 다를 수 있으니 잘 확인해서 연결해야 합니다.'''[[파일:부저 3핀 회로.jpg|가운데|class=coders100]]


== '''활용 예제''' ==
=== 1. アクティブブザーの制御 ===
アクティブブザーを3回鳴らす例です。


=== 1. 능동 부저 제어 ===
==== 1-1. 回路構成 ====
능동 부저가 3번 울리는 예제입니다.
下の写真は3ピンタイプの例です。2ピンタイプを使用する場合は、上記のハードウェア接続を参考にしてください。
[[파일:능동부저 예제1 회로.png|가운데|class=coders100]]


==== 1-1. 회로 구성 ====
==== 1-2. コード ====
아래 사진은 핀이 3개인 제품을 사용할 때 예시이지만, 핀이 2개인 제품을 사용하신다면 위 하드웨어 연결 항목을 참고하여 결선해주세요.[[파일:능동부저 예제1 회로.png|가운데|class=coders100]]
 
==== 1-2. 코드 ====
<syntaxhighlight lang="c++" line="1">
<syntaxhighlight lang="c++" line="1">
const int iopin = 7;
const int iopin = 7;
84번째 줄: 80번째 줄:
</syntaxhighlight>
</syntaxhighlight>


 
==== 1-3. 実行結果 ====
==== 1-3. 실행 결과 ====
<div class="coders70">
<div class="coders70">
<youtube> Ow31hQcIxts </youtube>
<youtube> Ow31hQcIxts </youtube>
</div>
</div>


=== 2. アクティブブザーと[[택트 스위치(Tact Switch)|タクトスイッチ]]の組み合わせ ===
[[택트 스위치(Tact Switch)|タクトスイッチ]]を押すとアクティブブザーが音を鳴らす例です。


=== 2. 능동 부저와 [[택트 스위치(Tact Switch)|택트 스위치]] 혼합 활용 ===
==== 2-1. 回路構成 ====
[[택트 스위치(Tact Switch)|택트 스위치]]를 누르면 능동 부저가 소리를 발생시키는 예제입니다.
この例では、タクトスイッチにINPUT_PULLUP抵抗を使用しています。


==== 2-1. 회로 구성 ====
PULLUP、PULLDOWN、INPUT_PULLUP抵抗についての詳細は、[[택트 스위치(Tact Switch)|タクトスイッチ]]のページをご覧ください。
해당 예제에서는 택트 스위치 연결 시 INPUT_PULLUP 저항을 활용합니다.
 
PULLUP, PULLDOWN, INPUT_PULLUP 저항에 대한 자세한 설명은 [[택트 스위치(Tact Switch)|택트 스위치]] 문서를 참고해주세요.


[[파일:부저 예제1 회로.jpg|가운데|class=coders100]]
[[파일:부저 예제1 회로.jpg|가운데|class=coders100]]


==== 2-2. 코드 ====
==== 2-2. コード ====
<syntaxhighlight lang="c++" line="1">
<syntaxhighlight lang="c++" line="1">
#define buzzer 6
#define buzzer 6
122번째 줄: 116번째 줄:
</syntaxhighlight>
</syntaxhighlight>


 
==== 2-3. 実行結果 ====
==== 2-3. 실행 결과 ====
<div class="coders70">
<div class="coders70">
<youtube> T7I3b59x0QA </youtube>
<youtube> T7I3b59x0QA </youtube>
</div>
</div>


=== 3. パッシブブザーで音階を再生 ===
パッシブブザーは、アクティブブザーとは異なり、周波数を制御して異なる音を表現できます。


=== 3. 수동 부저 제어로 음계 재생 ===
「ドレミファソラシド」の音階を順に再生する例です。
수동 부저는 능동 부저와 달리 주파수를 제어하여 음을 다르게 표현할 수 있습니다.


도레미파솔라시도 음계를 순서대로 재생하는 예제입니다.
==== 参考資料:オクターブおよび音階ごとの標準周波数 ====
 
==== 참고자료 : 옥타브 및 음계별 표준 주파수 ====
[[파일:옥타브 및 음계별 표준 주파수.png|가운데|class=coders100]]
[[파일:옥타브 및 음계별 표준 주파수.png|가운데|class=coders100]]


==== 3-1. 回路構成 ====
ハードウェア接続の回路を参考にしてください。


==== 3-1. 회로 구성 ====
==== 3-2. コード ====
하드웨어 연결 탭의 회로를 참고하세요.
 
 
==== 3-2. 코드 ====
<syntaxhighlight lang="c++" line="1">
<syntaxhighlight lang="c++" line="1">
#define buzzer 11
#define buzzer 11
int numTones = 8;
int numTones = 8;


//순서대로 (4옥도,4옥레,4옥미,4옥파,4옥솔,4옥라,4옥시,5옥도)
double tones[] = { 261.6256, 293.6648, 329.6276, 349.2282, 391.9954, 440, 493.8833, 523.2511 };
double tones[] = { 261.6256, 293.6648, 329.6276, 349.2282, 391.9954, 440, 493.8833, 523.2511 };


163번째 줄: 152번째 줄:
         for (int i = 0; i < numTones; i++)
         for (int i = 0; i < numTones; i++)
         {
         {
            //tone(핀번호, 주파수)로 사용합니다.
             tone(buzzer, tones[i]);
             tone(buzzer, tones[i]);
             delay(500);
             delay(500);
         }
         }
        //noTone함수를 사용하지 않을 시 이전에 입력된 tone함수가 계속 실행이 되므로
        //noTone함수로 소리를 꺼줍니다.
         noTone(buzzer);
         noTone(buzzer);
         delay(500);
         delay(500);
176번째 줄: 162번째 줄:
</syntaxhighlight>
</syntaxhighlight>


 
==== 3-3. 実行結果 ====
==== 3-3. 실행 결과 ====
<div class="coders70">
<div class="coders70">
<youtube> vayYbS_Qjy0 </youtube>
<youtube> vayYbS_Qjy0 </youtube>
</div>
</div>


=== 4. パッシブブザーでメロディを再生 ===
パッシブブザーで簡単なメロディを再生する例です。


=== 4. 수동 부저 제어로 멜로디 재생 ===
この例を基に、他のメロディにも応用可能です。
수동 부저로 간단한 멜로디를 재생하는 예제입니다.
 
본 예제를 바탕으로 다른 멜로디를 재생하도록 변형이 가능합니다.
 
==== 4-1. 회로 구성 ====
하드웨어 연결 탭의 회로를 참고하세요.


==== 4-1. 回路構成 ====
ハードウェア接続の回路を参考にしてください。


==== 4-2. 코드 ====
==== 4-2. コード ====
<syntaxhighlight lang="c++" line="1">
<syntaxhighlight lang="c++" line="1">
#define buzzer 11
#define buzzer 11
198번째 줄: 181번째 줄:
int numTones = 8;
int numTones = 8;
double g_tones[] = { 195.9977, 220, 246.9417, 261.6256, 293.6648, 329.6276, 349.2282, 391.9954 };
double g_tones[] = { 195.9977, 220, 246.9417, 261.6256, 293.6648, 329.6276, 349.2282, 391.9954 };
//솔0,라1,시2,도3,레4,미5,파6,솔7
int cnt = 0;
int cnt = 0;


211번째 줄: 193번째 줄:
     {
     {
         tone(buzzer, g_tones[0]);
         tone(buzzer, g_tones[0]);
         delay(250 * 2);
         delay(500);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[3]);
         tone(buzzer, g_tones[3]);
         delay(250 * 2);
         delay(500);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[2]);
         tone(buzzer, g_tones[2]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[3]);
         tone(buzzer, g_tones[3]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[4]);
         tone(buzzer, g_tones[4]);
         delay(250 * 2);
         delay(500);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[3]);
         tone(buzzer, g_tones[3]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[4]);
         tone(buzzer, g_tones[4]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[5]);
         tone(buzzer, g_tones[5]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[5]);
         tone(buzzer, g_tones[5]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[6]);
         tone(buzzer, g_tones[6]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[5]);
         tone(buzzer, g_tones[5]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[1]);
         tone(buzzer, g_tones[1]);
         delay(250 * 2);
         delay(500);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[4]);
         tone(buzzer, g_tones[4]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[4]);
         tone(buzzer, g_tones[4]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[3]);
         tone(buzzer, g_tones[3]);
         delay(250 * 2);
         delay(500);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[3]);
         tone(buzzer, g_tones[3]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[3]);
         tone(buzzer, g_tones[3]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[2]);
         tone(buzzer, g_tones[2]);
         delay(250 * 2);
         delay(500);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[1]);
         tone(buzzer, g_tones[1]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[2]);
         tone(buzzer, g_tones[2]);
         delay(125 * 2);
         delay(250);
         noTone(buzzer);
         noTone(buzzer);
         tone(buzzer, g_tones[3]);
         tone(buzzer, g_tones[3]);
         delay(250 * 4);
         delay(1000);
         noTone(buzzer);
         noTone(buzzer);
         cnt++;
         cnt++;
     }else
     }
    else
     {
     {


281번째 줄: 264번째 줄:
</syntaxhighlight>
</syntaxhighlight>


==== 4-3. 実行結果 ====
動画準備中


==== 4-3. 실행 결과 ====
== '''その他の活用例''' ==
영상 첨부 예정
ブザーは音が必要なさまざまなプロジェクトに活用できます。
 
 
== '''기타 활용 예시''' ==
부저는 소리가 필요한 다양한 프로젝트에서 활용될 수 있습니다.
 
* '''알람 시스템''': 특정 조건이 만족될 때 경고음을 울리는 시스템
* '''타이머''': 시간 경과를 알리는 소리
* '''음악 재생''': 간단한 멜로디나 효과음을 재생하는 장치
* '''게임''': 게임에서의 효과음이나 승리/패배 알림음
 
 
== '''구매링크''' ==


* '''[https://gongzipsa.com/shop/search.php?q=%EB%B6%80%EC%A0%80 공집사몰]'''
* '''アラームシステム''':特定の条件が満たされたときに警告音を鳴らすシステム
* '''タイマー''':時間の経過を知らせる音
* '''音楽再生''':簡単なメロディや効果音を再生する装置
* '''ゲーム''':ゲーム内の効果音や勝敗を知らせる音

2025년 3월 27일 (목) 14:20 판


概要

ブザー(Buzzer)は音を発生させる装置で、Arduinoのようなマイクロコントローラーボードと組み合わせて使用され、さまざまなプロジェクトで警告音、通知音、音楽などを再生するために使用されます。ブザーは主にアクティブブザー(Active Buzzer)とパッシブブザー(Passive Buzzer)に分けられます。

アクティブブザーとパッシブブザー

アクティブブザー(Active Buzzer)

アクティブブザーは内部に発振回路が内蔵されており、電源を供給するだけで自動的に音を鳴らします。制御が簡単で、主に一定の周波数(音の高さを変えず一種類)の音を出すのに使用されます。

  • 簡単な制御:単に電源をオン・オフするだけで音が出ます。
  • 一定の周波数:特定の周波数の音のみを発生させます。

パッシブブザー(Passive Buzzer)

パッシブブザーは、電源を供給しても自動的には音が出ません。PWM(Pulse Width Modulation)信号を使用して周波数を制御することで、さまざまな周波数の音を生成できます。メロディや多様な音を再生するのに便利です。

  • 複雑な制御:外部回路またはソフトウェアで周波数を制御する必要があります。
  • 多様な周波数:さまざまな周波数の音を発生させることができます。

アクティブブザーとパッシブブザーの識別

アクティブブザーとパッシブブザーは外見では区別が難しい場合があります。簡単なテストで識別する方法があります。

1. ラベルとマーキング

外観による識別方法ですが、製品によって表示が異なるため確実とは限りません。

  • アクティブブザー:「Active」や特定の周波数(例:「5V 12kHz」)と表示されていることがあります。
  • パッシブブザー:「Passive」または周波数表示のないことが多いです。

2. テスト

最も確実な方法は、簡単な回路を組んでテストすることです。

  • アクティブブザー:電源を接続するとすぐに音が出ます。
  • パッシブブザー:電源を接続しても音が出ず、周波数信号を入力すると音が出ます。

回路構成

製品によってブザーの形状は異なりますが、原理は同じです。

ピンが2本の場合

  1. ブザーの+端子をArduinoのデジタルピンに接続します。
  2. ブザーの-端子をArduinoのGNDに接続します。

ピンが3本の場合

  1. ブザーの+端子(またはVCC)をArduinoの5Vピンに接続します。
  2. ブザーの-端子をArduinoのGNDに接続します。
  3. ブザーの信号ピンをArduinoの任意のデジタルピンに接続します。

※ 下の写真と異なるモデルの場合、ピンの位置が異なることがありますので、よく確認して接続してください。

活用例

1. アクティブブザーの制御

アクティブブザーを3回鳴らす例です。

1-1. 回路構成

下の写真は3ピンタイプの例です。2ピンタイプを使用する場合は、上記のハードウェア接続を参考にしてください。

1-2. コード

const int iopin = 7;

void setup() {
  pinMode(iopin, OUTPUT);
  digitalWrite(iopin, HIGH);
  for (int i = 0; i < 3; i++) {
    digitalWrite(iopin, LOW);
    delay(500);
    digitalWrite(iopin, HIGH);
    delay(500);
  }
}

void loop() {
  delay(10);
}

1-3. 実行結果

2. アクティブブザーとタクトスイッチの組み合わせ

タクトスイッチを押すとアクティブブザーが音を鳴らす例です。

2-1. 回路構成

この例では、タクトスイッチにINPUT_PULLUP抵抗を使用しています。

PULLUP、PULLDOWN、INPUT_PULLUP抵抗についての詳細は、タクトスイッチのページをご覧ください。

2-2. コード

#define buzzer 6
#define btn 12

void setup() {
  pinMode(buzzer, OUTPUT);
  pinMode(btn, INPUT_PULLUP);
}

void loop() {
  if (!digitalRead(btn)) {
    for (int i = 0; i < 6; i++) {
      digitalWrite(buzzer, !digitalRead(buzzer));
      delay(100);
    }
  }
  delay(10);
}

2-3. 実行結果

3. パッシブブザーで音階を再生

パッシブブザーは、アクティブブザーとは異なり、周波数を制御して異なる音を表現できます。

「ドレミファソラシド」の音階を順に再生する例です。

参考資料:オクターブおよび音階ごとの標準周波数

3-1. 回路構成

ハードウェア接続の回路を参考にしてください。

3-2. コード

#define buzzer 11
int numTones = 8;

double tones[] = { 261.6256, 293.6648, 329.6276, 349.2282, 391.9954, 440, 493.8833, 523.2511 };

int cnt = 0;

void setup()
{

}

void loop()
{
    if (cnt == 0)
    {
        for (int i = 0; i < numTones; i++)
        {
            tone(buzzer, tones[i]);
            delay(500);
        }
        noTone(buzzer);
        delay(500);
        cnt++;
    }
}

3-3. 実行結果

4. パッシブブザーでメロディを再生

パッシブブザーで簡単なメロディを再生する例です。

この例を基に、他のメロディにも応用可能です。

4-1. 回路構成

ハードウェア接続の回路を参考にしてください。

4-2. コード

#define buzzer 11

int numTones = 8;
double g_tones[] = { 195.9977, 220, 246.9417, 261.6256, 293.6648, 329.6276, 349.2282, 391.9954 };
int cnt = 0;

void setup()
{

}

void loop()
{
    if (cnt == 0)
    {
        tone(buzzer, g_tones[0]);
        delay(500);
        noTone(buzzer);
        tone(buzzer, g_tones[3]);
        delay(500);
        noTone(buzzer);
        tone(buzzer, g_tones[2]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[3]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[4]);
        delay(500);
        noTone(buzzer);
        tone(buzzer, g_tones[3]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[4]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[5]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[5]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[6]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[5]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[1]);
        delay(500);
        noTone(buzzer);
        tone(buzzer, g_tones[4]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[4]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[3]);
        delay(500);
        noTone(buzzer);
        tone(buzzer, g_tones[3]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[3]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[2]);
        delay(500);
        noTone(buzzer);
        tone(buzzer, g_tones[1]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[2]);
        delay(250);
        noTone(buzzer);
        tone(buzzer, g_tones[3]);
        delay(1000);
        noTone(buzzer);
        cnt++;
    }
    else
    {

    }
}

4-3. 実行結果

動画準備中

その他の活用例

ブザーは音が必要なさまざまなプロジェクトに活用できます。

  • アラームシステム:特定の条件が満たされたときに警告音を鳴らすシステム
  • タイマー:時間の経過を知らせる音
  • 音楽再生:簡単なメロディや効果音を再生する装置
  • ゲーム:ゲーム内の効果音や勝敗を知らせる音