• 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

microbit:画像の表示・作成・オフセット・スクロール・変数保存の方法

2021年1月13日 By STEMSHIP

microbit:文字列の長さ・結合・比較・切取・位置・数値変換の方法

2021年1月6日 By STEMSHIP

XBee無線ネットワーク:XBee-ZBメッシュネットワークの構築①

2021年4月6日 By STEMSHIP

XBee無線ネットワーク:XBeeワイヤレスチャットルームを作る

2020年12月30日 By STEMSHIP

XBee無線ネットワーク:MicroPythonについて

2020年12月23日 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 (7)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

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

Footer

最近の投稿

  • XBee無線ネットワーク:XBee-ZBメッシュネットワークの構築①
  • microbit:エッジコネクタを使用して外部入出力を制御する方法1
  • microbit:画像の表示・作成・オフセット・スクロール・変数保存の方法
  • microbit:文字列の長さ・結合・比較・切取・位置・数値変換の方法
  • XBee無線ネットワーク:XBeeワイヤレスチャットルームを作る

タグ

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

Search

2021年4月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
2627282930  
« 1月    

Copyright © 2021 · STEMSHIP.COM