Ardublock 圖形化Arduino - Fade LED呼吸燈

玩過定時閃爍之後,來看看怎樣在 ArduBlock 中使用 set analog pin 指令(相當於 Arduino 的 AnalogWrite() 語法) 讓 LED 有漸明漸暗的呼吸燈效果。同樣的指令之後也可以用來控制馬達的轉速。
看一下程式:

在 setup 中宣告一個名為 brightness 的數字變數,初始值為0,這是 LED的亮度,範圍為0~255;還有另一個名為 fadeAmount 的數字變數,初始值為5,這是 LED 亮度每次累加(或累減)的量

接著在 loop 中,就把 brightness 指定為 Arduino 數位腳位9 的亮度,接著 brightness  累加5,每次延遲時間為 0.03秒。直到累加到 255 之後,將 fadeAmount 加上負號,這時 LED的亮度就會從 255開始每次累減5,直到 brightness 等於 0時,fadeAmount 又會變回5。這樣就是呼吸燈的效果。

請注意:在此使用#9 是因為 Arduino Uno #9 pin 支援 PWM 控制,如果您將 LED 插在一個不支援 PWM 的腳位的話,本指令會沒有效果。


附上 Arduino Fade 的程式碼,您可以比對一下

int led = 9;           // the pin that the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

void setup()  { 
  pinMode(led, OUTPUT);

void loop()  { 
  analogWrite(led, brightness);    
  brightness = brightness + fadeAmount;

  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  delay(30);                            
}
ċ
Fade.abp
(11k)
曾吉弘,
2014年1月22日 上午9:38
Comments