必要部品一覧
圧電ブザーについて
圧電ブザーに電圧を加える↓
内部にある素子が変形する
↓
音(空気の振動)となる
動作を繰り返す。
電子回路
Digitalと記載されているGROVEポートへ接続します。プログラム
ブザーを鳴らすプログラム
BUZZER = 16
pinMode(BUZZER, 0)
digitalWrite(BUZZER, 1)
音階を鳴らすプログラム音階:https://tomari.org/main/java/oto.html
BUZZER = 16
pwm = PWM.new()
pwm.pin(BUZZER)
# 開始するチャンネル番号を指定
pwm.start(2)
while true
# 周期を設定する。
# ド:261Hz, 倍数16(4)
# 1 ÷ 261 × 10000000 = 38314
# 38314 ÷ 16 = 2394(0x95A)
pwm.cycle(0x95A,4)
sleep 1
pwm.cycle(0x84D,4)
sleep 1
pwm.cycle(0x76A,4)
sleep 1
pwm.cycle(0x6EF,4)
sleep 1
pwm.cycle(0x639,4)
sleep 1
pwm.cycle(0x58C,4)
sleep 1
pwm.cycle(0x4F3,4)
sleep 1
end
例題:
- 一定時間ドアが空いていた場合にブザーを鳴らす。 閉じた場合はブザーを消す。
REED_SW = 18
BUZZER = 16
pinMode(BUZZER, 0)
pinMode(REED_SW, 1)
pinPull(REED_SW, 1)
cnt = 0
while true
status = digitalRead(REED_SW)
if(status == 0)
if(cnt > 5)
digitalWrite(BUZZER, 1)
end
cnt += 1
else
digitalWrite(BUZZER, 0)
cnt = 0
end
end