본문 바로가기
C++

[C++] 아두이노로 적외선 거리측정센서 사용하기

by teamnova 2024. 3. 30.
728x90

안녕하세요

이번에는 아두이노로 적외선 거리측정센서를 사용해보겠습니다.

 

아두이노에 대해 기본적인 내용을 알고 싶다면 아래 게시글을 참고해주세요. 

https://stickode.tistory.com/1044

 

[C++] 아두이노로 서보 모터 사용하기

이번 시간에는 아두이노로 서보 모터 사용하는 예제를 진행하겠습니다. 1. 아두이노란? 아두이노(Arduino)는 사용하기 쉬운 하드웨어와 소프트웨어를 기반으로 한 오픈 소스 전자 플랫폼입니다.

stickode.tistory.com

 

 

1. 적외선 거리측정센서란?

적외선 거리측정센서란 적외선을 이용해 센서와 물체 사이에 거리를 측정하는 센서입니다.

 

이 예제에서 사용할 적외선 거리측성센서의 측정 범위는 10~80cm이며 동작전압은 4.5~5V입니다.

적외선을 방출하는 Light Emitter와 보낸 적외선이 다시 돌아올때 그 빛을 감지하는 Light Detector 부분으로 구성되어있습니다.

 

 

적외선이 수신되면 트렌지스터는 전류가 흐를 수 있는 상태로 바뀌게 되는데, 이때 수신된 적외선의 양에 따라 흐르는 전류의 양이 달라져 출력되는 전압이 달라지고, 이 값으로 물체와 거리를 측정합니다.

 

 

2. 준비물

아두이노 우노, 적외선 거리측정센서

 

 

3. 코드

int distance = 0; // 거리값을 저장할 변수 초기화

void setup() {
  Serial.begin(9600); // PC와의 시리얼 통신 속도를 9600bps로 설정
}

void loop() {
  int volt = map(analogRead(A0), 0, 1023, 0, 5000); // 아날로그 입력 값을 전압으로 변환

  distance = (27.61 / (volt - 0.1696)) * 1000; // cm 단위로 거리 계산

  Serial.print(distance); // 거리 값 출력

  Serial.println(" cm"); // 단위 출력

  delay(1000); // 1초 대기. 1초 주기로 거리를 측정.
}

 

 

 

4. 실행 결과