//LED BLINK
//0922040056 - TO3C
bool btn_1, btn_2, btnPress, blinkState, ledState;
int counter;
int ledPin[]={13,12,11,10,9};
int totalLed = 5;
#define btn1_pin 3
#define btn2_pin 2
void setup() {
Serial.begin(9600);
for(int i=0; i<totalLed; i++){
pinMode(ledPin[i], OUTPUT);
digitalWrite(ledPin[i], LOW);
}
pinMode(btn1_pin, INPUT_PULLUP);
pinMode(btn2_pin, INPUT_PULLUP);
ledState = 1;
}
void loop() {
check_btn1();
check_btn2();
runBlink(blinkState, 500);
if(!blinkState){
for(int i=0; i<counter; i++){
digitalWrite(ledPin[i], HIGH);
}
showSerial();
delay(500);
}
}
//FUNCTION
void check_btn1(){
btn_1 = !digitalRead(btn1_pin);
if(btn_1 && !blinkState){
while(!digitalRead(btn1_pin));
counter++;
if(counter>totalLed){
for(int i=0; i<totalLed; i++){
digitalWrite(ledPin[i], LOW);
}
counter = 0;
}
}
}
void check_btn2(){
btnPress = btn_2;
btn_2 = !digitalRead(btn2_pin);
if(btnPress && !btn_2){
blinkState = !blinkState;
}
}
void runBlink(bool toggle, int blink_time){
if(toggle){
showSerial();
for(int i=0; i<counter; i++){
digitalWrite(ledPin[i], ledState);
}
ledState = !ledState;
showSerial;
delay(500);
}
}
void showSerial(){
Serial.println("====================");
Serial.print("Logika Tombol: ");
Serial.print(btn_1);
Serial.println(btn_2);
Serial.print("Counter: ");
Serial.println(counter);
Serial.print("Blink Start/Stop: ");
Serial.println(blinkState);
Serial.println("====================");
Serial.println(" ");
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r