2016年2月28日 星期日

Arduino UNO學習151.PWM呼吸燈



Arduino學習151.PWM呼吸燈

Arduino內建範例中有呼吸燈程式,檔案>範例>Basics>Fade,
此學習則使用ArduBlock來編寫呼吸燈
 
注意數位腳位有標示著~的3,5,6,9,10,11腳位,才有PWM訊號功能,
PWM是輸出模擬類比訊號,讓數位訊號不再只是開和關,
在積木上主要讓輸出值在0~255之間逐加,255時再逐減輸出值,
因此用到許多的數學運算,當正數*-1時轉為負數,當負數*-1時轉為正數,

上傳程式後LED燈是否是漸亮後再漸暗,試著比對Arduino的內建範例,
檔案>範例>Basics>Fade,比較2個程式的差異,
把硬體和軟體腳位改為D8非PWM腳位,比較其差別,

int _ABVAR_1_Bright = 0 ;
int _ABVAR_2_Fade = 0 ;

void setup()
{
  pinMode( 9 , OUTPUT);
  _ABVAR_1_Bright = 0 ;

  _ABVAR_2_Fade = 5 ;

}

void loop()
{
  analogWrite(9 , _ABVAR_1_Bright);
  _ABVAR_1_Bright = ( _ABVAR_1_Bright + _ABVAR_2_Fade ) ;
  if (( ( ( _ABVAR_1_Bright ) == ( 0 ) ) || ( ( _ABVAR_1_Bright ) == ( 255 ) ) ))
  {
    _ABVAR_2_Fade = ( _ABVAR_2_Fade * -1 ) ;
  }
  delay( 30 );
}


沒有留言:

張貼留言