在Arduino中实现蜂鸣器变频的方法有两种
1、运用tone函数
tone(n,i),n为引脚号,引脚应为PMW接口(即带波浪线),i则为变量实现变频;
int buzzer=9;
int i;
void setup()
{
pinMode(buzzer,OUTPUT);
}
void loop()
{
for(i=0;i<500;i=i+10)
{
tone(9,i);
delay(50);
}
for(i=500;i>0;i=i-10)
{
tone(9,i);
delay(50);
}
noTone(9);
}
2、正常写蜂鸣器代码通过改变i值来变频
int buzzer=9;
int i;
void setup()
{
pinMode(buzzer,OUTPUT);
}
void loop()
{
for(i=0;i<10;i++)
{
digitalWrite(buzzer,HIGH);
delay(100);
digitalWrite(buzzer,LOW);
delay(100);
}
for(i=0;i<100;i++)
{
digitalWrite(buzzer,HIGH);
delay(10);
digitalWrite(buzzer,LOW);
delay(10);
}
for(i=0;i<1;i++)
{
digitalWrite(buzzer,HIGH);
delay(500);
digitalWrite(buzzer,LOW);
delay(5000);
}
}
接线如上图
第二种方法中delay(n),改变n是改变音频,改变i小于的数字则为改变频率;
本人初学,学识浅薄,仅供参考