질문게시판 > While문 코딩질문

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

While문 코딩질문

페이지 정보

작성자 CIE18 작성일18-06-29 03:42 조회7,449회 댓글3건

본문

안녕하세요. 저번에 아두이노와 적외선센서,LED코딩에 관하여 도움받았던 사람입니다.

int led1=13;

int led2=12;

int sensor1=11;

int sensor2=10;

//

void setup(){

  pinMode(led1,OUTPUT);

  pinMode(led2,OUTPUT);

  pinMode(sensor1,INPUT_PULLUP);

  pinMode(sensor2,INPUT_PULLUP);

}

//

void loop(){

  while( !digitalRead(sensor1) || !digitalRead(sensor2) ); // 센서가 검출 중이면 대기

  delay(50);

  while( digitalRead(sensor1) && digitalRead(sensor2) ); // 센서가 검출 될 때까지 대기

  delay(50);

  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

  }

 

혹시 위의 식에서

 

while( !digitalRead(sensor1) || !digitalRead(sensor2) ); // 센서가 검출 중이면 대기

  delay(50);

  while( digitalRead(sensor1) && digitalRead(sensor2) ); // 센서가 검출 될 때까지 대기

  delay(50);

 

이 부분이 잘 이해가 안되서 그러는데 이 부분에 대해 좀더 자세히 설명하여 주실수 있나요...?

그리고 이 부분을 if문으로 바꾸는것이 가능하다면 바꿔주시면 감사하겠습니다
 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 3

조회수 : 7,449

master님의 댓글

master 작성일

while( !digitalRead(sensor1) || !digitalRead(sensor2) ); // 센서가 검출 중이면 대기
검출중인 물체가 지나갈 때까지 기다립니다.(마지막 과정)
delay(500);
while( digitalRead(sensor1) && digitalRead(sensor2) ); // 센서가 검출 될 때까지 대기
새롭게 물체가 감지 될 때까지 대기.(처음 과정)
delay(500);
//
if()문은 1회만 실행하므로
if()문으로 변경하지 못합니다.

master님의 댓글

master 작성일


void loop(){
  while(digitalRead(sensor1)&&digitalRead(sensor2)); // 센서가 검출 될 때까지 대기
  delay(500);
  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
  }
  while(!digitalRead(sensor1)||!digitalRead(sensor2)); // 센서가 검출 중이면 대기
  delay(500);
}
원래 순서는 이렇게 되는데
전원 투입 시 의도치 않게 센서가 검출되는 경우를 피하기 위해서
마지막 과정을 제일 처음에 넣은 것입니다.

CIE18님의 댓글

CIE18 작성일

혹시 While문을 사용하지 않고 위의 조건을 코딩할 수 있는 방법은 없는건가요...?
다른 코딩과 결합하려고 하는데 문제가되서요....ㅠㅠ

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2 새글 22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201 새글 22-06-24
답변 답변 : ATmega128, ATmega28 RS232… master 새글 08:07
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
질문 atmeg128 질문이요 댓글[1] 첨부파일공대생er  22-06-18
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨  22-06-18
답변 답변 : atmega128 초음파 센서로 신호등 시간초… 댓글[1] master  22-06-18
질문 atmega128 댓글[2] 망경이  22-06-18
질문 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다… 댓글[1] 따랑해영  22-06-18
답변 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 ..… 댓글[1] 첨부파일따랑해영  22-06-19
답변 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 .… 첨부파일따랑해영  22-06-19
질문 서보모터와 초음파센서 댓글[1] 브링미히어  22-06-17
질문 LCD 도와주세요 ㅜㅠㅠㅠ 댓글[2] 첨부파일dentist22  22-06-17
질문 안녕하세요 atmega128 질문드리고 싶습니다. (자… 댓글[3] dlcldl  22-06-17
질문 아두이노 delay를 millis로 바꾸고 싶습니다. 슨슨슨모  22-06-16
답변 답변 : 아두이노 delay를 millis로 바꾸고 싶… master  22-06-17
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전