ArduinoではTone()という関数を使って簡単に音を出す(ピンから矩形波を出す)ことが可能です。
Tone()を連ねることで曲を演奏することができるので、ダースベイダーのテーマのようなメジャーな曲は”arduino darth vader” とかでググるといっぱい出てきます。
たとえばこちら。
ピンから矩形波を出しているだけなので、当然電磁リレーも駆動できるのですが、Tone()は通常ピエゾスピーカーから音を出すことを想定して使われているのでリレーには周波数が高すぎます。
そこでオクターブをさげて演奏してみます。
void beep(int note, int duration)
{
//Play tone on buzzerPin
tone(buzzerPin, note, duration);
//Play different LED depending on value of 'counter'
のようにbeep() の中でtone()を呼んでいるので、その前に
3オクターブほど下げてみます。
void beep(int note, int duration)
{
note >>= 3; // <-
//Play tone on buzzerPin
tone(buzzerPin, note, duration);
//Play different LED depending on value of 'counter'
するといい感じにダースベイダーが出てきそうな音がでます。
もちろんリレーなので音に合わせてLチカもできます。