Ardublock 圖形化Arduino – Fade LED呼吸燈

http://lab.cavedu.com/ardublock_fade <- 程式碼請由此下載
玩過定時閃爍之後,來看看怎樣在 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);
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *