主婦に教えるマイコンプログラミング~11限目!~のプログラム

 //主婦に教えるマイコンプログラミング 11限目

//PWMで調光するプログラム


int ledPin = 3;

int button1Pin = 2;

int button2Pin = 4;


int ledBrightness = 0;


void setup() {

  // LEDピンを出力に設定

  pinMode(ledPin, OUTPUT);


  // ボタンピンを入力に設定

  pinMode(button1Pin, INPUT_PULLUP);

  pinMode(button2Pin, INPUT_PULLUP);

}


void loop() {

  // ボタンの状態を読み取る

  int button1State = digitalRead(button1Pin);

  int button2State = digitalRead(button2Pin);


  // ボタン1が押されている間はLEDを明るくする

  if (button1State == LOW) {

    if (ledBrightness < 255) {

      ledBrightness++;

    }

  }


  // ボタン2が押されている間はLEDを暗くする

  if (button2State == LOW) {

    if (ledBrightness > 0) {

      ledBrightness--;

    }

  }


  // LEDの明るさを設定

  analogWrite(ledPin, ledBrightness);


  // 10ms待つ

  delay(10);

}


—------------------------------------------------------------------


課題の解答例

//ボタン1で明るくする

//ボタン2で明かりが消えるプログラム


int ledPin = 3;

int button1Pin = 2;

int button2Pin = 4;


int ledBrightness = 0;


void setup() {

  // LEDピンを出力に設定

  pinMode(ledPin, OUTPUT);


  // ボタンピンを入力に設定

  pinMode(button1Pin, INPUT_PULLUP);

  pinMode(button2Pin, INPUT_PULLUP);

}


void loop() {

  // ボタンの状態を読み取る

  int button1State = digitalRead(button1Pin);

  int button2State = digitalRead(button2Pin);


  // ボタン1が押されている間はLEDを明るくする

  if (button1State == LOW) {

    if (ledBrightness < 255) {

      ledBrightness++;

    }

  }


  // ボタン2が押されたら明かりが消える

  if (button2State == LOW) {

      ledBrightness = 0;

  }


  // LEDの明るさを設定

  analogWrite(ledPin, ledBrightness);


  // 10ms待つ

  delay(10);

}



コメント