BASIC4MCU | 질문게시판 | 답변 : 아두이노 Button을이용한 LED켜기
페이지 정보
작성자 master 작성일2018-09-26 08:11 조회5,647회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=5337
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-09-26 오전 8:13:25// by Ok-Hyun Park//#define button 12#define LED 13//boolean on=false;int flag=0; mode=0,programCount=0;//void setup(){Serial.begin(9600);pinMode(LED,OUTPUT);pinMode(button,INPUT_PULLUP);}//void loop(){if(digitalRead(button)==0){if(flag==0){ flag=1;if(++mode>5)mode=0;switch(mode){case 0: break;case 1:{Serial.println("mode 1");digitalWrite(LED,HIGH); delay(3000); digitalWrite(LED,LOW); delay(3000);programCount++;break;}case 2:{Serial.println("mode 2");digitalWrite(LED,HIGH); delay(5000); digitalWrite(LED,LOW); delay(5000);programCount++;break;}case 3: break;case 4: break;case 5: break;}}}else{ flag=0; }}
어떤 동작을 1회만 시키려면
위 예제처럼 if()문안에 switch()문을 넣으면 되고
반복해서 계속 실행하려면 아래처럼 loop()문 아래에 넣으면 되지만
딜레이가 큰 코드 때문에 동작이 원활하지 않으면 시분활 구동해야 할 필요도 있습니다.
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-09-26 오전 8:16:06// by Ok-Hyun Park//#define button 12#define LED 13//boolean on=false;int flag=0; mode=0,programCount=0;//void setup(){Serial.begin(9600);pinMode(LED,OUTPUT);pinMode(button,INPUT_PULLUP);}//void loop(){if(digitalRead(button)==0){if(flag==0){ flag=1;if(++mode>5)mode=0;}}else{ flag=0; }//switch(mode){case 0: break;case 1:{Serial.println("mode 1");digitalWrite(LED,HIGH); delay(3000); digitalWrite(LED,LOW); delay(3000);programCount++;break;}case 2:{Serial.println("mode 2");digitalWrite(LED,HIGH); delay(5000); digitalWrite(LED,LOW); delay(5000);programCount++;break;}case 3: break;case 4: break;case 5: break;}}
댓글 0
조회수 5,647등록된 댓글이 없습니다.