반응형
장애물까지의 거리 계산하여 출력하기
(준비물)
아두이노 우노(Arduino Uno)
USB 케이블
초음파 센서
점퍼 케이블
(회로 연결)
int pinEcho = 12 ;
int pinTrigger = 13 ;
void setup ( ) {
Serial . 시작 ( 9600 ) ;
pinMode ( pinEcho , INPUT ) // 수신부
pinMode ( pinTrigger , OUTPUT ); // 송신부 (초음파를 보냄)
Serial . println ( "시작" );
}
void loop ( ) {
float fDuration= 0, fDistance = 0;
digitalWrite(pinTrigger, HIGH); // 초음파를 보냄
delayMicroseconds(10); // 10us 동안
digitalWrite(pinTrigger, LOW); // 그만 보냄
fDuration = pulseIn(pinEcho, HIGH); // pinEcho가 신호를 받아 HIGH가 되는 시간 측정(us)
fDistance = ((float)(340 * fDuration)) / 10000 / 2; // 거리 = 속도 * 시간
// 초음파 속도 : 340m/s
// 1s = 1000000us, 1m = 100cm
Serial.print(fDistance);
Serial.println("cm");
delay(500);
}
반응형
'Arduino' 카테고리의 다른 글
[Arduino] 서보모터 실습: 일정한 거리 값(15cm 이내)이 측정되면, 서보모터 움직이기 (0) | 2021.07.01 |
---|---|
[Arduino] pulseIn() (0) | 2021.06.14 |
[Arduino] 초음파 센서 실습: pulseIn() 함수 사용하여 시간(㎲) 출력하기 (0) | 2021.05.27 |
[Arduino] 초음파 센서(Ultrasonic Sensor)란? (0) | 2021.05.23 |
[Arduino] 서보모터 실습: 시리얼 통신으로 서보모터 제어하기 (switch) (0) | 2021.05.19 |