아두이노 프로그래밍 2일차 – Part2 PSD 거리센서 강사: 김영준 목원대학교 겸임교수
PSD 센서 연결 PSD 거리센서를 아날로그 0핀에 연결합니다. 0번 • 아날로그 0번 (A0 핀)에 PSD 거리 센서를 연결합니다. • PSD 센서는 적외선 방식이며, 실외에서는 작동이 않됩니다. • PSD 센서는 10cm ~ 80cm가 유효 측정 거리입니다. 0번
PSD 센서값 확인하기
PSD 센서값 확인하기 아날로그 센서값 확인하는 기본 코드를 작성하여 센서값을 확인해 봅니다.
PSD 센서값 확인하기 아날로그 센서값 확인하는 기본 코드를 작성하여 센서값을 확인해 봅니다. void setup() { } void loop() a0 = AnalogRead(0) PrintLine(a0) Delay(100)
Map 함수를 이용하여 디지털 거리계 만들기
디지털 거리계 • Map함수를 이용하여 측정된 센서값을 실제 거리와 유사하게 변환해 봅니다. • 거리값 뒤에 "cm" 단위를 표시해 봅니다.
디지털 거리계 void setup() { } void loop() a0 = AnalogRead(0) a0 = Map(a0, 0, 1023, 800, 100) Print(a0) PrintLine("cm") Delay(100)
동체인식 장치 만들기 실습: 움직임이 감지되면 3초간 켜지는 LED등
동체인식 장치 • 디지털 11번에 LED를 연결합니다. • 아날로그 0번에 PSD 거리센서를 연결합니다. • PSD 센서 앞에서 움직임이 감지되면 3초간 LED가 켜지도록 합니다.
동체인식 장치 void setup() { } void loop() a0 = AnalogRead(0) if (a0 > 200) DigitalWrite(11, HIGH) Delay(3000) Delay(100)
동체인식 장치 개선 • 이전 방법의 문제점에 대해 생각해 봅니다. • LED가 켜져 있는 동안에도 센서가 감지를 합니다. • 센서 앞에 장애물이 있는 동안에는 계속 LED가 켜집니다. • 센서 앞에서 장애물이 사라지고 난 후에도 3초간 LED가 켜집니다.
동체인식 장치 개선 count = 0 void setup() { } void loop() a0 = AnalogRead(0) if (a0 > 100) count = 30 if (count > 0) count = count - 1 DigitalWrite(11, HIGH) Delay(100)