呼吸燈是指燈光在微電腦的控制之下完成由亮到暗的逐漸變化,感覺好像是人在呼吸。其廣泛應用于手機之上,并成為各大品牌新款手機的賣點之一,起到一個通知提醒的作用。
廣泛應用于手機之上,并成為各大品牌新款手機的賣點之一。如果你的手機里面有未處理的通知,比如說未接來電,未查收的短信等等,呼吸燈就會由暗到亮的變化,像呼吸一樣那么有節奏,起到一個通知提醒的作用。
電子愛好者可通過簡單的電路來實現呼吸燈的效果。
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
}