呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。其广泛应用于手机之上,并成为各大品牌新款手机的卖点之一,起到一个通知提醒的作用。
广泛应用于手机之上,并成为各大品牌新款手机的卖点之一。如果你的手机里面有未处理的通知,比如说未接来电,未查收的短信等等,呼吸灯就会由暗到亮的变化,像呼吸一样那么有节奏,起到一个通知提醒的作用。
电子爱好者可通过简单的电路来实现呼吸灯的效果。
Arduino光敏电阻调节呼吸灯
测试PWM做呼吸灯,以及用光敏电阻做达文西呼吸灯,并输出串口光敏AD值,可作为智能家居中,卧室慢慢亮起的地灯,或根据室内光线调节光亮等效果。
呼吸灯:
[plain] view plain copyvoid setup ()
{
pinMode(13,OUTPUT);
}
void loop()
{
for (int a=1; a《=100;a++) //循环语句,控制PWM亮度的增加
{
analogWrite(13,a);
delay(20); //当前亮度级别维持的时间,单位毫秒
}
for (int a=100; a》=1;a--) //循环语句,控制PWM亮度减小
{
analogWrite(13,a);
delay(20); //当前亮度的维持的时间,单位毫秒
}
delay(500); //完成一个循环后等待的时间,单位毫秒
}
左边是LED呼吸灯,右边是光敏电阻。
[plain] view plain copy#define ADpin A0
#define LED 13
int ADBuffer = 0;
void setup()
{
pinMode(LED,OUTPUT);
Serial.begin(9600); //波特率9600
}
void loop()
{
ADBuffer = analogRead(ADpin); //读取AD值
Serial.print(“GMAD = ”);
Serial.println(ADBuffer);
if(ADBuffer 《 180) //ADBuffer值大于设定值,相当于光照强度小于设定值
{
for (int a=1; a《=100;a++) //循环语句,控制PWM亮度的增加
{
analogWrite(LED,a);
delay(20); //当前亮度级别维持的时间,单位毫秒
}
for (int a=100; a》=1;a--) //循环语句,控制PWM亮度减小
{
analogWrite(13,a);
delay(20); //当前亮度的维持的时间,单位毫秒
}
delay(500);
}
else
{
digitalWrite(LED,LOW); //关闭LED
}
delay(500); //延时500ms
}