Q A &在Arduino中輕松實現(xiàn)脈寬調(diào)制(PWM) 脈寬調(diào)制( PWM ) 信號基本上是一個方波,可在導通(高)和關斷(低)狀態(tài)之間切換。PWM信號的占空比和頻率用于確定PWM信號控制目標的動作。
PWM信號的 占空比 是指信號處于高電平(導通)狀態(tài)的時間與完成一個周期所需的總時間之比,通常用百分比或比率來表示。
50%的占空比意味著,高電平狀態(tài)占據(jù)一半的時間,低電平狀態(tài)占據(jù)另一半時間。這與理想的方波相同。如果該比率大于50%,則邏輯高電平信號在周期中占用的時間比邏輯低電平多,反之亦然。因此,100%占空比表示信號始終處于導通狀態(tài)(滿量程),0%占空比表示信號始終處于關斷狀態(tài)(接地)。
可在Arduino上通過各種方式輕松實現(xiàn)PWM。下面這款Seeeduino板就是很好的學習和評估板。它基于ATmega328P單片機且與Arduino相兼容。
該板上包含6個引腳(即引腳3、5、6、9、10、11),可以輸出帶有 analogWrite() 函數(shù)的PWM波。調(diào)用 analogWrite() 函數(shù),即可在PWM引腳上生成具有指定占空比的穩(wěn)定方波。一般來說,這些引腳的頻率在490Hz左右,而Seeeduino或類似板的引腳5和6的頻率為980Hz。
Arduino引腳的輸出電壓為5V,不同的占空比輸出的電壓電平各不相同,具體如下所示:
應用示例:調(diào)節(jié)LED的亮度
在下面這個應用示例中,我們將借助PWM技術,利用Arduino來控制LED的亮度。
硬件連接
軟件
analogWrite()函數(shù)語法:
analogWrite ( pin , value ) ;
該值代表占空比,數(shù)值介于0(關斷)和255(導通)之間。
int ledPin = 9; //LED connected to digital pin 9
void setup (){
pinMode(ledPin, OUTPUT); // sets the pinas output
}
void loop (){
analogWrite(ledPin, 255); //set duty cycleto always on
}
你可以針對不同的輸出將“255”更改為0~255之間的任意數(shù)字,也可以修改代碼以連續(xù)更改該值。
原文標題:在Arduino中輕松實現(xiàn)PWM應用?跟我學,你也行!
文章出處:【微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
PWM
+關注
關注
114文章
5118瀏覽量
213165 -
Arduino
+關注
關注
187文章
6457瀏覽量
186501
原文標題:在Arduino中輕松實現(xiàn)PWM應用?跟我學,你也行!
文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論