Arduino 기반의 무선 경보 시스템. 홈 알람 또는 Arduino와 함께 모션 센서 및 LCD 모니터 사용 조립에 사용할 것

지난 10년 동안 자동차 절도는 세계에서 저지르는 범죄 구조에서 가장 중요한 위치 중 하나를 차지해 왔습니다. 이는 총 범죄 건수에 비해 이 절도 범주의 비중이 아니라 높은 자동차 비용으로 인해 발생하는 피해의 중요성 때문입니다. 90년대 말까지 차량 도난 방지 분야에서 취한 조치의 효율성이 미약하여 이러한 범죄를 저지르고 차량을 소유하는 데 특화된 안정적인 그룹이 탄생했습니다. 고유 한 특징조직범죄; 아마도 "흑인 자동차 사업"이라는 용어를 들어보셨을 것입니다. 유럽 ​​국가의 자동차 함대에는 매년 범죄 공격의 대상이 되는 자동차가 약 2% 정도 부족합니다. 그래서 Arduino Uno를 기반으로 자동차에 GSM 알람을 만드는 아이디어를 생각해 냈습니다.

의 시작하자!

우리는 무엇으로부터 수집할 것인가?

우리는 시스템의 핵심을 선택해야 합니다. 제 생각에는 이러한 신호 전달에 Arduino Uno보다 더 좋은 것은 없습니다. 주요 기준은 충분한 수의 "핀"과 가격입니다.


아두이노 우노의 주요 특징

마이크로컨트롤러 - ATmega328
작동 전압 - 5V
입력 전압(권장) - 7-12V
입력 전압(한계) - 6-20V
디지털 입력/출력 - 14개(그 중 6개는 PWM 출력으로 사용 가능)
아날로그 입력 - 6
입력/출력을 통한 정전류 - 40mA
출력 3.3V - 50mA용 정전류
플래시 메모리 - 32KB(ATmega328) 중 0.5KB는 부트로더에 사용됩니다.
RAM - 2KB(ATmega328)
EEPROM - 1KB(ATmega328)
클록 주파수 - 16MHz


맞다!

이제 우리의 경보 시스템이 자동차 소유자에게 알릴 수 있어야 하므로 GSM 모듈을 선택해야 합니다. 따라서 Google에서 검색해야 합니다... 여기에 우수한 센서인 SIM800L이 있으며 크기가 정말 훌륭합니다.


생각하고 중국에서 주문했어요. 그러나 모든 것이 그렇게 장밋빛이 아닌 것으로 판명되었습니다. 센서는 단순히 네트워크에 SIM 카드 등록을 거부했습니다. 가능한 모든 것을 시도했지만 결과는 0이었습니다.
설립하다 좋은 사람들나에게 더 많은 것을 제공한 사람 멋진 것- Sim900 쉴드. 이제 이것은 심각한 일입니다. Shield에는 마이크와 헤드폰 잭이 모두 있어 본격적인 전화기가 됩니다.


Sim900 쉴드의 주요 특징

4가지 작동 주파수 표준 850/ 900/ 1800/ 1900 MHz
GPRS 다중 슬롯 클래스 10/8
GPRS 이동국 클래스 B
GSM 단계 2/2+ 준수
클래스 4(2W @850/900MHz)
클래스 1(1W @ 1800/1900MHz)
AT 명령(GSM 07.07, 07.05 및 SIMCOM 확장 AT 명령)을 사용한 제어
낮은 소비전력: 1.5mA(절전 모드)
작동 온도 범위: -40°C ~ +85°C


맞다!

알겠습니다. 하지만 소유자에게 알리려면 일부 센서의 값을 읽어야 합니다. 차가 견인되면 공간에서 차의 위치가 분명히 바뀔 것입니다. 가속도계와 자이로스코프를 살펴보겠습니다. 엄청난. 좋습니다. 이제 센서를 찾고 있습니다.

제 생각에는 GY-521 MPU6050이 꼭 맞을 것 같습니다. 온도 센서도 있는 것으로 밝혀졌습니다. 우리도 그것을 사용해야 합니다. 그러한 "킬러 기능"이 있을 것입니다. 차 주인이 차를 집 밑에 주차하고 떠났다고 가정해 보겠습니다. 차내 온도가 "부드럽게" 변합니다. 침입자가 차에 침입하려고 하면 어떻게 되나요? 예를 들어, 그는 문을 열 수 있을 것입니다. 실내 공기가 공기와 혼합되기 시작하면 차량 내부 온도가 급격히 변하기 시작합니다. 환경. 나는 그것이 효과가 있을 것이라고 생각한다.


GY-521 MPU6050의 주요 특징

MPU-6050 칩의 3축 자이로스코프 + 3축 가속도계 GY-521 모듈. 공간에서 물체의 위치와 움직임, 회전 중 각속도를 결정할 수 있습니다. 온도 센서도 내장되어 있습니다. 다양한 헬리콥터 및 항공기 모델에 사용되며, 이러한 센서를 기반으로 모션 캡처 시스템을 조립할 수도 있습니다.

칩 - MPU-6050
공급 전압 - 3.5V ~ 6V(DC);
자이로 범위 - ±250 500 1000 2000°/s
가속도계 범위 - ±2±4±8±16g
통신 인터페이스 - I2C
크기 - 15x20mm.
무게 - 5g


맞다!

진동 센서도 유용합니다. 갑자기 그들은 "무차별적인 힘"으로 차를 열려고 시도하거나 주차장에서 다른 차가 당신의 차를 들이받습니다. 진동 센서 SW-420(조정 가능)을 살펴보겠습니다.


SW-420의 주요특징

공급 전압 - 3.3 - 5V
출력 신호 - 디지털 High/Low(상시 닫힘)
사용센서 - SW-420
사용된 비교기는 LM393입니다.
크기 - 32x14mm
추가로 - 조정 저항이 있습니다.


맞다!

SD 메모리 카드 모듈을 나사로 고정합니다. 로그 파일도 작성하겠습니다.


SD 메모리 카드 모듈의 주요 특징

이 모듈을 사용하면 마이크로컨트롤러 기반 장치 작동에 필요한 데이터를 SD 카드에 저장하고 읽고 쓸 수 있습니다. 장치 사용은 수십 메가바이트에서 2기가바이트의 파일을 저장할 때 적합합니다. 보드에는 SD 카드 컨테이너, 카드 전원 안정 장치, 인터페이스 및 전력선용 커넥터 플러그가 포함되어 있습니다. 오디오, 비디오 또는 기타 대규모 데이터로 작업해야 하는 경우(예: 이벤트 로그 유지, 센서 데이터 또는 웹 서버 정보 저장) Arduino용 SD 메모리 카드 모듈을 사용하면 SD 카드를 사용할 수 있습니다. 이러한 목적을 위해. 모듈을 사용하여 SD 카드의 기능을 학습할 수 있습니다.
공급 전압 - 5 또는 3.3V
SD 카드 메모리 용량 - 최대 2GB
크기 - 46 x 30mm


맞다!

그리고 서보 드라이브를 추가해 보겠습니다. 센서가 작동하면 비디오 레코더가 장착된 서보 드라이브가 회전하여 사건 영상을 촬영합니다. MG996R 서보 드라이브를 살펴보겠습니다.


MG996R 서보 드라이브의 주요 특징

안정적이고 안정적인 보호손상으로부터
- 금속 드라이브
- 복열 볼 베어링
- 와이어 길이 300mm
- 크기 40x19x43mm
- 무게 55g
- 회전 각도: 120도.
- 동작속도 : 0.17초/60도 (4.8V 무부하)
- 동작속도 : 0.13초/60도 (6V 무부하)
- 시동 토크 : 4.8V 전원 공급시 9.4kg/cm
- 시동 토크 : 6V 전원 공급 장치에서 11kg/cm
- 작동 전압: 4.8 - 7.2V
- 모든 구동 부품은 금속으로 제작되었습니다.


맞다!

우리는 수집한다

Google에는 각 센서 연결에 관한 수많은 기사가 있습니다. 그리고 나는 새로운 자전거를 만들고 싶지 않기 때문에 간단하고 작동 가능한 옵션에 대한 링크를 남겨 두겠습니다.

Arduino의 GSM 경보 시스템

이 기사에서는 GSM 모듈과 Arduino를 사용하여 매우 저렴하게 GSM 경보를 직접 만드는 방법(구매)을 배웁니다. GSM 경보 보안의 목적은 이상적입니다. 다차가 할 거야, 집, 차고, 아파트.


1단계: 요소
이 프로젝트에는 다음이 필요합니다.


GSM 실드

부저
알람 사이렌 12V
12V 전원 공급 장치

아두이노용 키보드
액자.

2단계: 구성 요소 연결


먼저 당신이 배치 GSM 모듈 Arduino Uno에서는 두 개의 센서, 버저 및 릴레이 모듈 입력과 함께 GND 및 VCC 와이어를 납땜해야 합니다. 그런 다음 납땜된 와이어를 GSM 실드의 해당 커넥터에 연결합니다. 다음으로 이 부품으로 I/O 신호 커넥터를 만들고 마지막으로 해야 할 일은 키보드를 연결하는 것입니다.

Arduino Uno/GSM 터미널:

핀 0: 연결되지 않음;
결론 1: 관련 없음;
핀 2: 연결되지 않음(GSM이 이 핀을 사용함)
핀 3: 연결되지 않음(GSM은 이 핀을 사용함)
핀 4: 키보드를 사용하는 마지막 줄(키보드 핀 4 - 8부터);
결론 5: 관련 없음;
핀 6: 키보드를 통한 두 번째 열(키보드 핀 6 - 8에서);
출력 7: 키보드의 세 번째 열(손가락 키보드 7 - 8에서);
핀 8: 연결되지 않음(GSM이 이 핀을 사용함)
핀 9: 연결되지 않음(GSM이 이 핀을 사용함)
핀 10: PIR 센서 데이터 번호 2;
결론 11: 사이렌 소리 신호(릴레이 모듈 입력으로 들어갑니다);
핀 12: PIR 센서 데이터 번호 1;
핀 13: 부저 입력 신호;

보시다시피, 키보드에는 8개의 핀이 있지만 3개만 연결되어 있습니다(1행과 2개의 열, 두 개의 숫자를 읽을 수 있음 - 1×2 매트릭스). 따라서 이 세 개의 전선을 사용하여 비밀번호를 만들 수 있지만 아무 것도 없습니다. 키보드의 모든 접점을 사용해야 합니다. 모션 센서가 방에 걸어다니는 사람을 감지하면 해당 사람이 알람을 끄는 데 5초 밖에 걸리지 않기 때문입니다. 특정 시간에 알람이 꺼지지 않으면 GSM 쉴드가 사용자에게 SMS를 보내거나 사용자의 전화번호로 전화를 겁니다. Arduino는 전화를 걸도록 프로그래밍되어 있으며 전화를 받으면 즉시 전화를 끊습니다.

물론 센서에서 잘못된 판독값을 얻을 수도 있으므로 휴대전화에서 Arduino로 SMS를 보내기만 하면 알람을 끌 수 있는 옵션도 있습니다. 추가적으로, 여러분이 할 수 있는 또 다른 옵션은 쉴드가 올바르게 작동하고 있음을 알 수 있도록 하루에 한 번씩 메시지를 보내도록 설정하는 것입니다.

3단계: 코드

아래 코드를 다운로드하고 컴파일하면 됩니다. Keypad.h 및 GSM.h 라이브러리를 사용합니다.
파일 다운로드: (다운로드: 181)
파일 다운로드: (다운로드: 104)

4단계: 결론


Arduino Uno 코드가 누군가 집에 침입한 후 단 5초 만에 문자 메시지를 보내고 전화를 걸 수 있다는 점을 고려하면 경찰에 신고할 시간은 충분할 것입니다. 물론 사이렌은 도둑을 놀라게 할 것이며 이 기사의 도움으로 집이나 다른 건물이 더 안전해질 것입니다.

안녕하세요, 독자 여러분! 오늘의 기사는 간단한 만들기에 관한 것입니다. 홈 시스템사용 가능한 구성 요소를 사용하여 안전합니다. 이 작고 저렴한 장치는 침입으로부터 집을 보호하는 데 도움이 됩니다. Arduino 도움말, 모션 센서, 디스플레이 및 스피커. 장치는 배터리나 컴퓨터의 USB 포트를 통해 전원을 공급받을 수 있습니다.

자, 시작해 봅시다!

어떻게 작동하나요?

온혈 동물의 몸은 적외선을 방출하는데, 이는 사람의 눈에는 보이지 않지만 센서를 사용하면 감지할 수 있습니다. 이러한 센서는 열에 노출되면 자연적으로 분극될 수 있는 재료로 만들어져 센서 범위 내에서 열원의 출현을 감지할 수 있습니다.

더 넓은 범위의 경우 다양한 방향에서 IR 방사선을 수집하여 센서 자체에 집중시키는 프레넬 렌즈가 사용됩니다.

그림은 렌즈가 렌즈에 떨어지는 광선을 어떻게 왜곡하는지 보여줍니다.

특히 뜨거운 부품이 없는 로봇과 냉혈 로봇은 적외선 복사를 거의 방출하지 않으므로 Boston Dynamics 직원이나 파충류가 주변을 둘러싸기로 결정하면 센서가 작동하지 않을 수 있습니다.

범위 내 IR 방사 수준에 변화가 있으면 Arduino에서 처리된 후 LCD 디스플레이에 상태가 표시되고 LED가 깜박이며 스피커에서 신호음이 울립니다.

우리는 무엇이 필요한가?

  1. (또는 다른 보드).
  2. (2줄에 16자)
  3. 크라운을 Arduino에 연결하기 위한 커넥터 1개
  4. (일반 스피커를 사용해도 되지만)
  5. USB 케이블 - 프로그래밍 전용( 대략. 번역:항상 Arduino와 함께 제공됩니다!)
  6. 컴퓨터(다시 말하지만, 프로그램 작성 및 로드에만 해당).

그건 그렇고, 이 모든 부품을 별도로 구매하고 싶지 않다면 우리의 부품에주의를 기울이는 것이 좋습니다. 예를 들어, 스타터 키트에는 필요한 모든 것이 포함되어 있습니다.

연결하자!

모션 센서를 연결하는 것은 매우 간단합니다.

  1. Vcc 핀을 5V Arduino에 연결합니다.
  2. Gnd 핀을 Arduino의 GND에 연결합니다.
  3. OUT 핀을 Arduino의 디지털 핀 7번에 연결합니다.

이제 LED와 스피커를 연결해 보겠습니다. 여기서도 마찬가지로 간단합니다.

  1. LED의 짧은 다리(마이너스)를 접지에 연결합니다.
  2. LED의 긴 다리(플러스)를 Arduino의 출력 13번에 연결합니다.
  3. 10번 출력에 대한 빨간색 스피커 선
  4. 검정색 선 - 접지

이제 어려운 부분은 1602 LCD 디스플레이를 Arduino에 연결하는 것입니다. I2C가 없는 디스플레이가 있으므로 Arduino 출력이 많이 필요하지만 결과는 그만한 가치가 있습니다. 다이어그램은 다음과 같습니다.

회로의 일부만 필요합니다(전위차계를 사용한 대비 조정은 필요하지 않음). 따라서 다음만 수행하면 됩니다.

이제 1602 디스플레이를 Arduino UNO R3(및 Mini에서 Mega까지 모든 Arduino 버전)에 연결하는 방법을 알았습니다.

프로그램 작성

이제 프로그래밍으로 넘어갈 시간입니다. 다음은 작성하기만 하면 되는 코드입니다. 모든 것을 올바르게 조립했다면 장치가 준비된 것입니다!

#포함하다 int ledPin = 13; // LED 핀 int inputPin = 7; // Out of Motion Sensor가 연결된 핀 int pirState = LOW; // 현재 상태(처음에는 아무것도 감지되지 않음) int val = 0; // 디지털 입력 상태를 읽기 위한 변수 int pinSpeaker = 10; // 스피커가 연결된 핀입니다. PWM 핀 필요 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD 디스플레이 초기화 void setup() ( // 디지털 핀의 데이터 전송 방향 결정 pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // 디버깅 정보 출력 시작 직렬 직렬 포트를 통해 .begin(9600); // LCD 디스플레이로 출력 시작 lcd.begin(16, 2); // 출력을 시작할 디스플레이에 인덱스 설정 // (2자, 0줄) ) lcd.setCursor(2, 0) ; // LCD 디스플레이에 출력 lcd.print("P.I.R Motion"); // 다시 이동 lcd.setCursor(5, 1); // 출력 lcd.print("Sensor" ); // 출력 지연이 무엇인지 읽기 위해 잠시 멈춤(5000); // lcd.clear() 지우기; // lcd.setCursor(0, 0)와 유사; lcd.print("데이터 처리 중." ); 지연(3000); lcd.clear(); lcd.setCursor(3, 0); lcd.print("대기 중"); lcd.setCursor(3, 1); lcd.print("동작... ."); ) void loop() ( // 센서 판독값 읽기 val = digitalRead(inputPin); if (val == HIGH) ( // 움직임이 있으면 LED를 켜고 사이렌을 켭니다. digitalWrite(ledPin, 높은); playTone(300, 300); 지연(150); // 이 순간까지 움직임이 없으면 // 감지되었다는 메시지를 표시합니다. // 아래 코드는 상태 변경만 작성하고 매번 값을 인쇄하지 않으려면 필요합니다. if (pirState == LOW) ( Serial.println( "동작이 감지되었습니다!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("동작이 감지되었습니다!"); pirState = HIGH; ) ) else ( // 모션이 끝났습니다. digitalWrite(ledPin, LOW); playTone(0, 0); Delay(300); if (pirState == HIGH)( // 움직임이 있었지만 이미 종료되었음을 알립니다. Serial.println("모션이 종료되었습니다. !"); lcd.clear() ; lcd.setCursor(3, 0); lcd.print("대기 중"); lcd.setCursor(3, 1); lcd.print("동작....") ; pirState = LOW; ) ) ) / / 사운드 재생 기능. 지속 시간(duration) - 밀리초 단위, Freq(주파수) - Hz 단위 void playTone(longduration, int freq)(duration *= 1000; int period = (1.0 / freq) * 100000; long elapsed_time = 0; while(elapsed_time)< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }

지난 10년 동안 자동차 절도는 세계에서 저지르는 범죄 구조에서 가장 중요한 위치 중 하나를 차지해 왔습니다. 이는 총 범죄 건수에 비해 이 절도 범주의 비중이 아니라 높은 자동차 비용으로 인해 발생하는 피해의 중요성 때문입니다. 90년대 말까지 차량 도난 방지 분야에서 취해진 조치의 약한 효율성으로 인해 이러한 범죄를 전문으로 하고 조직 범죄의 특징을 지닌 안정적인 그룹이 탄생했습니다. 아마도 "흑인 자동차 사업"이라는 용어를 들어보셨을 것입니다. 유럽 ​​국가의 자동차 함대에는 매년 범죄 공격의 대상이 되는 자동차가 약 2% 정도 부족합니다. 그래서 Arduino Uno를 기반으로 자동차에 GSM 알람을 만드는 아이디어를 생각해 냈습니다.

의 시작하자!

우리는 무엇으로부터 수집할 것인가?

우리는 시스템의 핵심을 선택해야 합니다. 제 생각에는 이러한 신호 전달에 Arduino Uno보다 더 좋은 것은 없습니다. 주요 기준은 충분한 수의 "핀"과 가격입니다.


아두이노 우노의 주요 특징

마이크로컨트롤러 - ATmega328
작동 전압 - 5V
입력 전압(권장) - 7-12V
입력 전압(한계) - 6-20V
디지털 입력/출력 - 14개(그 중 6개는 PWM 출력으로 사용 가능)
아날로그 입력 - 6
입력/출력을 통한 정전류 - 40mA
출력 3.3V - 50mA용 정전류
플래시 메모리 - 32KB(ATmega328) 중 0.5KB는 부트로더에 사용됩니다.
RAM - 2KB(ATmega328)
EEPROM - 1KB(ATmega328)
클록 주파수 - 16MHz


맞다!

이제 우리의 경보 시스템이 자동차 소유자에게 알릴 수 있어야 하므로 GSM 모듈을 선택해야 합니다. 따라서 Google에서 검색해야 합니다... 여기에 우수한 센서인 SIM800L이 있으며 크기가 정말 훌륭합니다.


생각하고 중국에서 주문했어요. 그러나 모든 것이 그렇게 장밋빛이 아닌 것으로 판명되었습니다. 센서는 단순히 네트워크에 SIM 카드 등록을 거부했습니다. 가능한 모든 것을 시도했지만 결과는 0이었습니다.
나에게 더 멋진 Sim900 Shield를 제공해 준 친절한 사람들이 있었습니다. 이제 이것은 심각한 일입니다. Shield에는 마이크와 헤드폰 잭이 모두 있어 본격적인 전화기가 됩니다.


Sim900 쉴드의 주요 특징

4가지 작동 주파수 표준 850/ 900/ 1800/ 1900 MHz
GPRS 다중 슬롯 클래스 10/8
GPRS 이동국 클래스 B
GSM 단계 2/2+ 준수
클래스 4(2W @850/900MHz)
클래스 1(1W @ 1800/1900MHz)
AT 명령(GSM 07.07, 07.05 및 SIMCOM 확장 AT 명령)을 사용한 제어
낮은 소비전력: 1.5mA(절전 모드)
작동 온도 범위: -40°C ~ +85°C


맞다!

알겠습니다. 하지만 소유자에게 알리려면 일부 센서의 값을 읽어야 합니다. 차가 견인되면 공간에서 차의 위치가 분명히 바뀔 것입니다. 가속도계와 자이로스코프를 살펴보겠습니다. 엄청난. 좋습니다. 이제 센서를 찾고 있습니다.

제 생각에는 GY-521 MPU6050이 꼭 맞을 것 같습니다. 온도 센서도 있는 것으로 밝혀졌습니다. 우리도 그것을 사용해야 합니다. 그러한 "킬러 기능"이 있을 것입니다. 차 주인이 차를 집 밑에 주차하고 떠났다고 가정해 보겠습니다. 차내 온도가 "부드럽게" 변합니다. 침입자가 차에 침입하려고 하면 어떻게 되나요? 예를 들어, 그는 문을 열 수 있을 것입니다. 실내 공기가 주변 공기와 혼합되기 시작하면 차량 내부 온도가 급격히 변하기 시작합니다. 나는 그것이 효과가 있을 것이라고 생각한다.


GY-521 MPU6050의 주요 특징

MPU-6050 칩의 3축 자이로스코프 + 3축 가속도계 GY-521 모듈. 공간에서 물체의 위치와 움직임, 회전 중 각속도를 결정할 수 있습니다. 온도 센서도 내장되어 있습니다. 다양한 헬리콥터 및 항공기 모델에 사용되며, 이러한 센서를 기반으로 모션 캡처 시스템을 조립할 수도 있습니다.

칩 - MPU-6050
공급 전압 - 3.5V ~ 6V(DC);
자이로 범위 - ±250 500 1000 2000°/s
가속도계 범위 - ±2±4±8±16g
통신 인터페이스 - I2C
크기 - 15x20mm.
무게 - 5g


맞다!

진동 센서도 유용합니다. 갑자기 그들은 "무차별적인 힘"으로 차를 열려고 시도하거나 주차장에서 다른 차가 당신의 차를 들이받습니다. 진동 센서 SW-420(조정 가능)을 살펴보겠습니다.


SW-420의 주요특징

공급 전압 - 3.3 - 5V
출력 신호 - 디지털 High/Low(상시 닫힘)
사용센서 - SW-420
사용된 비교기는 LM393입니다.
크기 - 32x14mm
추가로 - 조정 저항이 있습니다.


맞다!

SD 메모리 카드 모듈을 나사로 고정합니다. 로그 파일도 작성하겠습니다.


SD 메모리 카드 모듈의 주요 특징

이 모듈을 사용하면 마이크로컨트롤러 기반 장치 작동에 필요한 데이터를 SD 카드에 저장하고 읽고 쓸 수 있습니다. 장치 사용은 수십 메가바이트에서 2기가바이트의 파일을 저장할 때 적합합니다. 보드에는 SD 카드 컨테이너, 카드 전원 안정 장치, 인터페이스 및 전력선용 커넥터 플러그가 포함되어 있습니다. 오디오, 비디오 또는 기타 대규모 데이터로 작업해야 하는 경우(예: 이벤트 로그 유지, 센서 데이터 또는 웹 서버 정보 저장) Arduino용 SD 메모리 카드 모듈을 사용하면 SD 카드를 사용할 수 있습니다. 이러한 목적을 위해. 모듈을 사용하여 SD 카드의 기능을 학습할 수 있습니다.
공급 전압 - 5 또는 3.3V
SD 카드 메모리 용량 - 최대 2GB
크기 - 46 x 30mm


맞다!

그리고 서보 드라이브를 추가해 보겠습니다. 센서가 작동하면 비디오 레코더가 장착된 서보 드라이브가 회전하여 사건 영상을 촬영합니다. MG996R 서보 드라이브를 살펴보겠습니다.


MG996R 서보 드라이브의 주요 특징

손상으로부터 안정적이고 신뢰할 수 있는 보호
- 금속 드라이브
- 복열 볼 베어링
- 와이어 길이 300mm
- 크기 40x19x43mm
- 무게 55g
- 회전 각도: 120도.
- 동작속도 : 0.17초/60도 (4.8V 무부하)
- 동작속도 : 0.13초/60도 (6V 무부하)
- 시동 토크 : 4.8V 전원 공급시 9.4kg/cm
- 시동 토크 : 6V 전원 공급 장치에서 11kg/cm
- 작동 전압: 4.8 - 7.2V
- 모든 구동 부품은 금속으로 제작되었습니다.


맞다!

우리는 수집한다

Google에는 각 센서 연결에 관한 수많은 기사가 있습니다. 그리고 나는 새로운 자전거를 만들고 싶지 않기 때문에 간단하고 작동 가능한 옵션에 대한 링크를 남겨 두겠습니다.

안녕하세요 여러분, 오늘은 모션 센서라는 장치를 살펴 보겠습니다. 우리 중 많은 사람들이 이에 대해 들어봤고 일부는 이 장치를 다루기도 했습니다. 모션 센서란 무엇입니까? 그것을 알아 내려고 노력합시다.

모션 센서 또는 변위 센서 - 어떤 물체의 움직임을 감지하는 장치(장치). 이러한 장치는 보안, 경보 및 모니터링 시스템에 사용되는 경우가 많습니다. 이러한 센서에는 매우 다양한 형태의 요소가 있지만 우리는 보드에 연결하기 위한 모션 센서 모듈을 고려하겠습니다. 아두이노,그리고 구체적으로 회사에서 RobotDyn. 왜 이 회사인가? 나는 이 상점과 그 제품을 광고하고 싶지 않지만 최종 소비자에게 제품의 고품질 제시로 인해 실험실 샘플로 선택된 것은 이 상점의 제품이었습니다. 그래서 우리는 만난다 - 모션 센서(PIR 센서) RobotDyn에서:


이 센서는 크기가 작고 전력 소비가 적으며 사용하기 쉽습니다. 또한 RobotDyn 모션 센서에는 실크 스크린 접점도 있습니다. 이는 물론 작은 일이지만 매우 즐겁습니다. 글쎄, 동일한 센서를 사용하지만 다른 회사에서만 사용하는 사람들은 걱정할 필요가 없습니다. 모두 동일한 기능을 가지고 있으며 접점이 표시되지 않더라도 해당 센서의 핀아웃은 인터넷에서 쉽게 찾을 수 있습니다.

기초적인 명세서모션 센서(PIR 센서):

센서 작동 영역: 3~7미터

추적 각도: 최대 110o

작동 전압: 4.5...6V

전류 소비: 최대 50μA

메모:광 센서를 IN 및 GND 핀에 연결하여 센서의 표준 기능을 확장할 수 있으며, 모션 센서는 어둠 속에서만 작동합니다.

장치를 초기화하는 중입니다.

전원을 켜면 센서가 초기화되는 데 거의 1분 정도 걸립니다. 이 기간 동안 센서는 잘못된 신호를 보낼 수 있습니다. 센서가 연결된 마이크로컨트롤러를 프로그래밍할 때나 회로에서 이를 고려해야 합니다. 액추에이터, 마이크로컨트롤러를 사용하지 않고 연결한 경우.

감지 각도 및 영역.

감지(추적) 각도는 110도이고 감지 거리 범위는 3~7미터이며 아래 그림은 모든 것을 보여줍니다.

감도(감지 거리) 및 시간 지연 조정.

아래 표는 모션 센서의 주요 조정을 보여줍니다. 왼쪽에는 각각 시간 지연 조정기가 있고 왼쪽 열에는 가능한 설정에 대한 설명이 있습니다. 오른쪽 열에는 감지 거리 조정이 설명되어 있습니다.


센서 연결:

  • PIR 센서 - Arduino Nano
  • PIR 센서 - Arduino Nano
  • PIR 센서 - Arduino Nano
  • PIR 센서 - 조도 센서용
  • PIR 센서 - 조도 센서용

일반적인 연결 다이어그램은 아래 다이어그램에 나와 있으며, 우리의 경우 센서는 일반적으로 후면에서 표시되며 Arduino Nano 보드에 연결됩니다.

모션 센서의 작동을 보여주는 스케치(프로그램 사용):

/* * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano */ void setup() ( //포트 모니터에 연결 설정 Serial.begin(9600); ) void loop( ) ( //포트 A0에서 임계값을 읽습니다. //신호가 있는 경우 일반적으로 500보다 높습니다. if(analogRead(A0) > 500) ( //모션 센서의 신호 Serial.println("움직임이 있습니다! !!"); ) else ( / /신호 없음 Serial.println("모든 것이 조용합니다..."); ) )

스케치는 모션 센서 작동에 대한 일반적인 테스트이며 다음과 같은 많은 단점이 있습니다.

  1. 허위 경보가 발생할 수 있습니다. 센서는 1분 이내에 자체 초기화가 필요합니다.
  2. 포트 모니터에 대한 견고한 바인딩, 출력 액추에이터 없음(릴레이, 사이렌, LED 표시기)
  3. 센서 출력의 신호 시간이 너무 짧습니다. 동작이 감지되면 프로그래밍 방식으로 신호를 장기간 지연시켜야 합니다.

회로를 복잡하게 만들고 센서의 기능을 확장하면 위에서 설명한 단점을 피할 수 있습니다. 이렇게 하려면 릴레이 모듈로 회로를 보완하고 이 모듈을 통해 일반 220V 램프를 연결해야 합니다. 릴레이 모듈 자체는 Arduino Nano 보드의 핀 3에 연결됩니다. 따라서 개략도는 다음과 같습니다.

이제 모션 센서를 테스트한 스케치를 약간 개선할 차례입니다. 모션 센서 자체가 트리거될 때 출력에서 ​​신호 시간이 너무 짧기 때문에 릴레이 끄기 지연이 구현되는 것이 스케치에 있습니다. 프로그램은 센서가 트리거될 때 10초 지연을 구현합니다. 원하는 경우 변수 값을 변경하여 이 시간을 늘리거나 줄일 수 있습니다. 지연값. 아래는 전체 작업 스케치와 영상입니다 조립된 회로:

/* * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano * 릴레이 모듈 -> Arduino Nano */ //relout - 릴레이 모듈용 핀(출력 신호) const int relout = 3 ; //prevMillis - 이전 프로그램 스캐닝 주기의 시간을 저장하기 위한 변수 //interval - 릴레이를 끄기 전 초를 계산하는 시간 간격 unsigned long prevMillis = 0; 정수 간격 = 1000; //DelayValue - 릴레이가 켜진 상태로 유지되는 기간 int DelayValue = 10; //initSecond - 초기화 루프 반복 변수 int initSecond = 60; //countDelayOff - 시간 간격 카운터 static int countDelayOff = 0; //트리거 - 모션 센서 트리거 플래그 static bool Trigger = false; void setup() ( //릴레이 모듈이 연결된 포트를 초기화하기 위한 표준 절차 //중요!!! - 릴레이 모듈이 초기 꺼진 상태를 유지하고 //초기화 중에 트리거되지 않도록 하려면 다음이 필요합니다. //입/출력 포트에 HIGH 값을 쓰려면 잘못된 "클릭"을 방지하고 //전체 회로가 작동하기 전의 릴레이 상태를 유지합니다 pinMode(reout, OUTPUT); digitalWrite(relout, HIGH); //여기서는 모든 것이 간단합니다. 60회 종료 사이클(initSecond 변수)이 //1초 동안 지속될 때까지 기다립니다. 이 시간 동안 센서는 "자체 초기화"됩니다. for(int i = 0; i< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) ( //모션 센서 트리거 플래그 설정 if(!trigger) ( Trigger = true; ) ) //모션 센서 트리거 플래그가 설정되는 동안 while(trigger) ( //실행 지시를 따르다//currMillis 변수에 저장 //프로그램 실행 시작 후 경과된 밀리초 값 //unsigned long currMillis = millis(); //이전 밀리초 값과 비교 //차이가 지정된 간격보다 큰 경우: if(currMillis - prevMillis > Interval) ( //현재 밀리초 값을 변수 prevMillis prevMillis = currMillis에 저장합니다. // 지연 카운터를 기간 값과 비교하여 확인하십시오. //릴레이가 ON 상태를 유지해야 하는 동안 if(countDelayOff >= DelayValue) ( ​​​​//값이 동일하면: //재설정 모션 센서 트리거 플래그 Trigger = false; //지연 카운터 재설정 countDelayOff = 0; // 릴레이 끄기 digitalWrite(relout, HIGH); //사이클 중단을 중단합니다. ) else ( //값이 여전히 작으면, then //지연 카운터를 1만큼 증가시킵니다. countDelayOff ++; //릴레이를 켜짐 상태로 유지 digitalWrite(relout, LOW ); ) ) ) )

이 프로그램에는 다음과 같은 구조가 포함되어 있습니다.

부호 없는 긴 prevMillis = 0;

정수 간격 = 1000;

...

부호 없는 긴 currMillis = millis();

if(currMillis - prevMillis > 간격)

{

prevMillis = currMillis;

....

// 우리의 작업은 구조의 본문에 포함되어 있습니다.

....

}

명확히 하기 위해 이 디자인에 대해 별도로 언급하기로 결정했습니다. 그래서, 이 디자인프로그램에서 병렬 작업을 수행할 수 있습니다. 구조의 몸체는 대략 초당 한 번씩 작동하며 이는 변수에 의해 촉진됩니다. 간격. 먼저, 변수 currMillis함수를 호출할 때 반환되는 값이 할당됩니다. 밀리초(). 기능 밀리초()프로그램 시작 이후 경과한 밀리초 수를 반환합니다. 차이점이 있다면 currMillis - prevMillis변수의 값보다 큼 간격이는 프로그램 실행 시작 후 이미 1초 이상이 지났으므로 변수 값을 저장해야 함을 의미합니다. currMillis변수로 이전Millis그런 다음 구조체 본문에 포함된 작업을 수행합니다. 차이점이 있다면 currMillis - prevMillis변수 값보다 작음 간격이면 프로그램 스캐닝 주기 사이에 아직 1초가 지나지 않았으며 구조 본문에 포함된 작업을 건너뜁니다.

기사 끝 부분에는 저자의 비디오가 있습니다.

댓글이 작동하려면 자바스크립트를 활성화하세요.
공유하다