• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / Arduino / Arduino基礎編 / ArduinoでSTEM教育​ 基礎編:パッシブブザー

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

2019年10月9日 by STEMSHIP 1 コメント

今回は、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教育​ 基礎編:プッシュスイッチ)

Filed Under: Arduino基礎編 関連タグ:音楽

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2025年5月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 10月    

Copyright © 2025 · STEMSHIP.COM