我們已經可以用GPIO控制LED燈一閃一閃亮晶晶了,這樣只有亮和滅的狀態似乎還是太簡單了,能不能對LED的亮度進行調整呢?
當然沒問題,這就要用到接下來學習的PWM脈沖寬度調制了。
PWM脈沖寬度調制原理
在GPIO的數字輸入和輸出模式中,只有高低電平,高電平一般是3.3V或者5V,低電平就是0V,如果我想要一個折中一點的電壓怎么辦呢?PWM大家了解一下。
PWM,全稱是脈沖寬度調制,是一種對模擬信號電平進行數字編碼的方法,通過高分辨率計數器,調制出一定占空比的方波,通過這種方式對模擬信號的電平進行編碼。
通俗點來說,如果我們有一個10W的燈泡,在一個小時中亮了半個小時,那我們宏觀來看,它在這一個小時中的功率就是5W,這樣就相當于是它的電壓被降低了。而我們還可以通過改變這一個小時中,燈泡被點亮的時長,來等效出不同的電壓。
然后,我們把一個小時縮短為很小的一個時間,到達一定的微分程度,表現出來的就是電壓的變化,而這個很小的時間,就是PWM頻率的倒數,被點亮的時間在這個很小的時間中所占的百分比就叫做占空比。
這里大家也要注意,雖然PWM在盡力呈現出模擬信號的樣子,但本質還是數字信號,因為在給定的某一任何時刻,引腳只能高電平或者低電平。
通過PWM技術,可以讓數字電路產生類似模擬信號的效果,從而實現類似的無級控制,比如風扇的轉速,或者屏幕的亮度,很多都是通過PWM技術實現的調節。
-
led
+關注
關注
242文章
23286瀏覽量
661068 -
PWM
+關注
關注
114文章
5190瀏覽量
214038 -
GPIO
+關注
關注
16文章
1204瀏覽量
52125 -
高電平
+關注
關注
6文章
149瀏覽量
21399
發布評論請先 登錄
相關推薦
評論