본문 바로가기

아두이노(arduino)

아두이노 적외선센서 원리와 사용방법 / 예제

적외선이란 무엇일까?

사람의 눈으로 볼 수 있는 빛의 파장을 우리는 가시광선(빨간색부터 보라색)이라고 합니다. 

우리가 눈으로 볼 수 있는 모든 것을 의미하지요. 여러분들께서 지금 보고 계신 스마트폰과 같은 것 역시 빛의 반사로 이루어져 색상을 구분할 수가 있지요.

 

 

 

적외선은 적(붉은) 외 (밖) 의 뜻으로 붉은색 파장 밖에 위치한다고 하여 붙여진 이름입니다. 

다른 빛의 파장에 비해 에너지가 작고 파장이 길어 인체에는 거의 해가 없다고 알려져 있습니다.

 

 

 

그래서 흔히 열화상 카메라나, 적외선 센서를 이용한 각종 모듈들로 사용됩니다. 

 

 

 

 

 

 


 

 

 

 

적외선센서의 종류

 

제조사에 따라 무수히 많은 적외선 센서도 존재합니다.

 

2가지 적외선 센서를 비교해보겠습니다.

 

 

좌측이 TCRT5000이 내장된  적외선센서 / 가운데 LM393칩 내장된 적외선센서  /  우측은 IR-08H 적외선 센서

 

원리는 똑같으나, 좌 우측 적외선세의 생김새가 조금 다른 것을 확인할 수 있습니다.

 

어떻게 다른지 확인해 볼까요?

 

왼쪽(좌측) : 3핀, 적외선 송수신방향이 아래로 향해있음(라인트레이서 용으로 생산), 가변저항이 없음, 작동 범위 5v /  감지 범위는 약 3mm~ 20mm (0.3cm~ 2cm)

 

가운데(중앙) :  4핀, 적외선 방향 정면, 가변저항 1개 있음. 작동 범위 3.3v~5v / 약 30mm 이하(3cm)

오른쪽(우측) : 4핀, 적외선 방향 정면, 가변저항 2개 있음.

 

보통 3핀은 디지털 입력 /  4핀의 경우 디지털과 아날로그 모두 지원하는 적외선 센서

(제조사 및 제조형태에 따라 다를 수 있습니다.)

 

가변저항의 역할은 크게 2가지가 있습니다.

첫 번째, 적외선센서의 측정 거리를 조정
두 번째, 민감도 조정

 

 

제일 왼쪽에 있는 적외선은 가변저항이 없어 직접 높낮이로 센서값을 조절해야 합니다.  가운데 있는 적외선은 민감도를 조정할 수 있는 가변저항이 하나 있어 설치해 둔 뒤 가변저항을 이용해 센서 민감도를 조정할 수 있습니다. 제일 오른쪽 적외선센서는 거리와 민감도를 모두 조정할 수 있어 좀 더 정확한 측정이 가능합니다.

 

 

 

적외선 센서 구매 시 고려사항

디지털 정보만 필요하다

디지털과 아날로그 정보 모두 필요하다.

 

어떠한 정보가 필요하냐에 따라서 구매하시면 됩니다. 

아래 링크를 통해  디지털정보와 아날로그 정보가 어떠한 것인지 확인할 수 있습니다.

 

2023.01.10 - [아두이노(arduino)] - 아두이노 digitalRead() 정보를 가져오자 #1

 

아두이노 digitalRead() 정보를 가져오자 #1

digitalRead란 무엇인가? 디지털 리드 말 그대로 디지털 형태 (0 혹은 1)로 정보를 읽어오는 것입니다. 즉 어떠한 상태인지 확인하는 것이죠. 높은 전압을 우리는 HIGH (5v), 낮은 전압을 LOW(0v)로 표현하

ronco.tistory.com

2023.01.11 - [아두이노(arduino)] - 아두이노 analogRead() 정보를 가져오자 #2

 

아두이노 analogRead() 정보를 가져오자 #2

analogRead란 무엇인가? 앞서 포스팅한 digitalRead() 함수는 1, 혹은 0의 정보를 가지고 왔다. 즉 5v인가 혹은 0v인가의 확인을 했다면. analogRead는 0~1023 사이의 정보값을 가져올 수 있습니다. 앞서 포스팅

ronco.tistory.com

 

참고 :  적외선 센서에 공급된 전압이 낮고, 물체 표면이 고르지 못할 경우 센서값의 검출 거리가 달라질 수 있습니다. )

 

 

 

 

 

 


 

 

 

 

 

적외선 센서 회로도

 

적외선 센서 회로도
생김세는 다르고 핀번호는 동일합니다.

 

센서의 핀 앞이나 뒤를 확인해 보시면 vcc, 혹은 + 또는 5v라고 적혀 있는 부분은 5v에 연결(공급해야 하는 전압을 확인) gnd나 - 가 있으면 gnd에 연결 s나 out, d(디지털의 첫 글자) 때로는 위 두 가지 5v나 gnd만 적혀 있고 아무것도 안 적혀 있는 것도 있습니다. 이럴 땐 아두이노 핀번호에 연결해야 하는구나라고 인지하시면 됩니다. 그래도 혹시 모르니 여러 곳에 검색해 보시고 사용하시길 권해드립니다. 연결을 잘못할 경우 적외선 센서 모듈이 손상될 수 있습니다.

 

 

 


 

 

 

 

 

 

 

 

 

 

적외선센서 코딩하기

 

 

그럼 잘 작동되는지 코딩을 진행해 보도록 하겠습니다. 

 

 

int IR_Sensor = 2;     //적외선 센서 변수를 만들고 2로 초기화

void setup() {


  Serial.begin(9600);
  pinMode(IR_Sensor, INPUT); // 적외선 핀을 입력 핀으로 설정합니다. 즉 정보를 받겠다입니다.

}

void loop() {

  Serial.println(digitalRead(IR_Sensor)); // 적외선 센서 값을 읽어와 시리얼모니터에 출력한다.

  delay(500);   // 0.5초 기다린다.

}

 

 

영상에서 볼 수 있듯 손이 인식됐을 때 0, 그렇지 않을 때 1로 인식되는 걸 볼 수 있습니다.

 

디지털 입력의 경우 0 또는 1로 값이 입력되지만, 아날로그의 경우 0~1023 사이의 값을 눈으로 확인하실 수 있습니다.