/*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);
}
}
}