Arduino의 간단한 조명 및 소리 알람입니다. 홈 알람 또는 Arduino와 모션 센서 및 LCD 모니터를 사용합니다. SIM800L 및 Arduino 모듈을 사용하여 GSM 보안 경보를 만드는 방법, 작업 설명

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

의 시작하자!

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

우리는 시스템의 핵심을 선택해야 합니다. 제 생각에는 이러한 신호 전달에 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에는 각 센서 연결에 관한 수많은 기사가 있습니다. 그리고 나는 새로운 자전거를 만들고 싶지 않기 때문에 간단하고 작동 가능한 옵션에 대한 링크를 남겨 두겠습니다.

아시다시피 봄에는 온갖 종류의 악화가 수반되며 이제 주요 "악화"는 자신에게 속하지 않는 것을 스스로 활용하기 위해 구멍에서 거리로 기어 나왔습니다. 이는 귀하의 재산을 보호하는 주제가 그 어느 때보다 중요해지고 있음을 의미합니다.
이 사이트에는 이미 수제 제품에 대한 여러 리뷰가 있습니다. 물론 기능적이지만 모든 사람이 가지고 있습니다. 일반적인 특징- 콘센트에 대한 의존성. 이미 전기가 공급되고 있는 건물에서는 문제가 되지 않는다면, 콘센트가 멀리 있거나 주변 지역이 완전히 정전된 건물의 경우에는 어떨까요? 나는 다른 경로를 택하기로 결정했습니다. 가능한 한 간단하고 주전원과 무관하며 항상 잠자기 상태에 있고 강도가 침입하면 시작되어 소유자의 전화로 전화를 걸고 수명이 긴 장치를 조립하기로 결정했습니다. 간단한 알람 호출로 신호를 보냅니다.

검토 항목

구매 한:
1. 빵판단면 5x7cm: 게티낙스- 또는 유리섬유
* - 유리섬유는 getinax보다 품질이 훨씬 좋습니다.
2. Neoway M590 모듈 - PCB에 안테나 포함 -
3. Arduino 프로 미니 "RobotDyn" ATmega168PA 8MHz 3.3V -
4. 리튬 충방전 제어 보드 -

문명의 폐허에서 채굴되었습니다:
1. 장치 하우징에서 절단된 보드용 랙 - 6개
2. 리튬 플랫 배터리 1300mAh
3. 케이블을 벽에 고정하는 데 사용되는 스테이플
4. 문구지우개
5. 1.5mm 두께의 구리선
6. 지역 라디오 시장의 악기 하우징 - 1.5$
7. LED 쌍 다른 색깔(VHS 플레이어에서 가져옴)
8. 안테나 및 캡이 있는 버튼(Wi-Fi 라우터에서 가져옴)
9. 4핀 터미널 블록(디머에서 가져옴)
10. 전원 커넥터(18650용 기존 충전기에서 가져옴)
11. 6핀 커넥터(DVD 드라이브에서 가져옴)
12. 깡통(예: 커피 캔)

Arduino 프로 미니 "RobotDyn" Atmega 168PA 3.3V 8MHz

명세서:
마이크로컨트롤러: ATmega168PA
직접 작동 전압:.8 - 5.5V
안정기 LE33을 통한 작동 전압: 3.3V 또는 5V(모델에 따라 다름)
작동 온도:-40°C… 105°C
입력 전압: 3.35~12V(3.3V 모델) 또는 5~12V(5V 모델)
디지털 입력/출력: 14개(이 중 6개는 PWM 출력으로 사용 가능: 3, 5, 6, 9, 10, 11)
아날로그 입력: 6
타이머 카운터: 8비트 2개와 16비트 1개
에너지 절약 모드: 6
입력/출력을 통한 DC 전류: 40mA
플래시 메모리: 16KB(2KB는 부트로더에 사용됨)
램: 1KB
EEPROM: 512바이트
메모리 기록/삭제 리소스: 10,000 플래시/100,000 EEPROM
클록 주파수: 8MHz(3.3V 모델) 또는 16MHz(5V 모델)
SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK)
I2C: A4(SDA) 및 A5(SCL)
UART TTL: 0(RX) 및 1(TX)
데이터 시트:

선택은 우연히 이 atmega에 떨어졌습니다. 에너지 효율적인 프로젝트가 논의된 한 포럼의 댓글에는 168번째 atmega를 사용하라는 조언이 있었습니다.
그러나 모든 로트가 5V에서 작동하는 16MHz 주파수의 328 atmeg로 채워지는 경우가 많았기 때문에 그러한 보드를 찾기 위해 고심해야 했습니다. 내 프로젝트의 경우 이러한 특성은 처음부터 중복되고 불편했으며 검색이 더욱 복잡해졌습니다.
그 결과 eBay의 Atmega 168PA에서 3.3V 버전의 Pro Mini를 발견했습니다. 단순한 중국 버전이 아니라 러시아 개발자의 RobotDyn 브랜드입니다. 네, 저도 처음에는 당신처럼 의심이 많았어요. 그러나 헛된 것입니다. 프로젝트가 이미 조립되고 AliExpress가 값싼 상품에 대한 필수 유료 배송을 도입했을 때(그 후 소포가 훨씬 더 자주 분실되기 시작함) 나중에 일반 Pro Mini Atmega168(PA 없음) 3.3V 8MHz를 주문했습니다. 나는 두 보드 모두에서 절전 모드를 약간 실험했으며, 마이크로컨트롤러를 최대 절전 모드로 전환하는 특수 스케치를 각 보드에 플래시했으며 이것이 나왔습니다.
1) 아두이노 프로 미니 "RobotDyn": ~250μA
2) Arduino Pro Mini “NoName”:전압 안정기(RAW 핀)에 전원을 공급하고 LED를 납땜할 때 소모되는 전류는 ~3.92mA




- 아시다시피 에너지 소비의 차이는 거의 16배입니다. 이는 모두 NoName의 Pro Mini가 Atmega168+ 조합을 사용하기 때문입니다. 그 중 MK 자체는 20uA전류(이 부분은 별도로 확인했습니다), 나머지 모든 폭식은 AMS1117 선형 전압 변환기에 의해 설명됩니다. 데이터시트에서는 이를 확인만 합니다.


RobotDyn 보드의 경우 조합이 다소 다릅니다. 이는 Atmega168PA+입니다. 여기서는 에너지 절약 측면에서 특성이 더 즐거운 것으로 판명된 다른 LDO 안정기가 사용됩니다.


납땜을 제거하지 않았기 때문에 Atmega168PA가 얼마나 많은 전류를 소비하는지 알 수 없습니다. 순수한 형태. 안에 이 경우나는 충분했다 ~250μA Nokia에서 구동하는 경우 리튬 배터리. 그러나 NoName" 마더보드에서 AMS1117을 분리하면 위에서 언급한 것처럼 순수한 형태의 일반 ATmega168이 20uA.
전원 공급 장치가 있는 LED는 날카로운 물체로 인해 떨어져 나갈 수 있습니다. 문제가 되지 않습니다. 헤어드라이어로 안정제의 납땜을 제거했습니다. 그러나 모든 사람이 헤어 드라이어와 이를 사용할 수 있는 기술을 갖고 있는 것은 아니므로 위의 두 가지 옵션 모두 존재할 권리가 있습니다.

네오웨이 M590E 모듈

명세서:
주파수: EGSM900/DCS1800 듀얼 밴드, 또는 GSM850/1900 또는 쿼드 밴드
감광도:-107dBm
최대 전송 전력: EGSM900 클래스4(2W), DCS1800 클래스1(1W)
피크 전류: 2A
작동 전류: 210mA
수면 전류: 2.5mA
작동 온도:-40°C… +85°C
작동 전압: 3.3V~4.5V(3.9V 권장)
프로토콜: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP 등.
인터넷: GPRS 클래스 10
데이터 시트:

시장에서 찾을 수 있는 가장 저렴한 GSM 모듈은 일반적으로 사용되지만 숙련된 기술자가 항상 납땜하는 것은 아닙니다. 중국 손으로장비에서. 왜 항상 능숙하지 않은가? 예, 모두 헤어드라이어로 납땜을 제거했기 때문에 사람들은 플러스와 마이너스가 단락된 모듈을 받는 경우가 많습니다. 이는 작동 불능의 원인 중 하나입니다. 따라서 첫 번째 단계는 전원 접점에 단락이 있는지 확인하는 것입니다.

메모.제 생각에는 이 모듈에 안테나용 원형 동축 커넥터가 함께 제공될 수 있다는 점을 별도로 언급하고 싶습니다. 이를 통해 더 심각한 안테나를 별도로 주문하고 탬버린과 함께 춤을 추지 않고도 모듈에 연결할 수 있습니다. 또는 이 커넥터 없이 제공될 수도 있습니다. 이것은 가장 저렴한 세트에 대해 이야기하는 경우입니다. 행복한 사고에 의존하고 싶지 않다면 이 커넥터가 있는 약간 더 비싼 세트가 있으며 키트에는 Textolite 보드에 외부 안테나가 포함되어 있습니다.

이 모듈은 전원 공급 장치 측면에서도 변덕스럽습니다. 피크에서 최대 2A의 전류를 소비하고 키트에 포함된 다이오드는 전압을 5V에서 낮추도록 설계된 것 같습니다(이것이 보드 자체에 5V라고 표시된 이유입니다). ) ~ 4.2V로 판단되지만 사람들의 불만에 따르면 가치보다 더 많은 문제가 발생합니다.
이 모듈을 이미 조립했고 다이오드 대신 점퍼가 납땜되어 있다고 가정해 보겠습니다. 왜냐하면 우리는 모듈에 5V의 전압을 공급하지 않고 허용 범위 내에 있는 리튬 배터리에서 직접 전원을 공급할 것이기 때문입니다. 3.3-4.2V의 전압 제한.
어떻게든 컴퓨터에 연결하고 기능을 확인해야 합니다. 이 경우 미리 구입하는 것이 좋습니다. 이를 통해 UART 직렬 인터페이스(USART)를 통해 모듈 및 Arduino 보드와 통신합니다.
연결은 아래 그림에 나와 있습니다(최대한 최선을 다해 그렸습니다).
TX 모뎀 >>> RX 변환기
RX 모뎀<<< TX конвертера
배터리 플러스 - 모뎀 플러스
리튬 배터리의 음극은 모뎀의 GND와 변환기의 GND와 결합됩니다.
모뎀을 시작하려면 4.7kOhm 저항을 통해 BOOT 핀을 GND에 적용하십시오.


그 동안 컴퓨터에서 프로그램을 실행하십시오. 설정에 주의하세요.
1) TTL 변환기가 연결된 COM 포트를 선택하십시오. 제 경우에는 COM4이며 귀하의 포트는 다를 수 있습니다.
2) 데이터 전송 속도를 선택하세요. (여기에는 모듈 자체가 다양한 속도(대부분 9600보드 또는 115200보드)로 구성될 수 있기 때문에 뉘앙스가 있습니다. 여기에서는 균열이 발생하면 경험적으로 속도를 선택하고 연결하고 AT 명령을 보내야 합니다. 응답하면 연결이 끊어지고 다른 속도를 선택한 다음 명령을 반복하는 식으로 대답이 OK가 될 때까지 계속됩니다.
3) 패킷 길이(이 경우 8비트), 패리티 비트 비활성화(없음), 정지 비트(1)를 선택합니다.
4) 체크박스를 꼭 확인해주세요 +CR, 그러면 마지막에 모듈에 보내는 각 명령에 캐리지 리턴 문자가 자동으로 추가됩니다. 모듈은 끝에 이 문자가 있는 명령만 이해합니다.
5) 연결, 여기에서 모든 것이 명확합니다. 클릭하면 모듈 작업을 할 수 있습니다.

"연결"을 클릭한 다음 4.7K 저항을 통해 BOOT를 접지에 적용하여 모듈을 시작하면 먼저 터미널에 "MODEM:STARTUP"이라는 문구가 표시되고 잠시 후 "+PBREADY"라는 문구가 표시됩니다. 전화번호가 비어 있더라도 책을 읽었음을 의미합니다.

이 스포일러 아래에는 예제가 포함된 AT 명령이 있습니다.

AT 명령을 인쇄합니다. 이에 대한 응답으로 모듈은 에코 모드가 활성화되어 있으므로 명령을 보냅니다.

AT+CPAS 명령으로 모뎀의 상태를 확인해 보겠습니다. 응답은 다시 명령인 +CPAS: 0 및 OK입니다.
0은 모듈이 작동할 준비가 되었음을 의미하지만 상황에 따라 다른 숫자가 있을 수 있습니다(예: 3 – 수신 전화, 4 – 연결 모드, 5 – 절전 모드). 1번과 2번에 대한 정보는 찾을 수 없었습니다.

UART를 통한 데이터 전송 속도 변경은 AT+IPR=9600 명령으로 수행됩니다. 이는 9600의 속도가 필요한 경우입니다. 예를 들어 AT+IPR=19200 또는 AT+IPR=115200과 유사한 다른 속도가 필요한 경우입니다.

네트워크 신호를 확인해 보겠습니다. AT+CSQ, 응답은 +CSQ: 22.1입니다. - 소수점 이전 값의 범위는 0~31(115~52dBl)입니다. 이는 신호 레벨이며 높을수록 좋습니다. 그러나 99는 부재를 의미합니다. 소수점 이하의 값은 신호 품질 0... 7입니다. 여기서는 그 반대입니다. 숫자가 낮을수록 좋습니다.

중복된 명령이 간섭하지 않도록 ATE0 명령을 보내 에코 모드를 비활성화해 보겠습니다. 이 모드는 ATE1 명령을 사용하여 다시 켜집니다.

펌웨어 버전 보기 AT+GETVERS



이러한 명령과 기타 여러 명령을 볼 수 있습니다.

보드 정렬

Pro Mini를 브레드보드에 납땜하는 것이 어렵지 않다면 GSM 모듈을 사용하면 상황이 다소 복잡해집니다. 접촉 빗은 한쪽에만 위치하며 납땜하면 보드의 다른 쪽이 단순히 공중에 매달립니다. 그런 다음 다시 보드의 세 모서리 근처에 눈으로 구멍 3개를 추가로 뚫어야 했습니다. 그런 다음 각 구멍 주변 영역을 마스킹했습니다. 편의상 빗에서 분리된 리드를 무납땜 브레드보드(흰색)에 놓고 그 위에 GSM 모듈 보드를 설치하고 정상적으로 납땜했습니다.

나중에 나는 보드 가장자리에서 "Made In China"라고 적힌 글자 "I"에 또 다른 구멍을 뚫어야 했습니다.


알고 보니 추가된 접점인 본질적으로 GND가 Pro Mini 보드의 GND 옆에 위치하게 되면서 GSM 모듈과 Pro Mini의 접지를 한 방울의 납땜(긴 단자)으로 연결하는 것이 가능해졌습니다. 가운데에 핀이 있고 오른쪽에 Pro Mini 핀이 있음) - 화살표로 표시했습니다. 물론 약간 비뚤어진 것으로 나타났지만 이제는 안전하게 고정됩니다.



보드 사이에 약간의 공간이 남아 있었습니다. 그 안에 미리 납땜된 microUSB 커넥터와 납땜 와이어가 있는 리튬 방전 충전 제어 보드를 배치했습니다.

스카프는 거기에 아주 딱 맞고 케이스의 작은 구멍을 통해 측면의 LED 불빛이 선명하게 보입니다.



카드 꽂이

보드를 케이스 내부에 안전하게 장착하기 위해 이를 어떻게 구현할 수 있을지 며칠 동안 고민해야 했습니다. 핫멜트 접착제 옵션은 여러 가지 이유로 고려되지 않았습니다. 떨어지거나 변형될 수 있으며 가장 중요한 것은 구조를 분해하기가 어렵다는 것입니다.
여기서 가장 간단하고 정확한 옵션은 당연히 가지고 있지 않은 스탠드를 사용하는 것이라는 결론에 도달했습니다. 그러나 셀프 태핑 나사용 나사산이 있는 긴 스탠드 하나가 잘려진 작동하지 않는 충전기가 두 개 있었습니다. 각 스탠드는 반으로 자르고 약 9.5mm까지 줄였습니다. 이 높이에서 보드 아래에 있는 배터리는 약 2mm의 충분한 여백을 갖습니다. 이는 팁이 있는 보드의 납땜 접점이 만지지 말고 고정을 위해 폼 사이에 조각을 넣을 수 있습니다.
보드를 케이스에 직접 부착하는 경우에는 커피 캔에서 스트립 4개를 잘라서 끝에 구멍을 뚫은 다음 랙에 나사로 고정된 동일한 나사에 고정했습니다. 아래 사진에서 어떻게 생겼는지 확인하세요.
다음 단계는 보드의 반대쪽, 즉 상단에 두 개의 스탠드를 나사로 고정하여 케이스를 닫을 때 덮개가 이 스탠드에 약간 안착되어 추가로 고정되도록 하는 것입니다. 잠시 후, 이 목적을 위해 나는 소련 선전 라디오에서 주택을 발견했습니다. (더 일찍 발견했다면 여기에서 모든 스탠드를 가져갔을 것입니다.) 그곳에서 어느 정도 적합한 높이를 몇 개 찾았지만 먼저 셀프 태핑 나사 아래에 드릴을 사용하여 중앙에 구멍을 뚫었습니다. 그런 다음 나는 그것들을 톱질하고 파일로 마무리하여 초과분을 제거했습니다. 여기서 나는 한 가지 미묘함을 생각해 냈습니다. 사진에서 흰색 스탠드 하나가 가장자리에서 getinaks 보드에 나사로 고정되어 있고 다른 흰색 스탠드가 모듈 보드에 직접 나사로 고정되어 있음을 볼 수 있습니다. 한쪽 가장자리에서 모뎀 보드는 하단 보드를 완전히 덮고 반대쪽 가장자리에서는 반대로 하단 보드가 이미 엿 보입니다. 동시에 나사 머리가 자유롭게 통과할 수 있도록 두 보드 모두에 추가 구멍을 뚫어야 했습니다.
그리고 마지막으로 보드가 항상 본체와 평행한지 확인하는 것이 남아 있습니다. 벽에 와이어와 케이블을 고정하는 데 사용되는 스테이플이 이 작업에 적합합니다. 이전에 못을 제거했습니다. 브래킷은 추가 장치 없이 오목한 면으로 보드에 잘 달라붙는데, 유일한 것은 SIM 카드 오른쪽에 있고 브래킷의 너비가 너무 커서 사포질도 해야 했습니다.
모든 세부 사항은 눈으로 조정되었으며 실험적으로 아래는 위의 모든 사진입니다.



커넥터. LED. 단추.

빗이 부족해서 DVD 드라이브 보드에서 6핀 커넥터를 제거해야 했고, 그런 다음 이를 Pro Mini에 납땜했습니다. 이는 보드 플래싱의 편의를 위한 것입니다. 근처에 리튬 충전용 원형 커넥터(Nokiev 3.5mm)를 납땜했습니다.

6핀 커넥터의 본체는 가장자리가 본체보다 약간 돌출되어 있어 줄로 살짝 마감 처리되었습니다. 충전 소켓은 케이스 벽에 완벽하게 맞습니다.

보드 반대편에는 장치를 재부팅하기 위한 버튼과 펌웨어 디버깅을 위한 LED 2개를 납땜했습니다. 빨간색 LED는 GSM 모듈에 연결되고 두 번째 녹색 LED는 Pro Mini의 10번째 핀에 연결됩니다. 프로그램을 디버깅하기가 더 쉽습니다.

배터리 수정

Nokia 휴대폰의 평평한 Nokia 배터리는 18650보다 덜 일반적이지만 많은 사람들은 배터리 자체 깊숙이 움푹 들어간 접점을 연결하는 불편 함 때문에 사용을 거부합니다. 납땜하는 것은 바람직하지 않으므로 이들이 제안한 방법, 즉 사무용 지우개와 구리선 (두께 1.5mm)으로 직접 접점 블록을 만드는 방법을 사용하기로 결정했습니다.
먼저 끝 부분이 미리 벗겨진 두 개의 전선으로 지우개 조각을 뚫고 배터리 접점에 맞춰 간격이 일치하도록 조정했습니다.
나는 끝 부분을 구부리고 납땜 인두로 주석 도금을 한 다음 긴 끝 부분을 약간 뒤로 당겨 결과 접점이 지우개에 들어가도록했습니다.



배터리를 사용해 보세요:

고무줄로 접점 블록을 고정하거나 파란색 전기 테이프로 감쌀 수 있는데, 제가 결국 그렇게 했습니다.

집회.

작업의 주요 부분이 완료되었으며 남은 것은 이를 조립하고 녹음하는 것뿐입니다.
나중에 케이스 안에서 움직이지 않도록 배터리와 보드 사이에 발포 고무 조각을 넣었습니다. 모듈에 전원을 공급하기 위해 2200μF 커패시터를 추가로 납땜했습니다.

충전이 연결된 경우:

액자. 외부 터미널 블록.

이 케이스는 지역 라디오 시장에서 약 1.5달러에 판매되었으며, 달러로 환산하면 크기가 95x60x25mm로 거의 담배 한 갑 크기입니다. 거기에 구멍을 여러 개 뚫었어요. 첫 번째는 작동하지 않는 조광기에서 가져온 4핀 터미널 블록입니다.
스페이서를 사용하여 볼트에서 두 개의 외부 접점을 완전히 풀고 긴 볼트용 구멍을 뚫어 본체의 전체 터미널 블록을 고정했습니다. 물론 케이스 자체에는 두 개의 외부 구멍이 크고 가운데에 있는 두 개의 구멍은 더 작습니다. 접점이 관통되어 있으며 그 중 하나는 VCC Pro Mini에 연결되고 두 번째 접점은 핀에 연결됩니다. 2.

구멍을 뚫는 것은 언뜻 보면 간단한 작업이지만 여전히 노동 집약적이며 놓치기 쉽기 때문에 먼저 더 작은 직경의 드릴로 한 다음 더 큰 직경의 드릴을 사용했습니다.

택트 버튼으로는 케이스의 좁은 구멍을 통해 성냥이나 종이 클립을 쉽게 꺼낼 수 있도록 상단이 약간 오목한 캡을 선택했습니다.

USB-TTL 변환기 케이블이 연결된 케이스의 보드:

안테나에 대해서.
리뷰 전반에 걸쳐 알 수 있듯이 안테나는 제가 다양한 집에서 만든 안테나를 실험하면서 끊임없이 바뀌었습니다. 처음에는 모듈보드에 둥근 동축 커넥터가 있었는데, 다섯 번째로 외부 안테나로 사용했을 때 그냥 떨어져 나가서 허술하다는 점을 염두에 두시기 바랍니다. 결과적으로 기존 라우터의 PCB에 있는 안테나를 떼어내고 모듈보드에 납땜을 했습니다. 왜냐하면... 스프링이나 와이어보다 그물을 조금 더 잘 잡습니다.

글쎄, 충전이 연결된 상태로 완전히 조립되면 다음과 같습니다.

시험. 작동 방식:

안테나를 사용한 테스트 외에도 영하 15도의 외부에서 경보가 어떻게 작동하는지 확인했습니다. 이를 위해 내부 전체를 용기에 넣고 밤새 발코니에 방치했는데 알람이 시작되지 않았으며 그 이유는 일반적으로 분명했습니다. 리튬은 서리를 좋아하지 않습니다. 이것은 또 다른 테스트에서 확인되었습니다. 집에 배터리를두고 긴 전선을 통해 보드를 외부로 꺼내 같은 서리 속에서 하루 동안 그대로 두었습니다. 아무 일도 없었던 것처럼 작동했습니다. 반면에 알람이 작동하지 않으면 이상할텐데... Atmega, 모듈 및 석영의 데이터시트에서 허용되는 작동 온도는 최대 -40도입니다.

작동 원리는 외부 인터럽트를 사용하여 구성됩니다. 초기에 핀 2는 VCC에 닫혀 있으므로 논리 1은 핀에서 유지되고 컨트롤러는 절전 모드입니다. 접점이 끊어지고 핀 2에 0이 나타나면 마이크로 컨트롤러가 깨어나고 세 번째 핀(모뎀의 BOOT가 저항기를 통해 연결됨)을 접지로 내립니다. 모듈이 시작되고 MK는 주기적으로 모듈을 폴링합니다. 준비를 위해 네트워크에 연결되자마자 코드에 지정된 소유자의 전화번호로 즉시 전화를 보냅니다. 전화를 거부한 후에는 더 이상 끝없는 전화를 보내지 않고 장치가 꺼집니다. 이는 많은 중국 경보 시스템의 문제입니다.

추가 정보

#포함하다 #포함하다 // UART 소프트웨어 라이브러리 SoftwareSerial gsm(7, 6); // RX(7), TX(6) void wakeUp()() // 빈 인터럽트 핸들러 //////////////////////////// /////////////// void gsmOFF())( // PORTD|=(1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

회로도(충방전 제어반 없음)



결론과 생각. 계획.

알람은 dacha에서 사용되며 작업에 만족하지만 AVR에 대한 추가 연구를 통해 추가 수정에 대한 아이디어가 점점 더 많이 나옵니다. 의사 언어 배선을 사용하는 Arduino는 나를 정말 화나게 했습니다. 왜냐하면... 작업 중 불쾌한 순간이 하나 발견되었습니다. 포트 기능을 사용했을 때 digitalWrite(); 또는 핀모드(); -어떤 이유로 GSM 모듈이 매우 자주 정지되었습니다. 그러나 이를 DDRB|=(1과 같은 트릭으로 대체할 가치가 있었습니다.<포트에 직접 액세스하는 작업만으로 장치가 의도한 대로 작동했습니다.

에너지 절약에...
조립된 장치는 재충전 없이 4개월 동안 작동했으며 계속 작동하지만 "수면"이라고 말하는 것이 더 정확합니다. 흰색 버튼을 통해 재부팅하면 확인할 수 있습니다. 250μA(LE33 안정 장치를 통해)의 전력 소비와 ~1430mAh의 배터리를 사용하면 괜찮지만 배터리의 최신 기능으로 인해 1000mAh로 반올림하면 장치가 약 재충전 없이 5.5개월. 그래도 안정 장치를 제거하면 작동 시간을 안전하게 10배로 늘릴 수 있습니다. 하지만 제 경우에는 그럴 필요가 없습니다. 3개월에 한 번씩 SIM 카드 잔액을 사용해야 하고 동시에 장치를 확인하고 재충전할 수 있기 때문입니다.
리뷰에 제시된 에너지 절약의 예는 한계와는 거리가 멀습니다. 데이터 시트의 정보에 따르면 마이크로 컨트롤러의 클록 주파수를 1MHz로 낮출 수 있으며(퓨즈를 설치하여 수행됨) 1.8V 전압을 적용하면 활성 모드에서 소비량이 1μA 막대 아래로 떨어집니다. . 아주 좋아요! 그러나 MK가 내부 RC 발진기에서 클럭킹되면 또 다른 문제가 나타납니다. 특히 컨트롤러가 가열되거나 냉각되는 경우 UART 공기가 쓰레기와 오류로 막히게 됩니다.

완료되면...
1) 파손되도록 설치된 일반 와이어는 그다지 편리하지 않습니다. 홀 센서와 리드 스위치를 실험해 볼 계획입니다. 후자에 대해서는 내부 접점이 고착될 수 있기 때문에 그다지 신뢰할 수 없다고 말합니다.
2) 컴퓨터의 개입 없이 '소유자 번호'를 변경하고 플래싱하는 기능을 추가하면 좋을 것 같습니다. EEPROM을 사용하여 작업해야 합니다.
3) 워치독 타이머의 중단을 시도해 보세요. 단지 호기심을 위해서가 아니라 마이크로 컨트롤러가 주기적으로 자체적으로 깨어나고 배터리 전압을 측정하고 결과 값을 SMS를 통해 전송하여 배터리가 얼마나 낮은지 알 수 있도록 합니다.
4) 태양광 패널을 사용하면 장치를 재충전할 필요가 전혀 없으며, 특히 저용량 배터리의 경우 더욱 그렇습니다.
5) 오랫동안 나는 리뷰에 따르면 서리에 잘 견딜 수있는 LiFePo4 배터리를 사고 싶었지만 적합한 제품을 찾고 있던 동안 이미 봄이 조용히 왔습니다.
6) 미적 요소에 대한 작업

어떤 Pro Mini를 사야 할까요?
헤어드라이어가 없다면 Pro Mini "RobotDyn" Atmega168PA 3.3V를 사용하고 날카로운 것으로 LED를 끄면 ~250 µA가 됩니다.
헤어드라이어가 있고 모든 보드, 안정 장치 및 전원 공급 장치용 LED를 납땜하면 최대 20μA의 전류 소비가 발생합니다.

지금은 그게 전부입니다. 리뷰가 흥미롭고 유용했기를 바랍니다.

+174 구매 예정 즐겨 찾기에 추가 리뷰가 마음에 들었습니다 +143 +278

좋은 하루 되세요 :) 오늘은 알람에 대해 이야기하겠습니다. 서비스 시장에는 보안 시스템을 설치하고 유지하는 기업과 기관이 즐비합니다. 이들 회사는 구매자에게 다양한 경보 시스템을 제공합니다. 그러나 비용은 저렴하지 않습니다. 하지만 보안 경보에 지출할 개인 자금이 많지 않은 사람은 어떻게 해야 할까요? 결론은 그 자체로 암시한다고 생각합니다. 하다경보 그들의 소유. 이 기사에서는 Arduino uno 보드와 여러 자기 센서를 사용하여 자신만의 코딩된 보안 시스템을 만드는 방법에 대한 예를 제공합니다.

키패드에서 비밀번호를 입력하고 ' 버튼을 눌러 시스템을 비활성화할 수 있습니다. * '. 현재 비밀번호를 변경하려면 ' 키를 눌러 변경할 수 있습니다. ', 그리고 작업을 건너뛰거나 중단하려면 키를 눌러 수행할 수 있습니다. ‘#’. 시스템에는 특정 작업을 수행할 때 다양한 소리를 내기 위한 부저가 있습니다.

'A' 버튼을 누르면 시스템이 활성화됩니다. 시스템은 방을 나가는 데 10초의 시간을 줍니다. 10초가 지나면 알람이 활성화됩니다. 자기 센서의 수는 원하는 대로 달라집니다. 이 프로젝트에는 3개의 센서(창문 2개와 문 1개용)가 포함됩니다. 창이 열리면 시스템이 활성화되고 부저에서 나오는 경보 신호가 활성화됩니다. 비밀번호를 입력하여 시스템을 비활성화할 수 있습니다. 문이 열리면 비밀번호를 입력할 시간이 20초 남았다는 알림이 울립니다. 이 시스템은 움직임을 감지할 수 있는 초음파 센서를 사용합니다.

장치 작동 비디오

선박정보/교육 목적으로 제작되었습니다. 집에서 사용하고 싶다면 수정이 필요합니다. 제어 장치를 금속 케이스에 넣고 전력선이 손상되지 않도록 보호하십시오.

의 시작하자!

1단계: 무엇이 필요합니까?

  • 아두이노 우노 보드;
  • 고대비 LCD 디스플레이 16×2;
  • 키보드 4x4;
  • 10~20kΩ 전위차계;
  • 3개의 자기 센서(리드 스위치라고도 함);
  • 3개의 2핀 나사 터미널;
  • HC-SR04 초음파 센서;

Arduino를 사용하지 않고 시스템을 구축하려면 다음도 필요합니다.

  • atmega328 + 마이크로컨트롤러 atmega328용 DIP 커넥터;
  • 16MHz 석영 공진기;
  • 2개 22pF 세라믹, 2개 0.22uF 전해 콘덴서;
  • 1개 10kΩ 저항;
  • DC 전원 잭;
  • 빵판;
  • 5V 전원 공급 장치;

그리고 모든 것을 담을 수 있는 상자 하나!

도구:

  • 플라스틱 상자를 자르는 데 사용되는 것;
  • 핫 글루건;
  • 드릴/스크루드라이버.

2단계: 경보 회로

연결 다이어그램은 매우 간단합니다.

작은 설명:

고대비 LCD:

  • 핀1 - Vdd - GND;
  • 핀2 - Vss ~ 5V;
  • 핀3 - Vo(전위차계의 중앙 단자에 연결);
  • 핀4 - RS - Arduino 핀 8;
  • 핀5 - RW - GND;
  • 핀6 - EN에서 Arduino 핀 7로;
  • Pin11 - D4를 Arduino 핀 6에 연결;
  • 핀 12 - D5 - Arduino 핀 5;
  • 핀 13 - D6 - Arduino 핀 4;
  • 핀 14 - D7을 Arduino 핀 3에 연결;
  • Pin15 - Vee(전위차계의 오른쪽 또는 왼쪽 단자에 연결).

키보드 4x4:

왼쪽에서 오른쪽으로:

  • Pin1 ~ A5 Arduino 핀;
  • Arduino의 Pin2 ~ A4 핀;
  • Arduino의 Pin3 ~ A3 핀;
  • Arduino의 Pin4 ~ A2 핀;
  • 핀 5 - Arduino 핀 13;
  • 핀 6을 Arduino 핀 12에 연결;
  • Pin7은 Arduino 핀 11에 연결됩니다.
  • 8번 핀을 Arduino 핀 10번에 연결합니다.

3단계: 펌웨어

이 단계에서는 내장 !

Codebender 플러그인을 다운로드하세요. Arduino에서 "실행" 버튼을 클릭하고 이 프로그램으로 보드를 플래시하세요. 그게 다야. 방금 Arduino를 프로그래밍했습니다! 코드를 변경하려면 "편집" 버튼을 클릭하세요.

참고: Codebender IDE를 사용하여 Arduino 보드를 프로그래밍하지 않을 경우 Arduino IDE에 추가 ​​라이브러리를 설치해야 합니다.

4단계: 자신만의 제어 보드 만들기

Arduino uno를 기반으로 새 프로젝트를 성공적으로 조립하고 테스트한 후에는 자신만의 보드 만들기를 시작할 수 있습니다.

사업을 보다 성공적으로 완료하기 위한 몇 가지 팁:

  • Atmega328 마이크로컨트롤러의 핀 1(리셋)과 핀 7(Vcc) 사이에 10kOhm 저항을 장착해야 합니다.
  • 16MHz 크리스탈은 XTAL1과 XTAL2로 표시된 핀 9와 10에 연결되어야 합니다.
  • 공진기의 각 리드를 22pF 커패시터로 연결합니다. 프리 커패시터 리드를 마이크로컨트롤러의 핀 8(GND)에 연결합니다.
  • 두 번째 ATmega328 전원 라인을 전원 공급 장치(핀 20-Vcc 및 22-GND)에 연결하는 것을 잊지 마십시오.
  • 마이크로컨트롤러 핀에 대한 추가 정보는 두 번째 이미지에서 확인할 수 있습니다.
  • 6V보다 높은 전압의 전원 공급 장치를 사용하려면 LM7805 선형 레귤레이터와 레귤레이터의 입력 및 출력에 장착되어야 하는 0.22uF 전해 커패시터 2개를 사용해야 합니다. 그건 중요해! 보드에 6V 이상을 공급하지 마십시오!!! 그렇지 않으면 Atmega 마이크로컨트롤러와 LCD 디스플레이가 타버릴 것입니다.

5단계: 회로를 케이스에 넣기

이 프로젝트는 도둑의 침입 시도를 방지/통제하기 위한 시스템의 개발 및 개선에 관한 것입니다. 개발된 보안 장치는 GSM(Global System for Mobile Communications) 기술 기반의 임베디드 시스템(오픈 소스 소프트웨어를 사용하는 하드웨어 마이크로 컨트롤러 및 GSM 모뎀 포함)을 사용합니다.

집에 보안 장치를 설치할 수 있습니다. 침입 경보 인터페이스 센서는 컨트롤러 기반 보안 시스템에도 연결됩니다.
침투 시도가 이루어지면 시스템은 추가 처리를 위해 소유자의 휴대폰이나 사전 구성된 휴대폰으로 경고 메시지(예: SMS)를 보냅니다.

보안 시스템은 Arduino Uno 마이크로컨트롤러와 GSM/GPRS 기반의 표준 SIM900A 모뎀으로 구성됩니다. 전체 시스템은 12V 2A 전원 공급 장치/배터리로 전원을 공급받을 수 있습니다.

아래는 Arduino 기반 보안 시스템의 다이어그램입니다.

시스템의 작동은 매우 간단하며 설명이 필요하지 않습니다. 시스템에 전원이 공급되면 대기 모드로 진입합니다. J2 커넥터 핀이 단락되면 사전 프로그래밍된 경고 메시지가 필요한 휴대폰 번호로 전송됩니다. J2 입력 커넥터에는 모든 침입 감지기(예: 라이트 가드 또는 모션 센서)를 연결할 수 있습니다. 커넥터 J2의 핀 1에 있는 L(액티브 로우) 신호가 도난 경보기를 활성화한다는 점에 유의하십시오.

또한 옵션인 "호출 경보" 장치가 시스템에 추가되었습니다. 사용자가 S2 버튼을 누르면(또는 다른 전자 장치가 알람을 시작하면) 전화 통화가 활성화됩니다. "통화" 버튼(S2)을 누른 후 다른 버튼 S3("종료" 버튼)을 눌러 통화를 취소할 수 있습니다. 이 옵션은 침입 시 "부재중 전화" 경보를 생성하는 데 사용할 수 있습니다.

회로는 매우 유연하므로 모든 SIM900A 모뎀(및 Arduino Uno 보드)을 사용할 수 있습니다. 조립을 시작하기 전에 모뎀 설명서를 주의 깊게 읽으십시오. 이를 통해 시스템 제조 프로세스가 더욱 쉽고 즐거워질 것입니다.

방사성 원소 목록

지정 유형 명칭 수량 메모가게내 메모장
아두이노 보드

아두이노 우노

1 메모장으로
GSM/GPRS 모뎀SIM900A1 메모장으로
IC1 선형 레귤레이터

LM7805

1 메모장으로
C1 100uF 25V1 메모장으로
C2 전해콘덴서10uF 16V1 메모장으로
R1 저항기

1k옴

1 메모장으로
LED1 발광 다이오드 1 메모장으로
S1 단추고정으로1
공유하다