close

在Arduino Board上的DIGITAL I/O標示有符號「~」表示該pin腳有PWM輸出,以我使用的Arduino UNO上的DIGITAL I/O有6個pin腳有PWM輸出功能

PWM稱為脈波寬度調節,通過控制方波開與關持續的時間的比例就能模擬一個0 ~ 5V之間變化的電壓。

而在Arduino自帶的函數 analogWrite(pin, value)就是透過PWM來模擬0~5V輸出電壓的函式
參數pin就是DIGITAL I/O上標示有~符號的pin
參數value則是0 ~ 255,主要是控制方波輸出高電位的持續時間與關的持續時間的比例,因此value越低,電壓模擬值越低。

下圖可以更瞭解analogWrite()與value之間的關係

程式使用PWM輸出模擬電壓來控制LED的明亮度
功能是一開始從暗->亮->暗循環下去

#include "Arduino.h"

// the setup function runs once when you press reset or power the board
void setup() {
    pinMode(10, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
    {
        for(unsigned char i = 0; i < 255; i += 5)
        {
            analogWrite(10,i);
            delay(50);
        }
    }

    {
        for(unsigned char i = 255; i > 0; i -= 5)
        {
            analogWrite(10,i);
            delay(50);
        }
    }
}

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 凱文先生的部落格 的頭像
    凱文先生的部落格

    凱文的八卦俱樂部小天地

    凱文先生的部落格 發表在 痞客邦 留言(0) 人氣()