4.1PWMでブザーを鳴らそう


 4.1 PWMでブザーを鳴らそう

PWMを使って圧電スピーカでをブザー音を出します。
PWMは周波数を変えることが出来ますので、ドレミ等の音を出すことも出来ます。

(1) ブザーの回路を作ろう

①組立

下の配線図、回路図をみて、回路を組立て下さい。

 

raspi_4.1_1s raspi_4.1_2s

(2) ブザーを鳴らそう

①電源を入れます。

RaspberryPiB+にACアダプタを繋ぎ、電源を入れます。

②ログインします。

Raspbianが立ち上がったら、ログインして下さい。

③「nano」エディター立ち上げます。

「nano rpi_bp_pwm_bz1_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。

サンプルプログラム

④入力を終わります。

「ctrl+X」を実行します。
次に、「y/n」は「enter」を入れます。

⑤入力したプログラムを実行します。

「sudo python rpi_bp_pwm_bz1_1.py」を実行します。

*ブザーが最初は1KHzでなります。約3秒後に500Hzに変わります。
最後にデューティが10%になり音色が変わります。
その後に、「bz1b done」のメッセージが出ます。

raspi_code_4.1_1

(2) 部品を作ろう

ブザーの初期化、開始、停止、周波数変更、デューティ変更を部品(関数)にします。

①「nano」エディター立ち上げます。

「nano rpi_bp_pwm_bz1a_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。

②プログラムを入れます

サンプルプログラムj

入力を終わります。

③「ctrl+X」を実行します。

次に、「y/n」は「enter」を入れます。

④入力したプログラムを実行します。

「sudo python rpi_bp_pwm_bz1a_1.py」を実行します。

*ブザーが最初は1KHzでなります。
約3秒後に500Hzに変わります。
最後にデューティが10%になり音色が変わります。
その後に、「bz1a done」のメッセージが出ます。

raspi_code_4.1_2

(3) モジュールを使おう

(2)で作った部品(関数)の入ったファイルをモジュールとして使います。

①「nano」エディター立ち上げます。

「nano rpi_bp_pwm_bz1b_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。

②プログラムを入れます

サンプルプログラム

③入力を終わります。

「ctrl+X」を実行します。
次に、「y/n」は「enter」を入れます。

④入力したプログラムを実行します。

「sudo python rpi_bp_pwm_bz1b_1.py」を実行します。
*ブザーが最初は1KHzでなります。
約3秒後に500Hzに変わります。
最後にデューティが10%になり音色が変わります。
その後に、「bz1b done」のメッセージが出ます。

raspi_code_4.1_3

(4) ドレミをならそう

ドレミファの周波数をリストを使って作ります。
*Pythonの新しい命令を使います。
*リスト
*書き方
変数名=[要素0、要素1、…、]
使用例:
doremi = [220.0, 246.9, 277.2, 293.7, 329.6 ,370.0, 415.3, 440.0]
*変数名に使える文字は「アルファベット」、「数字」、「_」の3種類の半角文字になります。
また、最初の文字はは「アルファベット」、のみです。

①「nano」エディター立ち上げます。

「nano rpi_bp_pwm_bz1c_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。

②プログラムを入れます

サンプルプログラム

入力を終わります。

③「ctrl+X」を実行します。
次に、「y/n」は「enter」を入れます。

④入力したプログラムを実行します。
「sudo python rpi_bp_pwm_bz1c_1.py」を実行します。

raspi_code_4.1_4

(5) 記号でドレミをならそう

辞書型を使って、”Do”,”Re”,”Mi”で演奏が出来るようにします。

*Pythonの新しい命令を使います。
*辞書型
*書き方
変数名={キー0:要素0、キー1:要素1、…}
使用例:
doremi = {“Do”:220.0, “Re”:246.9, “Mi”:277.2, “Fa”:293.7, “Sol”:329.6 ,”La”:370.0, “Si”:415.3, “D0_”:440.0}
*変数名に使える文字は「アルファベット」、「数字」、「_」の3種類の半角文字になります。
また、最初の文字はは「アルファベット」、のみです。

①「nano」エディター立ち上げます。

「nano rpi_bp_pwm_bz1d_1.py」コマンドを実行して下さい。

画面が「nano」エディターの画面に変わります。

②プログラムを入れます

サンプルプログラム

③入力を終わります。

「ctrl+X」を実行します。
次に、「y/n」は「enter」を入れます。

④入力したプログラムを実行します。

「sudo python rpi_bp_pwm_bz1d_1.py」を実行します。

raspi_code_4.1_5

⑤電源をきります。

「sudo shutdown -h now」を入力して下さい。

*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。

raspi_code_4.1_6

Leave a comment

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