반응형
준비물
----------------------------------------------------------
아두이노 우노. HC-SR04(초음파 센서)
회로도
----------------------------------------------------------
디지털 2번 - Trig
디지털 4번 - Echo
GND - GND
V - 5V
소스코드
----------------------------------------------------------
const int trigPin = 2; //Trig 핀 할당
const int echoPin = 4; //Echo 핀 할당
void setup()
{
Serial.begin(9600); //시리얼 초기화
Serial.println("Hello Arduino!!");
pinMode(trigPin, OUTPUT); //Trig 핀 output으로 세팅
pinMode(echoPin, INPUT); //Echo 핀 input으로 세팅
}
void loop()
{
long duration, distance; //기본 변수 선언
//Trig 핀으로 10us의 pulse 발생
digitalWrite(trigPin, LOW); //Trig 핀 Low
delayMicroseconds(2); //2us 유지
digitalWrite(trigPin, HIGH); //Trig 핀 High
delayMicroseconds(10); //10us 유지
digitalWrite(trigPin, LOW); //Trig 핀 Low
//Echo 핀으로 들어오는 펄스의 시간 측정
duration = pulseIn(echoPin, HIGH); //pulseIn함수가 호출되고 펄스가 입력될 때까지의 시간. us단위로 값을 리턴.
//음파가 반사된 시간을 거리로 환산
//음파의 속도는 340m/s 이므로 1cm를 이동하는데 약 29us.
//따라서, 음파의 이동거리 = 왕복시간 / 1cm 이동 시간 / 2 이다.
distance = duration / 29 / 2; //센치미터로 환산
Serial.print(distance);
Serial.print("cm");
Serial.println();
delay(100);
}
결과영상
----------------------------------------------------------
반응형
'🕹️IOT' 카테고리의 다른 글
[Arduino Uno R3 예제] 6. 7-세그먼트 (0) | 2020.02.17 |
---|---|
[Arduino Uno R3 예제] 5. URM37(초음파센서) (0) | 2020.02.17 |
[Arduino Uno R3 예제] 3. 네오픽셀 LED 깜빡이기 (JLED-ARROW-9) (0) | 2020.02.17 |
[Arduino Uno R3 예제] 2. LED RGB 센서 (0) | 2020.02.17 |
[Arduino Uno R3 예제] 1. LED 깜빡이기 (0) | 2020.02.17 |