床頭灯控制(Fade)
Ted Lee@CAVEDU
Feb. 12, 2016
本實驗延伸Ex1_1的Lab1_1_2,將LED的正極由原先接到Arduino第13腳改接到第9腳,並將程式由呼叫digitalWrite()改為呼叫analogWrite()。因為analogWrite()使用變更工作週期(duty cycle)的PWM技術來模擬連續性的類比信号,故能使LED亮度而有漸明/暗的效果,也就是常聽到呼吸灯的由來。
本範例过関後,可獲得LED灯光Fade卡一張。
難易度:易
材料
- LED(Light-Emitting Diode,發光二極体)一顆
- 220W電阻一顆(色环:紅紅棕金)
- 杜邦線2條
- 麵包板一塊
- Arduino Uno R3一塊(本系列文章皆簡稱為Arduino開發版)
- A-B型USB傳輸線一條
程式(Fade.ino)
在Arduino IDE中由Fade File->Examples->1.Basics->Fade開啟Arduino內建的範例程式。
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by
void setup()  {   
  // declare pin 9 to be an output:   
  pinMode(9, OUTPUT);
} 
void loop()  {   
  // set the brightness of pin 9:   
  analogWrite(9, brightness);  
  // change the brightness for next time through the loop:   
  brightness = brightness + fadeAmount;  
  // reverse the direction of the fading at the ends of the fade:   
  if (brightness == 0 || brightness == 255){   
    fadeAmount = -fadeAmount ;   
  }       
  delay(30); // wait for 30 milliseconds to see the dimming effect    
}
流程圖(.vsdx)執行結果
接線圖(.fzz)
高手必練
修改控制LED明滅度fadeAmount的值(例如:5->10),再覌察LED灯的明滅是否有不同變化
 
 
沒有留言:
張貼留言