PICSYS24では、1個の圧電サウンダ(あるいは相当品)を任意のI/Oピンに接続し、ビープ音を出力することができます。
圧電サウンダの制御は、基本的に2つの操作で行います。例えばRB0ポートに圧電サウンダを接続した場合、以下の2つの操作を行います。
ビープ音の出力に必要な継続的な出力処理は、PICSYS24が自動的に行います。
出力する数値が7,6,...と小さくなると、ビープ音の周波数が半分(1オクターブ)づつ下がります。
ビープ音を停止させるためには、0を出力します。
exbeep1.c
#include "picsys24.h"
void setup()
{
GLCD_initDefault() ;
pinMode(SOUNDER, OUT_BEEP) ; // ビープ音出力機能の割当
}
void loop()
{
delayMilliseconds(100) ;
if (digitalRead(VSW(0)) == LOW)
digitalWrite(SOUNDER, 8) ;
else if (digitalRead(VSW(1)) == LOW)
digitalWrite(SOUNDER, 7) ;
else if (digitalRead(VSW(2)) == LOW)
digitalWrite(SOUNDER, 6) ;
else if (digitalRead(VSW(3)) == LOW)
digitalWrite(SOUNDER, 5) ;
else
digitalWrite(SOUNDER, 0) ; // ビープ音を停止
}