BASIC4MCU | 질문게시판 | 답변 : 초음파센서의 값이 이상합니다.
페이지 정보
작성자 아두이노초짜 작성일2019-05-29 07:18 조회4,959회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=8959
본문
int trigPin = 6;int echoPin = 7;void setup(){Serial.begin(9600); // 시리얼 속도 설정pinMode(echoPin, INPUT); // echoPin 입력pinMode(trigPin, OUTPUT); // trigPin 출력}void loop(){long duration, distance;digitalWrite(trigPin, HIGH); // trigPin에서 초음파 발생(echoPin도 HIGH)delayMicroseconds(10);digitalWrite(trigPin, LOW);duration = pulseIn(echoPin, HIGH); // echoPin 이 HIGH를 유지한 시간을 저장 한다.distance = ((float)(340 * duration) / 1000) / 2;//Serial.print("Duration:"); //시리얼모니터에 Echo가 HIGH인 시간을 표시//Serial.print(duration);Serial.println("\nDIstance:"); // 물체와 초음파 센서간 거리를 표시Serial.println(distance);Serial.println("mm\n");delay(100);}그냥 기본적인 동작만 제대로 하는지 확인할려고 오픈코딩으로 동작을 시켜도 값이 0으로 계속나옵니다
댓글 1
조회수 4,959master님의 댓글
master 작성일
//Serial.print("Duration:"); //시리얼모니터에 Echo가 HIGH인 시간을 표시
//Serial.print(duration);
주석처리한 것을 풀고서 duration도 0인지 체크하세요
//
1. 핀연결 다시 체크하시고
2. 초음파센서가 고장인지도 체크하세요
3. 초보자는 아두이노를 고장내기도 합니다.
핀을 바꿔서도 테스트하세요