#13初級

ブザーの使い方

4.7(89)
161 完了
ブザーの使い方
呼び鈴やアラームがどうやって音を出すのか、気になったことはありませんか?Arduinoが小さなブザーを短い間隔で鳴らし、音を出す、止める、を繰り返します。電気で音が生まれる仕組みを学び、メロディーを演奏するプロジェクトへの第一歩を踏み出せます。

動画

回路図

ブザーの使い方 - Circuit

ソースコード

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Using a Buzzer
4// ─────────────────────────────────────────
5// The buzzer beeps at 400 Hz for 0.3 s, stays silent for 0.3 s and keeps
6// repeating. Shows how to use tone() and noTone().
7//
8// Pins:
9//   D7 -> Buzzer + (other leg to GND)
10
11int frequency = 400;   // Tone frequency (Hz)
12int buzzerPin = 7;     // Buzzer output pin
13
14void setup() {
15  // tone() sets the pin as an output itself
16}
17
18void loop() {
19  tone(buzzerPin, frequency);   // Start the 400 Hz tone
20  delay(300);
21  noTone(buzzerPin);            // Stop the sound
22  delay(300);
23}
24

よくある質問

アクティブブザーとパッシブブザーは何が違いますか?▾

アクティブブザーは発振器を内蔵しており、電圧をかけるだけで一定の音が出ます。パッシブブザーは外部から周波数信号を与える必要があり、`tone()`でさまざまな音程を鳴らせます。メロディーを演奏するプロジェクトにはパッシブブザーが必要です。

tone()はどのように使いますか?▾

tone(pin, frequency)は指定した周波数で音を鳴らし、noTone(pin)は音を止めます。tone(pin, frequency, duration)の形式で鳴らす時間も指定できます。例えば、440 Hzはラの音です。

音がとても小さいです。どうすれば大きくできますか?▾

Arduinoのピンからブザーに流せる電流には限りがあります。音を大きくするには、NPNトランジスタ(例:BC547)を介してブザーを駆動するか、ブザーの穴をふさがない配置にしてください。

`tone()`を使うと、ほかのピンに影響がありますか?▾

Unoでは`tone()`がTimer2を使うため、音を鳴らしている間は3番と11番のピンでPWM(analogWrite)が正しく動作しません。同時にPWMを使う必要がある場合は、別のピンを選んでください。