혹시 and문으로 하려고하는데 어떻게 고치면 되는지 알려주실수 있으신가요???ㅜㅜㅜ
코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
초음파 두게를 &&로 했는데 안읽혀요 ㅠㅠㅠ
이재환 | 2016-04-29
|
|
---|---|
~~~2는 값이 추출되는데 ~~~1은 값이 추출되지않습니다 혹시 해결방안 아시는분 있으신가요 ??ㅜㅜ
int echoPin2 = 3; // 초음파 int echoPin1 = 5; // 초음파 char sendMsg; void setup() { sendMsg = '0'; } void loop() { float duration2, distance2 ; delay(100); Serial.write(sendMsg); |
|
|
|
이전글 | 아두이노를 이용하여 대기행렬을 적용한 엘리베이터를 만드는데..질문이있어요... | 2016-04-29 |
다음글 | 맥 아두이노 업로드 에러 문제입니다. | 2016-05-01 |
수박쨈 2016-05-02 10:11:23
초음파의 거리값인 distance값이 센서에서 측정되지 않는다는 건가요??
지금 보시면 문법적으로 조건문이 이상합니다.
if (distance1&&distance2 < 7) //7cm 이하면
{
sendMsg = 'S'; //멈춤
delay(100);
}
위 조건문에서 &&는 두개의 조건을 묶는 함수지 distance1과 distance2을 동시에 묶는 연산자가 아닙니다.
위 같이 조건문을 작성하면 distance1은 1보다 크기 때문에 true라는 조건을 가지게 되며 결국 distance2가 7보다 작을 경우에만 S라는 문구를 출력합니다.
if (7 < distance1&&distance2 < 18) // 7~18
또 위 조건문은 의도하신바가 맞는지는 모르겠지만 저렇게 쓸 경우는 distance1이 7보다 크고 distance2가 18보다 작을 경우에만 실행됩니다.
distance1과 distance2 모두가 7보다 크고 18보다 작을 경우에만 조건문을 실행하도록 하기 위해서는 조건문의 수정이 필요합니다.