PWMとは、電圧を上下させる代わりに、HIGH/LOWの比率を変化させる事で
モーターの回転数を制御する仕組み。
![]() |
回転数 速い |
![]() |
回転数 遅い |
ArduinoのデジタルIOピン0〜13のうち、3,5,6,9,10,11の6本がPWMに使用できる。
PWMはアナログ出力を使う。
analogWrite(ピン番号, 0〜255)
#define LED 11
#define SW 6
int val = 0;
int valOld = 0;
int state = 0;
int stateOld = 0;
void setup()
{
pinMode( LED, OUTPUT );
pinMode( SW, INPUT );
}
void loop()
{
val = digitalRead( SW );
if( val == HIGH && valOld == LOW ){
state = 1 - state;
delay(10);
}
valOld = val;
if( state != stateOld ){
if( state == 1 ){
for( int i=0; i<=255; i++){
analogWrite( LED, i );
delay( 10 );
}
} else {
for( int i=255; i>=0; i--){
analogWrite( LED, i );
delay( 10 );
}
}
stateOld = state;
}
}
0 件のコメント:
コメントを投稿