「音を鳴らせてみる」−圧電スピーカーを使ってみる

回路
圧電スピーカーの足の長い方を50~100Ωを介してデジタルピン8に接続し、もう片方をGNDに接続する。

プログラム
以下のスケッチをコンパイルしてアップロードします。

「単純な電子音」

int val=0;

void setup(){
  pinMode(8,OUTPUT);
}

void loop(){
  val=500;
  digitalWrite(8,HIGH);
  delayMicroseconds(val);
  digitalWrite(8,LOW);
  delayMicroseconds(val);
}

「簡単な演奏」
File>Examples>2.Digital>toneMelody を表示し書き換えます
プログラムを保存したり、一から書き換える場合はarduinoIDEをインストールした場所(arduino-1.0-windows\arduino-1.0\examples\2.Digital\toneMelody)などからpitches.hファイルをコピーする必要があります。

//音階 †
//C   D  E  F    G   A  B
//ド  レ ミ ファ ソ ラ  シ
//0は休符。
//アルファベットの横の数字はオクターブの指定。
//よって低いドはC4、高いドはC5と書く。
//↑
//打ち込み方
//
//例:きらきら星
#include "pitches.h"
int melody[] = {
  NOTE_C4, NOTE_C4,NOTE_G4, NOTE_G4, NOTE_A4,NOTE_A4, NOTE_G4, 
  NOTE_F4, NOTE_F4,NOTE_E4,NOTE_E4,NOTE_D4,NOTE_D4,NOTE_C4, 
  NOTE_G4,NOTE_G4,NOTE_F4,NOTE_F4,NOTE_E4,NOTE_E4,NOTE_D4,
  NOTE_G4,NOTE_G4,NOTE_F4,NOTE_F4,NOTE_E4,NOTE_E4,NOTE_D4,
  NOTE_C4, NOTE_C4,NOTE_G4, NOTE_G4, NOTE_A4,NOTE_A4, NOTE_G4,
  NOTE_F4, NOTE_F4,NOTE_E4,NOTE_E4,NOTE_D4,NOTE_D4,NOTE_C4,};

int noteDurations[] = {
  4,4,4,4,4,4,2,
  4,4,4,4,4,4,2,
  4,4,4,4,4,4,2,
  4,4,4,4,4,4,2,
  4,4,4,4,4,4,2, 
  4,4,4,4,4,4,2,};

void setup() {
    for (int thisNote = 0; thisNote < 42; thisNote++) {
    int noteDuration = 1000/noteDurations[thisNote];
    tone(8, melody[thisNote],noteDuration);
    int pauseBetweenNotes = noteDuration * 1.30;
    delay(pauseBetweenNotes);
  }
}

void loop() {
}