BASIC4MCU | 질문게시판 | 답변 : While문 코딩질문
페이지 정보
작성자 master 작성일2018-06-29 04:30 조회7,104회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2082
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-06-29 오전 4:33:49// by Ok-Hyun Park//int led1=13,led2=12;int sensor1=11,sensor2=10;//int mode=0,cnt=0;//void setup(){pinMode(led1,OUTPUT);pinMode(led2,OUTPUT);pinMode(sensor1,INPUT_PULLUP);pinMode(sensor2,INPUT_PULLUP);}//void loop(){if(mode==0){if(digitalRead(sensor1)&&digitalRead(sensor2)){ mode=1; cnt=500; } // 물체가 없으면 모드1로}else if(mode==1){delay(1); if(--cnt==0)mode=2; // 딜레이}else if(mode==2){if(!digitalRead(sensor1)||!digitalRead(sensor2)){ mode=3; }; // 검출 되면 모드3으로}else if(mode==3){if(!digitalRead(sensor1)){ // 1번 센서가 검출되면digitalWrite(led1,HIGH); digitalWrite(led2,LOW); // LED1 ON,LED2 OFF}else{ // 2번 센서가 검출되면digitalWrite(led1,LOW); digitalWrite(led2,HIGH); // LED1 OFF,LED2 ON}mode=4; cnt=500;}else if(mode==4){delay(1); if(--cnt==0)mode=0; // 딜레이}//}
센서1이 검출되고나서
센서2가 검출 될 때에도 센서1의 신호가 계속 검출 상태라면 딜레이가 필요 없습니다.
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-06-29 오전 4:37:57// by Ok-Hyun Park//int led1=13,led2=12;int sensor1=11,sensor2=10;//int mode=0;//void setup(){pinMode(led1,OUTPUT);pinMode(led2,OUTPUT);pinMode(sensor1,INPUT_PULLUP);pinMode(sensor2,INPUT_PULLUP);}//void loop(){if(mode==0){if(digitalRead(sensor1)&&digitalRead(sensor2)){ mode=1; } // 물체가 없으면}else if(mode==1){if(!digitalRead(sensor1)||!digitalRead(sensor2)){ // 검출 되면if(!digitalRead(sensor1)){ // 1번 센서가 검출되면digitalWrite(led1,HIGH); digitalWrite(led2,LOW); // LED1 ON,LED2 OFF}else{ // 2번 센서가 검출되면digitalWrite(led1,LOW); digitalWrite(led2,HIGH); // LED1 OFF,LED2 ON}mode=0;}}//}
댓글 0
조회수 7,104등록된 댓글이 없습니다.