BASIC4MCU | 질문게시판 | 우노는 되는데 메가가 안됩니다(초음파)
페이지 정보
작성자 초두이노 작성일2023-12-13 20:15 조회1,355회 댓글3건본문
아두이노 우노는 초음파 사용시 거리 값이 잘 계산 돼서 나오는데
우노 코드 그대로 메가에 꽂아 사용하면 값이 계속 0으로 나옵니다...
왜 그런걸까요??
int echo = 8;
int trig = 12;
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
void loop() {
float cycletime;
float distance;
digitalWrite(trig, HIGH);
delay(10);
digitalWrite(trig, LOW);
cycletime = pulseIn(echo, HIGH);
distance = ((340 * cycletime) / 10000) / 2;
Serial.print("Distance:");
Serial.print(distance);
Serial.println("cm");
delay(500);
}
댓글 3
조회수 1,355master님의 댓글
master 작성일
delay(10); // 10ms
delayMicroseconds(10); // 10us
천배의 시간 차이가 납니다.
delayMicroseconds(10);를 사용하시고요
꼭 이때문에 측정오류가 발생한다고 보기는 어렵고요
핀이 고장난 것은 아닌지 의심이 갑니다.
핀을 변경해서 다시 돌려보세요
초두이노님의 댓글
초두이노 작성일메가 쉴드를 사용하고있는데 쉴드를 뺴고 저 코드를 사용하면 작동되는데 쉴드를 꽂으면 안됩니다 혹시 쉴드는 사용할떄 꼽는법이라던지 코드가 다른가요?
master님의 댓글
master 작성일
메가 쉴드의 회로도를 모르니 답변을 드리지 못합니다.
쉴드에서 8번핀과 12번 핀 두 개의 핀 회로에 문제가 있겠죠?