PDF    SVG



#define  SPK  8
void  setup( ) {
    tone(SPK, 262);
}
void loop()
{
}

示波器 看波形

改成  tone(SPK, 700);

改成  tone(SPK, 1000);

試試


#define  SPK  8
#define  Do  262
void  setup( ) {
    tone(SPK, Do);
}
void loop()
{
}
#define  SPK  8
int  Do=262;
void  setup( ) {
    tone(SPK, Do);
}
void loop()
{
}









救護車
低頻頻率700赫茲(650赫茲至750赫茲),持 續時間0.4秒
高頻頻率1000赫茲(900赫茲至1000赫茲),持續時間0.6秒
高、低頻二者交替進行


// 700Hz 0.4秒 (400ms)
// 1000Hz 0.6秒 (600ms)


#define SPK  8
void setup()
{ 
}

void loop() {
  tone(SPK,700);
  delay(400);
  tone(SPK,1000);
  delay(600);
 }








int   Do=262;  //#define Do 262 
int   DoS=277;//#define Dos 277


使用tone函式   D3,D11 PWM無法使用


#define  SPK  8
void  setup( )
 {
    tone(SPK, 262,2000);
  }
void loop() { }


#define   SPK  8

//int   Do=262;
//int   Re=294;

#define Do 262
#define Re 294

void  setup()
{

    tone(SPK,Do,1000); 
    tone(SPK,Re,1000);
}

void   loop(){}


#define  SPK   8

#define   Do  262
#define   Re  294

void  setup(){
   tone(SPK,Do,1000); 
   delay(2000);
   tone(SPK,Re,1000);
   //delay(2000);
}

void   loop(){}


#define   SPK   8

#define Do  262
#define Re  294

void  setup(){
   tone(SPK,Do,1000); 
   delay(2000);
   tone(SPK,Re,1000);
   //delay(2000);
}

void   loop(){}

#define   SPK   8

#define   Do   262
#define   Re   294

void  setup(){ }

void   loop(){
   tone(SPK,Do,1000); 
   delay(2000);
   tone(SPK,Re,1000);
   //delay(2000);
}



不連音


#define   SPK   8

#define   Do  262
#define   Re  294
#define   Mi   330

void  setup(){   }

void   loop(){

   tone(SPK,Do,1000); 
   delay(1300);
   tone(SPK,Re,1000);
   delay(1300);
   tone(SPK,Mi,1000);
   delay(1300);

}

#define   SPK   8

#define   Do  262
#define   Re  294
#define   Mi   330

int bt=1000;

void setup(){ }

void loop(){

  tone(SPK,Do,bt);
  delay(bt*1.3);
  tone(SPK,Re,bt);
  delay(bt*1.3);
  tone(SPK,Mi,bt);
  delay(bt*1.3);

}


#define   SPK   8

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   1000    // 每分鐘60拍 , 一拍1000ms
#define   bt1_4   bt/4
#define   bt1_8   bt/8


void setup(){
 
}

void loop() {

  tone(SPK,Do,bt1_4 );
  delay(bt1_4*1.3);
  tone(SPK,So/2,bt1_8 );
  delay(bt1_8*1.3);
  tone(SPK,So/2,bt1_8 );
  delay(bt1_8*1.3);
  tone(SPK,La/2,bt1_4 );
  delay(bt1_4*1.3);
  tone(SPK,So/2,bt1_4 );
  delay(bt1_4*1.3);
  tone(SPK,0,bt1_4 );
  delay(bt1_4*1.3);
  tone(SPK,Si/2,bt1_4 );
  delay(bt1_4*1.3);
  tone(SPK,Do,bt1_4 );
  delay(bt1_4*1.3);

  noTone(SPK);
  delay(5000);

}



函式 (function)


#define   SPK   8

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   1000 //一拍1000ms
#define   bt1_4   bt/4
#define   bt1_8   bt/8
//定義函式***********
void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}
//***************
void setup(){ }

void loop(){

   note(SPK,Do,bt1_4 );//呼叫函式
   note(SPK,So/2,bt1_8 );
   note(SPK,So/2,bt1_8 );
   note(SPK,La/2,bt1_4 );
   note(SPK,So/2,bt1_4 );
   note(SPK,0,bt1_4 );
   note(SPK,Si/2,bt1_4 );
   note(SPK,Do,bt1_4 );

  noTone(SPK);
  delay(5000);

}

 

 

pdf svg




#define   SPK   8

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   1000 //一拍1000ms
#define   bt2    bt*2
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

int scale[ ] = { Do, So/2,So/2, La/2, So/2,0, Si/2, Do };
int bts[ ] = { bt1_4, bt1_8, bt1_8,bt1_4,bt1_4,bt1_4,bt1_4,bt1_4 }; 
int sNo=sizeof(scale)/sizeof(int);

void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}

void setup(){ }

void loop(){

  note(SPK, scale[0],bts[0]);
  note(SPK, scale[1],bts[1]);
  note(SPK, scale[2],bts[2]);
  note(SPK, scale[3],bts[3]);
  note(SPK, scale[4],bts[4]);
  note(SPK, scale[5],bts[5]);
  note(SPK, scale[6],bts[6]);
  note(SPK, scale[7],bts[7]);

  noTone(SPK);
  delay(5000);
  }


//範例:使用 for 迴圈

#define  SPK  8

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   1000 //一拍1000ms
#define   bt2    bt*2
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

int scale[ ] = { Do, So/2,So/2, La/2, So/2,0, Si/2, Do };
int bts[ ] = { bt1_4, bt1_8, bt1_8,bt1_4,bt1_4,bt1_4,bt1_4,bt1_4 }; 
int sNo=sizeof(scale)/sizeof(int);
void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}

void setup(){ }

void loop(){

  for (int k = 0; k < sNo; k++)
    {
       note(SPK, scale[k],bts[k]);
    }

 noTone(SPK);
 delay(5000);

}



#define  SPK  8
#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   1000 //一拍1000ms
#define   bt2    bt*2
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

int scale[ ][2] = {
{Do,bt1_4},{So/2,bt1_8},
{So/2,bt1_8},{La/2,bt1_4},
{So/2,bt1_4},{0,bt1_4},
{Si/2,bt1_4},{Do,bt1_4}
};

int sNo=sizeof(scale)/2/sizeof(int);

void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}

void setup(){ }

void loop(){

  for (int k = 0; k < sNo; k++)
    {
       note(SPK, scale[k][0],scale[k][1]);
    }

 noTone(SPK);
 delay(5000);

}


#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define  SPK  8
#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494
#define   bt   1000 //一拍1000ms
#define   bt2    bt*2
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

LiquidCrystal_I2C lcd(0x3F,16,2);
int scale[ ][2] = { {Do,bt1_4},{So/2,bt1_8},{So/2,bt1_8},{La/2,bt1_4},{So/2,bt1_4},{0,bt1_4}
,{Si/2,bt1_4},{Do,bt1_4} };

int sNo=sizeof(scale)/2/sizeof(int);

void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}

void setup(){
  lcd.init();
  lcd.backlight();
  }

void loop(){

  for (int k = 0; k < sNo; k++)
    {
       //lcd.setCursor(0,0);      
       lcd.print(scale[k][0]);
       lcd.print(" ");
       note(SPK, scale[k][0],scale[k][1]);
    }

 noTone(SPK);
 delay(5000);

}




//音樂與閃燈

#define SPK   8
#define ledR   7

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   1000 //一拍1000ms
#define   bt2    bt*2
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

int flag=1;

int scale[ ][2] = {
{Do,bt1_4},{So/2,bt1_8},
{So/2,bt1_8},{La/2,bt1_4},
{So/2,bt1_4},{0,bt1_4},
{Si/2,bt1_4},{Do,bt1_4}
};
int sNo=sizeof(scale)/2/sizeof(int);

void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}

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

void loop(){

  for (int k = 0; k < sNo; k++)
    {
       note(SPK, scale[k][0],scale[k][1]);
       digitalWrite(ledR,flag);
       flag=1-flag;
    }

 noTone(SPK);
 delay(5000);

}


//重複唱兩次

#define  SPK  8

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   1000 //一拍1000ms
#define   bt2    bt*2
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

int repeat=2;

int scale[ ][2] = {
{Do,bt1_4},{So/2,bt1_8},
{So/2,bt1_8},{La/2,bt1_4},
{So/2,bt1_4},{0,bt1_4},
{Si/2,bt1_4},{Do,bt1_4}
};
int sNo=sizeof(scale)/2/sizeof(int);

void note(int pin,int DoReMi,int dur )
{
tone(pin, DoReMi,dur);
delay(dur*1.3);
}

void setup(){

for (int m=0;m<repeat;m++){

  for (int k = 0; k < sNo; k++)
   {
      note(SPK, scale[k][0],scale[k][1]);
   }

  noTone(SPK);
  delay(5000);
}

}

void loop(){}

DoSo3.zip



#define  SPK  8

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

//#define   bt   1000 //一拍1000ms

#define   bt   500 //一拍500ms
#define   bt2    bt*2
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

int repeat=2;

int scale[ ] [2]= {
{Do,bt},{Do,bt},{So,bt},{So,bt},{La,bt},{La,bt},{So,bt2},
{Fa,bt},{Fa,bt},{Mi,bt},{Mi,bt},{Re,bt},{Re,bt},{Do,bt2},
{So,bt},{So,bt},{Fa,bt},{Fa,bt},{Mi,bt},{Mi,bt},{Re,bt2},
{So,bt},{So,bt},{Fa,bt},{Fa,bt},{Mi,bt},{Mi,bt},{Re,bt2},
{Do,bt},{Do,bt},{So,bt},{So,bt},{La,bt},{La,bt},{So,bt2},
{Fa,bt},{Fa,bt}, {Mi,bt},{Mi,bt},{Re,bt},{Re,bt},{Do,bt2}
};

int sNo=sizeof(scale)/2/sizeof(int);

void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}

void setup(){
  pinMode(SPK,OUTPUT);
  for (int ik=0;ik<repeat;ik++){

     for (int ii = 0; ii < sNo; ii++)
       {
          note(SPK, scale[ii][0],scale[ii][1]);
       }

     delay(2000);
  }
}

void loop(){}

Lstar1.zip


總鋪師 主題曲

#define  SPK 8

#define   Do  262
#define   Re  294
#define   Mi   330
#define   Fa   349
#define   So   392
#define   La   440
#define   Si    494

#define   bt   500 //每分鐘120拍 , 一拍500ms
#define   bt2    bt*2
#define   bt4    bt*4
#define   bt1_2   bt/2
#define   bt1_4   bt/4
#define   bt1_8   bt/8

int repeat=1;

int scale[][2] ={
{So,bt*1.5},{So,bt1_2}, {Mi*2,bt}, {Re*2,bt1_2}, {Do*2,bt1_2}, {Mi,bt},{Re,bt1_2},{Mi,bt1_2},{So,bt2},{Mi*2,bt*1.5},{Re*2,bt1_2},{Do*2,bt},{La,bt1_4},{So,bt1_4},{Mi,bt1_2},{So,bt4}
};

int sNo=sizeof(scale)/2/sizeof(int);

void note(int pin,int DoReMi,int dur )
{
  tone(pin, DoReMi,dur);
  delay(dur*1.3);
}

void setup(){
pinMode(SPK,OUTPUT);

for(int i=0;i<repeat;i++)
{
for (int ii = 0; ii < sNo; ii++) {
note(SPK, scale[ii][0],scale[ii][1]);
}
delay(1000);
}
}
void loop() {}
flower38a.zip


消防車

低頻頻率650赫茲至750赫茲,
高頻頻率1450赫茲至1550赫茲,
由低頻升至高頻時間1.5 秒,
再由高頻降至低頻為3.5秒



#define SPK  8
int fL=700;
int fH=1500;
int fStep=10;
int dtL2H=1500/(1500-700)*fStep;
int dtH2L=3500/(1500-700)*fStep;
void note(int pin,int DoReMi,int duration )
{
  tone(pin, DoReMi,duration);
  delay(duration);
}
void setup() {
  pinMode(SPK,OUTPUT);
}

void loop() {

for (int f=700;f<=1500;f=f+fStep){
  note(SPK,f,dtL2H);
}

for (int f=1500;f>=700;f=f-fStep){
  note(SPK,f,dtH2L);
}


}

 

fireEngine2.zip


警車
以低頻頻率650赫茲至750赫茲,
高頻頻率1450赫茲至1550赫茲,
由低頻升至高頻時間0.23秒,
再由高頻降至低頻為0.1秒


#define  SPK  8
int freq;
void setup() {
pinMode(SPK,OUTPUT);
}

void loop() {
freq=700;
while(freq<=1500){
tone(SPK,freq,3);
delay(3);
freq=freq+10;
}
while(freq>=700){
tone(SPK,freq,1);
delay(1);
freq=freq-10;
}

}

 

police.zip


內 政部版警報聲