적외선 센서란
적외선 센서는 크게 두가지 모듈이 상호작용한다. 바로 적외선LED(IR-LED)와 포토트랜지스터(Phototransistor)이다. 먼저 IR-LED(적외선 LED)는 적외선을 방출하는 모듈이다. 적외선을 방출하는 곳이 발광부, 인식하는 곳이 수광부라고 보면 된다.
포토트랜지스터는 IR-LED가 방출한 적외선이 물체에 반사되어 되돌아오는 양을 감지하는 역할을 담당한다. 예를 들어 물체가 적외선 센서로 부터 멀리 떨어져있다면 반사되어 돌아오는 양이 적을 것이고, 물체가 바로 앞에 가까이 있다면 상당량의 적외선이 반사되어 흡수될 것이기 때문이다. 따라서 흡수되는 적외선의 양이 많다는 것은 물체가 점점더 가까워 지고 있다는 것을 의미한다. 이러한 메커니즘을 통하여 적외선 센서는 물체를 감지한다.
이번 시간에는 적외선 센서로 아두이노에서 센서 값을 받아 테스트를 해보자.
준비물
NO | 부품명 | 수량 |
1 | 아두이노 UNO R3 | 1 |
2 | 적외선 장애물 감지 센서 | 1 |
3 | LED | 1 |
4 | 330Ω 저항 | 1 |
5 | 브레드 보드 | 1 |
6 | 점퍼 케이블 | 7 |
회로도
코드
코드 보기int infrared = 3; int led = 6; void setup() { pinMode(infrared, INPUT); pinMode(led, OUTPUT); Serial.begin(9600); } void loop() { // 장애물 감지되면 0, 감지되지 않으면 1 출력 int state = digitalRead(infrared); // 측정된 센서값을 시리얼 모니터에 출력 Serial.print("Infrared = "); Serial.println(state); // 측정된 센서값이 0(감지)면 아래 코드 실행 if(state == 0) { // LED ON digitalWrite(led, HIGH); // 경고 메세지를 시리얼 모니터에 출력 Serial.println("Warning"); } // 측정된 센서값이 0이 아니면 아래 코드 실행 else { // LED OFF digitalWrite(led, LOW); // 안전 메세지를 시리얼 모니터에 출력 Serial.println("Safe"); } }
Leave a Reply
You must be logged in to post a comment.