/*This program is similar to EXERCISE_2_B, which change between two modes (blink
  and fade) using Arduino digital pins and digital read function */

int channelA = 2;
int channelB = 4;
int led = 9;
int i = 0;
void setup() {
  pinMode(channelA, INPUT);
  pinMode(channelB, INPUT);
  pinMode(led, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int state1 = digitalRead(channelA); //Read channelA state
  int state2 = digitalRead(channelB); //Read channelB state
  Serial.print("canalA: "); Serial.print(state1);
  Serial.print("canalB: "); Serial.println(state2);
  //If Button state is in HIGH level led blinking,
  //Unless led will be in fade mode.
  if (state1 == HIGH || state2 == LOW) {
    digitalWrite(led, HIGH); //Write HIGH voltage level in led pin
    delay(500);//Stop program 500 miliseconds
    digitalWrite(led, LOW); //Write LOW voltage level in led pin
    delay(500);
  }
  else if (state2 == HIGH || state1 == LOW) {
    //for increments i , one on one
    for (i = 0; i <= 255; i++) {
      analogWrite(led, i);
      delay(5);
    }
    //for decrements i , one on one
    for (i = 255; i >= 0; i--) {
      analogWrite(led, i);
      delay(5);
    }
  }
}