보안은 항상 우리 모두의 주요 관심사였으며 시장에는 많은 하이테크 및 IoT 기반 보안 및 감시 시스템이 있습니다. Intruder 또는 Burglar Alarm 은 전자 공학 학생과 애호가들 사이에서 고전적이고 인기있는 프로젝트 중 하나입니다. 또한 다양한 기술을 기반으로 많은 도난 경보기를 구축했습니다.
- 레이저 보안 경보 회로
- IR 기반 보안 경보
- PIR을 사용한 도난 경보
- GSM 기반 보안 시스템
오늘 우리는 초음파 센서를 기반으로 한 보안 경보를 목록에 하나 더 추가 합니다. 이 Arduino Controlled Door 경보 는 문 근처에 설치하여 문 앞에있는 사람의 존재를 감지 할 수 있습니다. 누군가가 초음파 센서 범위에 들어올 때마다 부저가 울리기 시작합니다. 문에 따라 센서 감지 범위를 조정할 수 있습니다. 이 시스템은 Motion Detector 의 용도로도 사용할 수 있습니다.
필수 구성 요소:
- 브레드 보드
- 초음파 센서
- 부저
- Arduino Mega (모든 모델)
- 점퍼 와이어
- Arduino 또는 12v, 1A 어댑터 용 USB 케이블.
초음파 센서 모듈:
초음파 센서 HC-SR04 는 문 앞에있는 사람의 존재를 감지하는 데 사용됩니다. 센서 모듈은 초음파 송신기, 수신기 및 제어 회로로 구성됩니다. 초음파 센서는 두 개의 원형 눈으로 구성되며, 그중 하나는 초음파를 전송하고 다른 하나는이를 수신하는 데 사용됩니다.
초음파가 센서로 돌아 오는 데 걸리는 시간을 기준으로 물체의 거리를 계산할 수 있습니다. 소리의 시간과 속도를 알고 있으므로 다음 공식으로 거리를 계산할 수 있습니다.
- 거리 = (시간 x 소리의 속도) / 2
파도가 동일한 거리를 앞뒤로 이동하므로 값을 2로 나눕니다. 그러나이 프로젝트에서 우리는 NewPing.h 라이브러리를 사용 했고 ,이 라이브러리는이 계산을 처리하고 우리는 단지 몇 가지 핵심 단어 만 사용하면됩니다. 설명은 아래의 프로그래밍 섹션에 있습니다.
아래 프로젝트를 확인하여 물체의 거리를 측정하고 작동하는 초음파 센서를 올바르게 이해하십시오.
- 초음파 센서를 사용한 Arduino 기반 거리 측정
- HC-SR04 및 AVR 마이크로 컨트롤러를 사용한 거리 측정
회로도 및 설명:
이 초음파 경보의 회로 연결 은 매우 간단합니다. 초음파 센서의 트리거 핀은 핀 번호에 연결됩니다. Arduino의 12 번과 센서의 Echo 핀이 Arduino의 11 번 핀에 연결되어 있습니다. 센서의 Vcc는 Arduino의 5V 핀에 연결되고 센서의 GND는 Arduino의 GND에 연결됩니다. 부저의 한 핀은 Arduino의 GND에 연결되고 다른 핀은 Arduino의 8 번째 핀에 연결됩니다.
작동 설명:
이 Arduino 도어 알람을 작동하는 것은 매우 쉽습니다. 초음파 센서의 경로 / 범위에 사람이 들어올 때마다 마이크로 컨트롤러는 센서에서 물체까지의 거리를 감지하고 물체가 정의 된 범위 내에 있으면 High 신호를 부저로 보내고 부저가 울리기 시작합니다.
범위 내에서 센서 앞에 물체를 놓아 회로를 테스트 할 수 있으며 데모를 위해 비디오를 확인하십시오. 초음파 센서의이 기능은 장애물 회피 로봇을 만드는 데에도 사용할 수 있습니다.
프로그래밍 설명:
이 프로젝트에서는 Tim Eckel이 개발 한 초음파 센서 용 NewPing.h 라이브러리를 사용 했습니다 . 이전 프로젝트에서했던 것처럼이 라이브러리없이 초음파 센서를 사용할 수 있지만이 라이브러리는 초음파 센서에 대한 많은 좋은 기능을 제공하며이 라이브러리를 사용하여 초음파 센서에 대한 코딩이 쉬워집니다. 이 라이브러리를 사용하면 너무 많은 코드를 작성하지 않고도 초음파 센서의 기능을 쉽게 사용할 수 있습니다. 낮은 수준에서 복잡성을 처리하는 데 사용되는 다른 라이브러리와 같습니다.
#포함
이 링크를 따라 가면이 라이브러리의 모든 기능, 사용 및 샘플 코드를 확인할 수 있습니다. 이 라이브러리의 공식 Arduino 페이지도 확인하십시오.
최신 버전의 라이브러리는 위에 제공된 링크에서 다운로드 할 수 있습니다. 또한 Teensy를 위해 수정 된 아래 링크에서 라이브러리를 다운로드했습니다.
github.com/PaulStoffregen/NewPing
먼저 해당 페이지에 제공된 예제 코드를 레코딩하여 센서를 테스트해야합니다. 또한 프로젝트에 예제 코드를 사용하고 도어 알람 프로젝트 에 따라 수정했습니다.
트리거 핀은 Arduino의 12 번 핀에 연결되고 Echo 핀은 Arduino의 11 번 핀에 연결됩니다. MAX_DISTANCE 는 센서가 장애물을 감지 할 수있는 최대 거리가 500cm 또는 5m 임을 의미합니다.
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
아래 줄은 데이터가 초음파 센서에서 Arduino 직렬 포트로 전송되는 Baud Rate를 나타냅니다.
Serial.begin (115200);
10 번 핀은 출력 핀으로 구성되며 부저에 연결됩니다. 부저의 다른 핀은 Arduino의 GND에 연결됩니다.
pinMode (10, OUTPUT);
에서는 보이드 echoCheck () 함수 sonar.ping_result / US_ROUNDTRIP_CM는 센서로부터 장애물까지의 거리를 계산하는데 사용된다. 플래그 는 초음파 센서에서 장애물이 50cm 범위 내에있을 때 부저를 울리는 데 사용됩니다. 요구 사항이나 문 크기에 따라이 '거리'를 변경할 수 있습니다.
if ((sonar.ping_result / US_ROUNDTRIP_CM) <50) 플래그 = 1; 그렇지 않으면 ((sonar.ping_result / US_ROUNDTRIP_CM)> 50) 플래그 = 0;
이 코드는 NewPing.h 라이브러리 작성자가 매우 잘 설명했으며 쉽게 이해할 수 있습니다. 또한 라이브러리 페이지 자체를 확인하여 더 잘 이해할 수 있으며이 라이브러리를 사용하여 초음파 센서를 사용하여 복잡한 프로젝트를 만들 수 있습니다. 이 도어 알람 프로젝트의 전체 코드는 다음과 같습니다.
주로 초음파 센서 는 물체와의 거리를 측정하는 데 사용되지만 여기서는 Arduino와 함께 보안 경보 또는 도어 경보로 사용할 수 있음을 알 수 있습니다. 마찬가지로 우리는 다음과 같이 많은 유용한 프로젝트를 만들 수 있습니다: 자동 수위 표시기 및 Arduino를 사용하는 컨트롤러