小猪学arduino—蜂鸣器的使用

上一篇,我们学习了如何使用开关控制led灯,这一次,我们学习一下如何使用蜂鸣器。

蜂鸣器的使用方式和原理与led完全相同,高电平就发出声音,底电平静音,迅速的给高低电平就能发出滴滴类的声音。我们直接使用上一次的连线方法,把端口2位置的led换成蜂鸣器,把端口2的单次高电平改为20ms间隔的滴滴声。

由于连线图除2端口的led变为蜂鸣器外其它无变化就不上图了,代码调整如下:

int onoffPin = 9;//开关输入端口
int flickerPin = 8; //闪烁端口
int buzzerPin = 2; //蜂鸣器端口
int orderPin = 3; //顺序亮起起始端口
int orderLen = 5; //顺序亮起端口个数
int i=0;
void setup() {
	//开关端口初始化
	pinMode(onoffPin, INPUT);
	//闪烁端口初始化
	pinMode(flickerPin, OUTPUT);
	//蜂鸣器端口初始化
	pinMode(buzzerPin, OUTPUT);
	//顺序亮起端口初始化
	for(i= orderPin;i<orderPin+orderLen;i++){
		pinMode(i, OUTPUT);
	}
}

void loop() {
	int var = digitalRead(onoffPin);//读取开关端口电瓶值
	if(var==LOW){
		//闪烁端口熄灭
		digitalWrite(flickerPin, HIGH);
		delay(500);
		digitalWrite(flickerPin, LOW);
		//顺序端口熄灭
		for(i= orderPin;i<orderPin+orderLen;i++){
			digitalWrite(i, LOW);
		}
		delay(1000);
	}else{//否则,执行闪烁灯闪烁,其他端口灯顺序亮起
		//闪烁端口亮起
		digitalWrite(flickerPin, LOW);
		delay(500);
		digitalWrite(flickerPin, HIGH);
		delay(500);

		//蜂鸣器间歇响起
		for(i=0;i<30;i++){
			digitalWrite(buzzerPin,HIGH);
			delay(20);
			digitalWrite(buzzerPin,LOW);
			delay(20);
		}

		//顺序端口亮起
		for(i= orderPin;i<orderPin+orderLen;i++){
			digitalWrite(i, HIGH);
			delay(100);
		}
		delay(1000);
	}
}

yan 2016.8.28 18:28

欢迎关注下方“非著名资深码农“公众号进行交流~

One thought on “小猪学arduino—蜂鸣器的使用

发表评论

邮箱地址不会被公开。