LED亮度漸隱

2021-08-28 04:41:59 字數 1480 閱讀 2275

本例向你展示如何使用analogwrite()函式來讓led亮度漸變。analogwrite 通過pwm技術(脈寬調變技術)工作,採用pwm技術能夠快速的開關乙個數字引腳,通電的時間和斷電的時間按照一定的比例分配,這樣一來就產生了亮度漸變效果。

【譯者注:想不明白應該去了解下生物學視覺暫留的知識。】

將led陽極(較長腳)通過220ω電阻連線到板上的9號引腳。

連線led陰極(較短腳)到gnd。

setup()函式只需宣告9號引腳為輸出引腳,其他什麼都不做。

呼叫analogwrite()函式(在loop函式內)需要兩個引數:第乙個為要操作的引腳,第二個時要寫出的pwm脈衝寬度值。

為了讓led的熄滅和點亮有漸變效果,你需要逐漸將pwm值從0(全部時間不通電)逐漸增加到255(全部時間通電)。然後,再從255調到0,以完成一輪亮度漸變。在下方的工程中,pwm值用乙個名為brightness的變數儲存。loop函式每執行一次,就將brightness變數的值與fadeamount變數的值相加,並將和再賦給brightness變數。

當brightness變數的值是0或255時,如果發現fadeamount值為-5,它就應被設為5;若為5則設為-5。如此一來,下次進入迴圈時亮度就會跟著由弱轉亮或由亮轉弱。analogwrite()函式能極其快速的改變pwm值,因此在loop函式最後的delay控制了漸變速度。試試看改變delay的時間,看看它如何影響漸變效果。

/*

led亮度漸隱

本例向你展示如何用analogwrite()函式讓9號引腳連線的led亮度漸弱。

analogwrite()函式使用pwm技術,因此如果你想要使用其他引腳接led,一定保證選擇的引腳也支援pwm輸出。大多數arduino板支援pwm的引腳以「~」符號標明.比如: ~3, ~5, ~6, ~9, ~10和~11。

這個例子是公開的。

*/int led = 9; // led連線的pwm引腳

int brightness = 0; // led亮度

int fadeamount = 5; // 亮度每次的變化值

// setup函式在通電或復位後僅執行一次。

void setup()

// loop函式永遠迴圈執行:

void loop()

// 等待30毫秒以讓人眼看出漸變效果

delay(30);

}

LED亮度漸變

led亮度漸變 fade 本示例展示了使用analogwrite 來實現led亮度的漸變。analogwrite採用脈衝寬度調製 pwm 以開關之間的不同比例快速開啟和關閉乙個數字引腳,來打造出漸變效果。需要的硬體 核心 如下 int led 9 led所連線的pwm引腳 int brightnes...

LED亮度調節原理

近年來light emitting diode led 被廣泛用於照明行業,相較於其他光源,led具有諸多優勢 光效高 壽命長 色溫變化小 動態響應快 體積小等。那麼如何才能設計出合理的燈具呢,我來給大家羅列一下led的主要特性。當電流被注入到半導體的pn結時,原子中低能級的電子吸收能量從基態被激發...

控制led 用pwm的方法控制LED亮度

在本課程中,您將學習如何通過電位計來更改led的亮度。電位器實際上是乙個可調的電阻,阻值隨意手柄的轉動而變化,模擬電路中,我們可以將電位器串聯在電路中,改變led亮度。本次實驗,電位器只提供乙個訊號,實際燈的亮度由arduino控制。二 材料準備 1 arduino uno開發板 1 麵包板 若干杜...