// lesson 03 : ボタンが押されている間、LEDを点ける const int LED = 9; // LEDが接続されているピン const int BUTTON = 7; // プッシュボタンが接続されているピン int val = 0; // 入力ピンの状態がこの変数に記憶される int old_val = 0; // valの前の値を記憶しておく変数 int state = 0; // LEDの状態(0ならオフ、1ならオン) int i = 0; // カウントアップ・ダウン用 void setup() { pinMode(LED, OUTPUT); // arduinoにLEDが出力であると伝える pinMode(BUTTON, INPUT); // BUTTONは入力に設定 } void loop() { val = digitalRead(BUTTON); // 入力を読み取りvalに格納 if (val == HIGH && old_val == LOW) { for (i = 0; i < 255; i++) { // フェードイン analogWrite(LED, i); // LEDの明るさをセット delay(10); // analogWrite()は一瞬なので、delayがないと変化が見えない } old_val = HIGH; // ドアは開いている } else if (val == LOW && old_val == HIGH){ for (i = 255; i > 0; i--) { // フェードアウト analogWrite(LED, i); delay(10); } old_val = LOW; // ドアは閉まっている } else { old_val = val; } }