초음파 센서의 값을 받아서 시리얼 모니터에 출력하는 예제다.
초음파 센서 거리 구하는 순서
1. Trigger에서 초음파를 쏜다.
2. 물체를 만나면 초음파가 반사된다.
3. Echo 에서 반사된 초음파를 읽어서 거리를 계산한다.
![](https://blog.kakaocdn.net/dn/3Lg9k/btsEkSvTmCw/h32kYrDfEAfTli3cixjMuk/img.png)
회로도
Trigger 가 13번 핀, Echo가 12번 핀이다.
만약 작동이 안되면 Trigger 핀과 Echo핀을 서로 바꿔서 해보면 된다.
![](https://blog.kakaocdn.net/dn/6z1yN/btsEjHar4VU/QGBVoCD3QyI1xnI1fdgJNK/img.png)
코드 구현
TRIGGER_PIN : 초음파를 쏜다.
ECHO_PIN : 물체를 만나 반사 되는 초음파를 받는다.
#define TRIGGER_PIN 13
#define ECHO_PIN 12
void setup()
{
Serial.begin (9600);
pinMode (TRIGGER_PIN, OUTPUT);
pinMode (ECHO_PIN, INPUT);
}
void loop()
{
int duration, distance;
digitalWrite(TRIGGER_PIN, HIGH); //초음파 발사
delayMicroseconds(1000);
digitalWrite(TRIGGER_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH); // 초음파 받기
distance = duration / 58; // cm로 거리 구하기
Serial.print(distance);
Serial.println("cm"); //시리얼 모니터 출력
delay(100);
}
반응형
'Arduino' 카테고리의 다른 글
[Arduino] 아두이노 푸시 버튼(push button) 사용하기, INPUT, INPUT_PULLUP (0) | 2024.02.02 |
---|---|
[Arduino] 아두이노 부저(Buzzer) 능동부저, 수동부저 (0) | 2024.02.02 |
[Arduino] 아두이노 시리얼 모니터 값 읽기, 부저 울리기 (0) | 2024.02.02 |
[Arduino] 아두이노 LED 아날로그핀에서 제어하기 (0) | 2024.02.02 |
[Arduino] 아두이노 LED 제어하기 (0) | 2024.02.02 |