모션 감지기
모션 감지기는 이름에서 알 수 있듯이 움직임을 감지하는 데 사용되는 센서입니다. 이들은 일반적으로 보안 경보 및 모션 트리거 조명 시스템에서 볼 수 있지만 광범위한 멋진 응용 프로그램을 위해 선형 액추에이터와 함께 사용할 수 있습니다. 하나의 일반적인 적용 선형 액추에이터 그리고 함께 사용되는 모션 탐지기는 점프 겁을 먹기 위해 유령의 집 안에 있습니다. 그러나 함께 선형 액추에이터 및 모션 탐지기를 사용하여 광범위한 홈 자동화 프로젝트에 사용할 수도 있습니다.
모션 탐지기를 생각할 때 일반적으로 두 가지 유형에 대해 생각합니다.
- 수동 적외선 - 운동을 감지하기 위해 체열 (적외선 에너지)의 변화를 측정합니다.
- 마이크로파 - 전자 레인지를 사용하여 반사를 측정하여 움직임을 감지합니다.
이 두 가지 유형의 모션 탐지기는 보안 시스템과 같은 응용 프로그램에서 종종 사용되므로 가장 일반적입니다. 그러나 유추 된 빛, 진동 센서 및 초음파 센서를 사용하는 영역 반사 센서를 포함하여 사용 가능한 다른 유형의 모션 탐지기가 많이 있습니다.1]. 애호가 및 DIY 프로젝트와 함께 사용하기 위해 가장 일반적으로 사용 가능한 모션 탐지기 유형은 PIR (Passive Infrared) 모션 센서입니다. 이 때문에이 블로그의 나머지 부분은 선형 액추에이터와 함께 PIR 모션 탐지기를 사용하는 방법에 중점을 둘 것입니다. 각 유형의 센서마다 구현이 다르지만 모션 검출기를 사용하여 선형 액추에이터를 제어하는 방법에 대한 대부분의 설명은 모든 유형의 모션 탐지기에 대해 유사합니다.
근접 센서는 어떻습니까?
근접 센서는 모션이 아닌 물체의 근접성을 감지하므로 모션 감지기가 아닙니다. 기능적으로, a 근접 센서 객체가 움직이는 지 아닌지 센서에 물체가 얼마나 가까이 있는지 알 수 있습니다. 모션 감지기는 물체가 얼마나 가까운 지에 관계없이 움직임이있을 때만 트리거됩니다. 근위 센서를 모션 감지기로 사용하여 근접 센서의 출력이 센서 앞에서 객체 나 사람이 움직일 때 변경 될 수 있습니다. 그러나 근접 센서는 센서에 가장 가까운 객체가 얼마나 가까운 지 감지하므로 가장 가까운 객체 뒤에서 무언가가 움직이면 근접 센서 가이 움직임을 감지하지 못할 것입니다. 근접 센서를 모션 감지기로 사용하는 것이 가능하지만 설계에 가장 적합한 솔루션은 아닐 수 있습니다.
PIR 모션 검출기 설정
할로윈을위한 자신의 점프 Scare Robot을 설계하거나 다른 모션 민감한 프로젝트를 염두에두고 싶다면 PIR 모션 탐지기를 입력 스위치로 활용하여 선형 액추에이터가 이동 해야하는시기를 결정합니다. 이렇게하려면 마이크로 컨트롤러를 사용하고 싶을 것입니다. Arduino, PIR 모션 감지기의 출력을 읽고 선형 액추에이터를 구동합니다. PIR 모션 검출기의 출력은 간단한 푸시 버튼과 유사합니다. 모션이있을 때 센서가 마이크로 컨트롤러로 높은 신호 또는 전압을 보내고 모션이 없으면 낮은 신호 또는 전압을 보냅니다. PIR 센서를 설계하기 전에 PIR 센서를 설치하기 전에 PIR 센서를 설치하기 전에 테스트 할 수도 있습니다. 일부 PIR 센서를 사용하면 센서의 감도를 더 나은 성능을 조정할 수 있습니다.
언제 누군가가 모션 탐지기를 통과 할 것인지 알지 못하면 코드의 기본 루프에서 PIR 센서의 출력을 지속적으로 읽거나 외부 인터럽트를 사용할 수 있습니다. 외부 인터럽트는 전압의 변화를 감지하는 Arduino의 핀이며 우리의 경우 PIR 센서가 움직임을 감지했음을 Arduino에게 경고하는 데 사용될 수 있습니다. 애플리케이션에 따라 PIR 센서의 출력을 읽는 방법 중 하나가 가능하지만 후자는 코드가 PIR 센서에서 감지 한 움직임을 놓치지 않도록 모범 사례로 간주됩니다. 외부 인터럽트를 사용하여 모션 탐지기의 변경 사항을 감지하려는 경우 Arduino의 데이터 시트를 참조하여 인터럽트 핀으로 사용될 수있는 마이크로 컨트롤러의 핀을 확인해야합니다. 그렇지 않은 경우 PIR 센서의 출력을 Arduino의 모든 디지털 입력 핀에 연결하면됩니다. PIR 센서는 또한 적절한 전원과 공통 접지에 연결해야합니다.
모션 제어 선형 액추에이터
아래의 두 가지 예 모두에서 Arduino는 A를 사용하여 선형 액추에이터를 제어합니다. 모터 드라이버. 모터 드라이버 또는 기타 중간 구성 요소와 같은 선형 액추에이터를 구동하는 방법을 배우려면 릴레이, 당신은 우리의 게시물을 확인할 수 있습니다 Arduino로 선형 액추에이터를 제어하는 방법. 또한 아래의 예는 다음과 같습니다 피드백 선형 액추에이터 또는 외부 한계 스위치 그들의 디자인에서, 이것은 당신에게 당신의 액추에이터가없는 것보다 더 많은 것을 통제 할 수있게 해줄 것입니다. 사용 가능한 피드백 옵션에 관심이 있으시면 주제에 대한 게시물을 확인할 수 있습니다. 여기.
위의 코드 예제는 전압 펄스의 상승 가장자리에서 인터럽트가 트리거되는 Arduino IDE에서 인터럽트를 설정하는 방법을 보여줍니다. 전압 변경에서 다른 지점에서 트리거되도록 인터럽트를 설정하고 마이크로 컨트롤러의 데이터 시트를 참조하여 사용 가능한 옵션을 결정해야합니다. 적절한 인터럽트 핀을 식별하고 선택한 후에는 인터럽트를 설정하기 위해해야 할 마지막 측면은 인터럽트 서비스 루틴을 작성하는 것입니다. 인터럽트 서비스 루틴은 인터럽트가 트리거 될 때마다 코드가 실행되는 간단한 기능입니다. 우리의 경우, 인터럽트 서비스 루틴 모션 검색기는 인터럽트가 트리거 될 때 단순히 모션을 검출 한 플래그 모션으로 설정합니다.
Arduino가 외부 인터럽트를 사용하거나 간단히 출력을 읽음으로써 Arduino가 PIR 센서의 출력을 읽으면이 피드백을 사용하여 선형 액추에이터를 제어하는 방법은 설계 및 응용 프로그램에 따라 다릅니다. PIR 센서는 푸시 버튼과 같은 이진 피드백 만 제공하므로 선형 액추에이터에 대한 제어 레벨이 제한됩니다. 이 피드백으로 선형 액추에이터를 제어하는 한 가지 방법은 움직임이 감지 될 때마다 액추에이터가 움직 이도록 지시하는 것입니다. 이는 유령의 집에서 로봇 점프 상처와 같은 응용 프로그램에 유용 할 수 있습니다. 위의 코드는이 디자인을 구현할 수있는 방법을 보여줍니다. 모션 검출 된 플래그가 높게 설정되면 선형 액추에이터를 앞으로 확장하고 10 초 후에 플래그를 낮게 재설정하고 액추에이터가 다음 점프 겁을 개폐합니다. 우리는 모션 감지기를 사용하여 Arduino에게 누군가가 있다고 말하기 때문에 타이머를 사용하여 깃발을 재설정하고 다음 사람이 걸을 때까지 기다립니다.
또 다른 방법은 모션이 감지 될 때마다 선형 액추에이터의 확장 된 위치와 수축 위치 사이를 전환하는 것입니다. 이는 홈 자동화 응용 프로그램에 유용 할 수 있습니다. 이 접근법의 구현은 위에 나와 있습니다. 인터럽트 서비스 루틴에서 PIR 센서가 움직임을 감지 할 때마다 모션 검출 된 플래그 모션 검출됩니다. 플래그가 높게 설정되면 선형 액추에이터가 확장되고 플래그가 낮게 설정되면 액추에이터가 수축됩니다. 또한 PIR 모션 검출기가 트리거 된 후 추가 시간 지연을 사용하는 다른 플래그 타이머 플래그를 추가했습니다. 이 플래그는 인터럽트가 처음 트리거 될 때 높게 설정되며 설계된 시간 지연 후에 만 낮게 전송됩니다.이 예제에서는 1 분입니다. 또한이 시간 지연이 끝날 때까지 모션 검출 된 플래그 모션 값의 값이 전환되지 않도록하는 데 사용됩니다.
참조:
- Tross, K. (2019, 10 월). 모션 센서에 대한 초보자 안내서. 검색 : : https://www.safewise.com/resources/motion-sensor-guide/