PIEZO SPEAKER ON KURUMI
RL78/G13のPWM出力で、圧電スピーカから音を出してみました。
圧電スピーカは、以下の物を使用しました。
圧電スピーカー(圧電サウンダ)(22mm)PKM22EPPH2001-B0
http://akizukidenshi.com/catalog/g/gP-04120/
TAU_PWM_Outputサンプルから改造しました。
タイマーの設定は、TDR00を音階の周波数に、TDR01にその半分の値を入れてデゥーティー比50%のPWM出力を設定しています。 システムクロックは、32MHzで64分周して500kHzをPWMのクロックに使用しました。
A = 440Hzから平均律の計算で各音階の周波数を計算して、カウンタ値を決定しました。
#define _0_A 2273
#define _0_As 2145
#define _0_B 2025
#define _0_C 1911
#define _1_Cs 1804
#define _1_D 1703
#define _1_Ds 1607
#define _1_E 1517
#define _1_F 1432
#define _1_Fs 1351
#define _1_G 1276
#define _1_Gs 1204
#define _1_A 1136 //440Hz
#define _1_As 1073
#define _1_B 1012
#define _2_C 956
#define _2_Cs 902
#define _2_D 851
#define _2_Ds 804
#define _2_E 758
#define _2_F 716
#define _2_Fs 676
#define _2_G 638
#define _2_Gs 602
#define _2_A 568
接続は、TO01のD3を圧電スピーカの+端子に接続し、圧電スピーカの-端子をGNDに接続しただけです。
インターバルタイマで1秒ごとに音階を切り替えるプログラムを作ってみました。
チープな音が出て、それはそれで満足なのですが、単音しか出せないのがちょっと寂しいです。