Arduinoでブザーを鳴らしたい

スポンサーリンク
スポンサーリンク

ブザー

音が出る。電気流すだけでできるみたい。

スポンサーリンク

お買い物

電子ブザー 12mm UGCM1205XP: 制御部品・駆動部品 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作電子ブザー 12mm UGCM1205XP秋月電子通商 電子部品通信販売

こちらを買いまして。定格5Vなので何も考えずにに繋げば良さそう。

タクトスイッチ(黒色): 制御部品・駆動部品 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作タクトスイッチ(黒色)秋月電子通商 電子部品通信販売

あとスイッチ。押すと繋がって、離すと切れる。

スポンサーリンク

接続して手動で鳴らす

ブザーには極性があった。Arduino5V→スイッチ→ブザー→ArduinoGNDてつないでみた。

押すと鳴る。でもこれはあんまりよろしくないみたい。スイッチオフのときが、浮いてる状態だから?なの?

プルアップ・プルダウン

詳しくは

プルアップ抵抗・プルダウン抵抗とは?電子回路に必須の考え方
スイッチやセンサーなど、外部信号をマイコンに入力する時に必要となるのが『プルアップ』『プルダウン』抵抗です。この抵抗は必須でありながら効果が良く分かっていなかったり、逆に省いてしまっている方もいると思います 本記事では、スイッチ入力に使うプ...

Arduinoの中はどうなっているのか – デジタル入出力について – // もちぶろ

で、リファレンスは

301 Moved Permanently

とか

https://www.arduino.cc/en/Tutorial/DigitalPins

などを参考にいたしまして、色々試してみたものの、理解が追いつかず、とりあえずこれでいいやと思いました。

スポンサーリンク

プログラムで鳴らす

こんな感じで、D01(9)ピン→ブザー→GNDで接続して

void setup() {
  pinMode(9, OUTPUT);
}

void loop() {

  for (int i = 1; i <= 3; i++) {
    digitalWrite(9, HIGH);
    delay(100);
    digitalWrite(9, LOW);
    delay(100);
  }

  delay(300);

  for (int i = 1; i <= 3; i++) {
    digitalWrite(9, HIGH);
    delay(300);
    digitalWrite(9, LOW);
    delay(100);
  }

  delay(300);

  for (int i = 1; i <= 3; i++) {
    digitalWrite(9, HIGH);
    delay(100);
    digitalWrite(9, LOW);
    delay(100);
  }

  delay(700);

}

こんな感じのコードを書きまして、カウンタ一緒だけどいいのかな。

すると鳴ります。SOS!。

スポンサーリンク

toneを使う

void setup() {
  pinMode(9, OUTPUT);
}

void loop() {

  for (int i = 32; i <= 8000; i++) {
    tone(9, i);
    delay(10);
    noTone(9);
  }
}

toneを使うと音階が作れる。

スケッチ例のtoneMelodyをやると

動画だと微妙だけど、ちゃんと聞こえる。すげー。

コメント

タイトルとURLをコピーしました