Съдържание:

Система за телефонна сигурност с Arduino: 5 стъпки
Система за телефонна сигурност с Arduino: 5 стъпки

Видео: Система за телефонна сигурност с Arduino: 5 стъпки

Видео: Система за телефонна сигурност с Arduino: 5 стъпки
Видео: Using Digispark Attiny85 Mini Arduino boards: Lesson 108 2024, Декември
Anonim
Система за сигурност на телефона с Arduino
Система за сигурност на телефона с Arduino

Вашият дом ще бъде незащитен, ако не приложите този проект. Този проект ще ви помогне да задействате аларма чрез мобилен телефон, когато натрапник нахлуе в дома ви.

По този начин, ако използвате този проект, ще получите SMS чрез мобилен телефон и ще можете да запазите дома си защитен в случай на нашествия.

За това ще използваме съвместимата с Arduino платка с модул SIM800L и PIR сензор. PIR сензорът ще бъде отговорен за откриване на присъствието на нарушител, а SIM800L ще бъде отговорен за изпращането на предупредителен SMS до собственика на дома.

Консумативи

  • Съвместима дъска Arduino
  • Сензор PIR
  • Резистор 10kR
  • Джъмпери
  • Protoboard
  • Модул SIM800L

Стъпка 1: Сърцето на проекта

Сърцето на проекта е модулът SIM800L. Този модул ще може да получава команди на Arduino и да изпраща SMS до мобилния телефон на потребителя. По този начин, когато потребителят получи сигнала, той може да се обади в полицията или да извърши друг вид действие.

Съвместимата платка Arduino ще отговаря за проверката на състоянието на сензора и след това ще изпрати предупредително съобщение до потребителя, ако открие присъствието на нарушител.

Този процес се осъществява благодарение на командите за управление между Arduino и модула SIM800L. Затова оттук нататък ще ви представим стъпка по стъпка, за да изградите тази система, да оставите дома си защитен и да ви предупредим всеки път, когато някой натрапник го нахлуе.

Ако искате да изтеглите Arduino Compatible Board, можете да получите достъп до тази връзка и да получите файловете за закупуване на вашите дъски в JLCPCB.

Сега, нека започнем!

Стъпка 2: Електронната схема на проекта и програмирането

Електронната схема на проекта и програмирането
Електронната схема на проекта и програмирането
Електронната схема на проекта и програмирането
Електронната схема на проекта и програмирането

Първо, ние ще направим електронната схема достъпна и след това ще обсъдим кода на проекта стъпка по стъпка за вас.

#include SoftwareSerial чип (10, 11);

Низ SeuNumero = "+5585988004783";

#определи сензор 12

bool ValorAtual = 0, ValorAnterior = 0;

void setup ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema …"); забавяне (5000); chip.begin (9600); забавяне (1000);

pinMode (сензор, INPUT); // Конфигурация на Pino do Sensor como Entrada

}

void loop ()

{// Le o valor do pino do sensor ValorAtual = digitalRead (сензор);

ако (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert; ValorAnterior = 1; }

ако (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude (); ValorAnterior = 0; }

}

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa

{chip.println ("AT+CMGF = 1"); забавяне (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); забавяне (1000); Низ SMS = "Предупреждение за нарушаване!"; chip.println (SMS); забавяне (100); chip.println ((char) 26); забавяне (1000); }

void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal

{chip.println ("AT+CMGF = 1"); забавяне (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); забавяне (1000); Низ SMS = "Няма повече намеса!"; chip.println (SMS); забавяне (100); chip.println ((char) 26); забавяне (1000); }

В кода, показан по -долу, първоначално декларирахме библиотеката за серийна комуникация SoftwareSerial.h, както е показано по -долу.

#включва

След дефиниране на библиотеката бяха дефинирани комуникационните щифтове Tx и Rx. Тези щифтове са алтернативни щифтове и се използват, за да позволят серийна комуникация на други щифтове на Arduino. Библиотеката SoftwareSerial е разработена, за да ви позволи да използвате софтуера за възпроизвеждане на функционалността

Софтуер Сериен чип (10, 11);

След това номерът на мобилния телефон е обявен е показан по -долу.

Низ SeuNumero = "+5585988004783";

Схемата за електронно проектиране е проста и лесна за сглобяване. Както можете да видите на схемата, съвместимата дъска на Arduino отговаря за четене на състоянието на сензора и след това изпращане на SMS до собственика на дома.

Съобщението ще бъде изпратено, ако вътре в къщата бъде открит нарушител. PIR (пасивен инфрачервен) сензор е сензор, използван за откриване на движение от инфрачервения сигнал. От сигнала, изпратен до Arduino, модулът SIM800L ще изпрати съобщение до потребителя.

Диодът ще се използва за осигуряване на спад на напрежението за захранване на модула SIM800L. Тъй като модулът не може да се захранва с 5V. По този начин напрежение от 4.3V ще пристигне, за да захранва вашия модул и да гарантира, че той работи безопасно.

Стъпка 3: Функцията за настройка на празнотата ()

Във функцията за настройка на празнотата ще инициализираме серийната комуникация и ще конфигурираме щифта на сензора като вход. Областта на кода е представена по -долу.

void setup ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); забавяне (5000); chip.begin (9600); забавяне (1000); pinMode (сензор, INPUT); // Конфигурация на Pino do Sensor como Entrada}

Както е възможно да се види, двете серийни комуникации са инициализирани. Serial.begin се използва за инициализиране на родния сериен код на Arduino, а chip.begin е серийният, емулиран чрез библиотеката SoftwareSerial. След това ще използваме функцията void loop.

Стъпка 4: Проектът и функцията Void Loop

Проектът и функцията Void Loop
Проектът и функцията Void Loop
Проектът и функцията Void Loop
Проектът и функцията Void Loop

Сега ще представим основната логика на програмиране във функцията void loop.

void loop () {// Le o valor do pino do sensor ValorAtual = digitalRead (сензор);

ако (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert ();

ValorAnterior = 1;

}

ако (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Първо, сигналът от PIR сензора за присъствие ще бъде прочетен, както е показано по -долу.

ValorAtual = digitalRead (сензор);

След това ще бъде проверено дали стойността в променливата ValorAtual е 1 или 0, както е показано по -долу.

if (ValorAtual == 1 && ValorAnterior == 0) {IntrudeAlert ();

ValorAnterior = 1;

} if (ValorAtual == 0 && ValorAnterior == 0) {NoMoreIntrude ();

ValorAnterior = 0;

}

В случай, че променливата ValorAtual е 1 и променливите ValorAnterior е 0, сензорът всъщност е активиран и отпред е деактивиран (ValorAnterior == 0). По този начин функцията ще бъде изпълнена и потребителят ще получи съобщението на вашия мобилен телефон. След това стойността на променливата ValorAnterior ще бъде равна на 1.

По този начин променливата ValorAnterior ще бъде сигнализирана, че действителното състояние на сензора е задействано.

Сега, в случай, че стойността на променливата ValorAtual е 0 и стойността на променливата ValorAnterior е равна на 0, сензорът не открива намеса и след това нейната стойност се задейства.

По този начин системата ще изпрати съобщението за мобилния телефон на потребителя и ще актуализира действителната стойност на сензора за 0. Тази стойност ще показва, че сензорът не е задействан в момента.

Съобщенията, изпратени за потребителя, са представени по -горе.

Сега ще научим как да работим с функцията за изпращане на съобщенията за мобилния телефон на потребителя.

Стъпка 5: Функции за изпращане на съобщения

В тази система има две функции. Това са функции със същата структура. Разликата между тях е името и изпратеното съобщение, но когато го анализираме, ще видим, че те са напълно еднакви.

След това ще представим пълната структура на функциите и ще обсъдим кода.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); забавяне (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); забавяне (1000); Низ SMS = "Отворена врата!"; chip.println (SMS); забавяне (100); chip.println ((char) 26); забавяне (1000); }

void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal

{chip.println ("AT+CMGF = 1"); забавяне (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); забавяне (1000); Низ SMS = "Затворена врата!"; chip.println (SMS); забавяне (100); chip.println ((char) 26); забавяне (1000); }

Модулът SIM800L използва командата AT за управление на своите функции. Следователно чрез тези команди ще изпратим съобщението до мобилния телефон на потребителя.

AT+CGMF = 1 се използва за конфигуриране на модула да работи в режим SMS Text. След закъснението системата ще изпрати съобщението до потребителя чрез следната команда.

chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r");

В командата модулът SIM800L ще бъде подготвен да изпрати съобщение за номера на мобилния телефон, регистриран в низа SeuNumero. След това системата ще зареди съобщението в низ и ще изпрати за мобилния телефон на потребителя, както е показано по -долу.

Низ SMS = "Затворена врата!"; chip.println (SMS); забавяне (100); chip.println ((char) 26); забавяне (1000);

Char (26) се използва за сигнализиране на края на съобщението. Този работен процес е подобен за две функции за изпращане на съобщение до потребителя.

Благодарности

Сега оценяваме подкрепата на JLCPCB за извършване на тази работа и, ако се интересувате, отворете следната връзка и изтеглете Arduino Compatible Board.

Препоръчано: