analogWrite() 的參數值範圍介於 0 ~255
analogWrite(255) 代表產生 100% duty cyle 的輸出(一直通電),
analogWrite(127) 則是產生 50% duty cycle 的輸出(一半的時間通電,一半的時間斷電)。
Duty Cycle 為每一個週期通電(on) 的時間比例。
假如開車時,在10秒內持續踩油門,速度會達到100 KM
若我單秒踩,雙秒鬆,則10秒後,速度只會達到50KM
若我踩一秒,鬆2秒,則10秒後,速度只會達25 KM
以下程式碼是讓LED燈亮起1/4亮度, 1/2亮度,全亮,每個亮度間隔5秒 不斷循環。
int brightness = 0; // how bright the LED is
void setup() {
// declare pin 9 to be an output:
pinMode(9, OUTPUT);
}
void loop() {
brightness=64;
analogWrite(9, brightness);
delay( 5000);
brightness=127;
analogWrite(9, brightness);
delay(5000);
brightness=255;
analogWrite(9, brightness);
delay(5000);
}
實際影片(拍的不好,多包函)
analogWrite(64)
analogWrite(127)
analogWrite(255)
參考來源:
http://coopermaa2nd.blogspot.tw/2010/12/arduino-lab3-led.html
沒有留言:
張貼留言