Для работы нам понадобится:
Sim900: http://got.by/1ojy8r
Sim900 как у меня в видео: http://ali.ski/wV37dV , http://grbe.st/ttat_Q
Микроволновой датчик движения: http://ali.ski/HGYsQv
Arduino uno: http://ali.ski/BHUqd
Корпус: http://ali.pub/1bl0fg
Контактные провода: http://ali.pub/1m0h4y
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В данной статье показано, как с помощью gsm shield sim900 можно реализовать простейшую сигнализацию.
Принцип работы простейший, как только датчик движения улавливает какое либо движения, то посылается звонок на указанный в скетче номер телефона, его нужно изменить на свой номер.
Подключение:
Подключаем светодиод к 13 пину ардуино
Подключаем датчик движения к 7 пину Ардуино
После подключения всех компонентов необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <SoftwareSerial.h> SoftwareSerial mySerial( 2 , 3 ); // RX, TX int ch = 0 ; int led = 13 ; #define pirPin 7 // пин подключения датчика движения #define boot 9 String val = "" ; void setup () { mySerial.begin( 9600 ); delay ( 2000 ); //время на инициализацию модуля pinMode (pirPin, INPUT ); pinMode (led, OUTPUT ); pinMode (boot, OUTPUT ); mySerial.println( "AT" ); // смотрим есть ли ответ от модема delay ( 100 ); if ( ! mySerial.find( "OK" )){ // если нет, дергаем ногу включения digitalWrite (boot, HIGH ); delay ( 1000 ); digitalWrite (boot, LOW ); } // нужно дождатся включения модема и соединения с сетью delay ( 2000 ); mySerial.println( "ATE0" ); // выключаем эхо while ( 1 ){ // ждем подключение модема к сети mySerial.println( "AT+COPS?" ); if (mySerial.find( "+COPS: 0" )) break ; } Serial.begin ( 9600 ); //скорость порта Serial.println ( "GSM tester v4.0" ); } void loop () { int pirVal = digitalRead (pirPin); //Считываем значения с датчика движения. Если обнаружили движение, //то транслируем сигнал тревоги в монитор порта и включаем светодиод if (pirVal = = HIGH ) { digitalWrite (led, HIGH ); ring(); delay ( 2000 ); } else { digitalWrite (led, LOW ); delay ( 1000 ); } } void ring() //процедура звонка { Serial.println ( "ring send started" ); mySerial.println( "ATD+79204460858;" ); delay ( 500 ); Serial.println ( "ring send complete" ); delay ( 2000 ); } |
Ссылка на скетч: https://yadi.sk/d/DZz7XXdl3LHQrt
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.
Видео: