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