呼吸燈是指燈光在微電腦的控制之下完成由亮到暗的逐漸變化,感覺好像是人在呼吸。其廣泛應(yīng)用于手機(jī)之上,并成為各大品牌新款手機(jī)的賣點(diǎn)之一,起到一個(gè)通知提醒的作用。
廣泛應(yīng)用于手機(jī)之上,并成為各大品牌新款手機(jī)的賣點(diǎn)之一。如果你的手機(jī)里面有未處理的通知,比如說未接來電,未查收的短信等等,呼吸燈就會由暗到亮的變化,像呼吸一樣那么有節(jié)奏,起到一個(gè)通知提醒的作用。
電子愛好者可通過簡單的電路來實(shí)現(xiàn)呼吸燈的效果。
Arduino光敏電阻調(diào)節(jié)呼吸燈
測試PWM做呼吸燈,以及用光敏電阻做達(dá)文西呼吸燈,并輸出串口光敏AD值,可作為智能家居中,臥室慢慢亮起的地?zé),或根?jù)室內(nèi)光線調(diào)節(jié)光亮等效果。
呼吸燈:
[plain] view plain copyvoid setup ()
{
pinMode(13,OUTPUT);
}
void loop()
{
for (int a=1; a《=100;a++) //循環(huán)語句,控制PWM亮度的增加
{
analogWrite(13,a);
delay(20); //當(dāng)前亮度級別維持的時(shí)間,單位毫秒
}
for (int a=100; a》=1;a--) //循環(huán)語句,控制PWM亮度減小
{
analogWrite(13,a);
delay(20); //當(dāng)前亮度的維持的時(shí)間,單位毫秒
}
delay(500); //完成一個(gè)循環(huán)后等待的時(shí)間,單位毫秒
}
左邊是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值大于設(shè)定值,相當(dāng)于光照強(qiáng)度小于設(shè)定值
{
for (int a=1; a《=100;a++) //循環(huán)語句,控制PWM亮度的增加
{
analogWrite(LED,a);
delay(20); //當(dāng)前亮度級別維持的時(shí)間,單位毫秒
}
for (int a=100; a》=1;a--) //循環(huán)語句,控制PWM亮度減小
{
analogWrite(13,a);
delay(20); //當(dāng)前亮度的維持的時(shí)間,單位毫秒
}
delay(500);
}
else
{
digitalWrite(LED,LOW); //關(guān)閉LED
}
delay(500); //延時(shí)500ms
}