BASIC4MCU | 질문게시판 | 아두이노 초음파센서 코딩 질문
페이지 정보
작성자 아두이노아린이 작성일2022-05-20 17:24 조회553회 댓글3건본문
이 코딩에서 330톤이 출력되는 것의 딜레이를 D(초음파 거리)나누기10의 딜레이로 껏가 켯다 하도록 설정하고 싶은데 잘 못하겠습니다...
댓글 3
조회수 553master님의 댓글
master 작성일
Serial.println(D);
if(D>=500 && D<=2500) // & 한 개가 아니고 && 두 개를 사용해야 합니다.
{
tone(B,330);
}
else{
noTone(B);
}
D/=10; // <== 10으로 나누면 됩니다.
delay(D);
}
아두이노아린이님의 댓글
아두이노아린이
delay 단위를 m/s 단위로 설정해야 해서 그런지 그대로 입력해도 안되는거 같습니다 ㅜ
master님의 댓글
master
정수값을 넘기는데 단위가 무슨 상관일까요?
if(D>=500 && D<=2500)
거리값이 500~2500 이고
10으로 나누면 50~250 입니다.
50보다 작을 때가 문제겠군요
if(D>=500)D/=10; // <== 50보다 크면 10으로 나누고
else D=50;
delay(D);
//
그런데 보통 초음파 거리값은 cm 단위로 나오지 않나요?
Serial.println(D); 시리얼 모니터에 값이 나오고 있으니 거리값이 얼마인지 알고 있을텐데요?
if(D>=500 && D<=2500) 이렇게 하면 안되고
if(D>=50 && D<=250) 이렇게 해야 하지 않나요? 50cm~250cm
250cm 이상도 체크 되나요?
if(D>=50 && D<=150) // 50cm~150cm 거리값을 줄여서 체크하세요
그냥 이 값을 사용하면 되는데 10을 왜 나누려고 했을까요?