🔊
圧電スピーカーの使い方
配線は指すだけ
部品
1個30円。
項目 | 値 |
---|---|
動作電圧範囲 | 30Vp-p以下 |
- Vp-p は Volt peak to peak の略でサイン波の縦の全体幅のこと
- Arduino は最大 5V なので
5Vp-p <= 30Vp-p
で問題ないってこと? - 他に見る項目がないのだけど電流とかは気にしないでいい?
配線
- プラス側を 8 と繋ぐ (PWMではないポートで可)
- ブレッドボード不要
コード
割り込み処理等が難しそうに感じていたがやってみたら実質一行だった。
void setup() {
}
void loop() {
tone(8, 262, 500); // ポート8に繋いだスピーカーに C (262) を 0.5 秒鳴らす
delay(1000); // 1秒待つ (1秒間の休符になるわけではない)
}
実際のところ難しいのは確かだがライブラリが全部やってくれていた。tone は非同期なので delay と組み合わせて 0.5 秒鳴らして 0.5 秒待つを繰り返す。
音量を調整するには?
可変抵抗を挟むと音量を調整できる。
参考
-
https://garretlab.web.fc2.com/arduino/inside/hardware/arduino/avr/cores/arduino/Tone.cpp/tone.html
内部の構造に詳しい。 -
https://kyabe.net/blog/arduino-squarewave/
自力で digitalWrite のみを駆使して鳴らしている。
鳴らす処理をメインとするなら割り込みは必要ないようだ。 -
https://qiita.com/seigot/items/2121998f4a76c0acba3f
通常は1音しか鳴らせないはず。
Discussion