LED呼吸燈

在介紹呼吸燈的程式之前,要先介紹PWM簡單來說就是靠改變工作週期來達到電壓的變化,假設5V工作週期為50%就只剩下2.5V,若是工作週期為10%電壓就是0.5V,這樣就可以不使用電阻,在數位系統上模擬類比輸出的方式稱為PWM(Pulse Width Modulation)。材料就跟LED亮與滅這篇一樣



電路圖

========================================================================

int ledPin5 = 5;                      //設定D5為LED的連接腳位

void setup()                           //在setup裡面的程式只會執行一次 
{pinMode(5, OUTPUT);}       //將D5設定為輸出



void loop()                            //在LOOP裡面的程式會一直重複執行
{  
     for(int i=0;i<255;i++)       //設定i的起始值為1若是小於255,i就加1
         { 
          analogWrite(5, i);       //類比寫入(腳位,數值0~255)              
          delay(5);                    //延遲5毫秒           
         }


       for(int i=255; i>=0;i--)       //設定i的起始值為255若是大於等於0,i就減1
             { 
              analogWrite(5, i);      //類比寫入(腳位,數值0~255)              
              delay(5);                   //延遲5毫秒   
              }      
            
            delay(200);                  //延遲5毫秒   
             
  }


========================================================================
在ATmega168 OR ATmega328處理器上只有 3,5,6,9,10,11才可使用此功能
而在其中頻率又有分兩種
5,6 (約 1K  Hz)
3,9,10,11(約 500  Hz)