本设计可用于监测环境温度以及各种设备仪器的温度监测。根据设定的不同阈值,在初温下,蓝灯亮起,呈呼吸灯状态;若温度升高到一定程度,黄灯警示亮起,呈常亮状态;当温度超过极限值后,系统发出蜂鸣警报,且红、黄、蓝依次进行爆闪,给用户以警示。此系统在经过改装后可用于多种场合,方便高效。可供初学者交流。
需要器材:
红色M5 直插LED*1
黄色M5 直插LED*1
蓝色M5 直插LED*1
蜂鸣器*1
220Ω直插电阻*1
面包板*1
面包板跳线*1 扎
下一步根据原理图连线
:

代码如下:
#define LED_GREEN 9//定义与绿灯连接的引脚 #define LED_YELLOW 10//定义与黄灯连接的引脚 #define LED_RED 11//定义与红灯连接的引脚 int buzzer=8;//设置控制蜂鸣器的数字IO脚 void setup() { unsigned char j; for(j=9;j<=11;j++)//设置与红绿黄灯连接的引脚为输出模式 { pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUTPUT为辒出 pinMode(j,OUTPUT); } } void loop() { int i; while(1) { i=analogRead(0);//读取温度传感器电压值 if(i>41&&i<45)//温度在20~30度之间 { digitalWrite(LED_GREEN,HIGH);//绿灯亮 for (int a=0, b=255;a<=255,b>=0;a++,b-- ) { analogWrite(9,a); analogWrite(6,b); delay(8); } delay(800); for (int a=255,b=0;a>=0,b<=255;a--,b++ ) { analogWrite(9,a); analogWrite(6,b); delay(10); } delay(800); digitalWrite(LED_YELLOW,LOW);//黄灯灭 digitalWrite(LED_RED,LOW);//红灯灭 digitalWrite(buzzer,LOW);//不发声音 } else if(i>=45&&i<51)//温度在30~40度之间 { digitalWrite(LED_YELLOW,HIGH);//黄灯亮 digitalWrite(LED_GREEN,LOW);//绿灯灭 digitalWrite(LED_RED,LOW);//红灯灭 digitalWrite(buzzer,LOW);//不发声音 } else//温度在20度以下和40度以上 { digitalWrite(LED_RED,HIGH);//红灯亮 delay(100); //延时1 秒 digitalWrite(LED_RED, LOW); //红灯灭 delay(10); // 延时1 秒 digitalWrite(LED_YELLOW,HIGH);//黄灯亮 delay(100); //延时1 秒 digitalWrite(LED_YELLOW, LOW); //黄灯灭 delay(10); // 延时1 秒 digitalWrite(LED_GREEN,HIGH);//绿灯亮 delay(100); //延时1 秒 digitalWrite(LED_GREEN, LOW); //绿灯灭 delay(10); // 延时1 秒 digitalWrite(buzzer,HIGH);//发声音 for(i=0;i<80;i++)//辒出一个频率的声音 { digitalWrite(buzzer,HIGH);//发声音 delay(1);//延时1ms digitalWrite(buzzer,LOW);//不发声音 delay(1);//延时ms } for(i=0;i<100;i++)//辒出另一个频率癿声音 { digitalWrite(buzzer,HIGH);//发声音 delay(2);//延时2ms digitalWrite(buzzer,LOW);//不发声音 delay(2);//延时2ms } } } }
|