ArduinoでSTEM教育​ 基礎編:パッシブブザー

ArduinoでSTEM教育​ 基礎編:パッシブブザー

今回は、Arduinoとパッシブブザーを使用して、ドレミファソラシドの音階を鳴らす方法を紹介します。

目次

使用する部品一覧

使用する部品は図のとおりです。これらの部品は、すべて「ELEGOO Arduino用のMega2560スタータキット」に含まれています。​Arduinoは、もちろんunoやnanoでも問題ありません。

  • Arduino MEGA2560 R3 …1個
  • パッシブブザー …1個
  • ジャンパワイヤ(オス-メス) …2個

パッシブブザーの特徴や取り扱い方法

ブザーは2種類あり、アクティブブザーとパッシブブザーがあります。アクティブブザーは、振動源が内蔵されているため、電源を入れると音が鳴ります。 パッシブブザーは​そのような音源が内蔵されていないため、電源を入れただけでは音を鳴らすことはできません。 パッシブブザーは、ある周波数を持つ方形波を入力する必要があります。その周波数が異なると、それに応じた音が発生します。この特徴を利用して、簡単なメロディーを鳴らすことができます。

回路図

パッシブブザーの+端子を8番のPWMピンに接続します。ー端子をGNDに接続します。​あとのプログラムでtone()関数 を使用しますが,その場合、3番と11番ピンのPWM出力が出来なくなります(Mega以外)ので、​プログラムを改造する際は注意してください。​

配線図

ブレッドボードを使用した配線は図のとおりになります。

組立完成写真

実際に組み立てた写真です。同じようにできましたか?​

プログラム

プログラムで音階を扱う際、周波数ではなく文字の方が可読性が上がります。​それを定義したファイルがpitches.hファイルです。これをプログラムの冒頭でincludeで読み込みます。​

​次に、メロディーの配列を作ります。周波数を格納するため、整数のint型を使用します。​NOTE_C5などは、pitches.hファイルで定義されたものです。​

​メインループでは、melody配列の先頭から順にパッシブブザーへ出力します。パッシブブザーへの出力は、tone関数を使うことで簡単に記述できます。​

pitches.hファイルでは、音階と周波数を1対1で対応させて定義しています。もし、この音階名がわかりにくい場合は、自分でファイルを作成して読み込んでも構いません。​

動かしてみよう

プログラムを書き込んで、実際に動かしてみてください。

今回学んだポイント

  1. パッシブブザーは、入力信号の周波数を変えることで、様々な音を出すことができる。​
  2. tone()関数を使用すれば、入力信号を簡単に作成できる。​
  3. 音階と周波数を外部ファイル(pitches.h)で定義すれば、周波数を文字で扱うことができ、プログラムの可読性を上げることができる。

改造してみよう

もう少し理解を深めるために、自分で改造してみてください。​

  1. オリジナルのメロディを作ろう。​
  2. プッシュスイッチを使用して、メロディを切り替えられるようにしよう。
    (参考:ArduinoでSTEM教育​ 基礎編:プッシュスイッチ

Arduino基礎編カテゴリの最新記事