Мазмуну:
- Жабдуулар
- 1 -кадам: Долбоордун жүрөгү
- 2 -кадам: Электрондук схема жана программалоо
- 3 -кадам: Void Setup () функциясы
- 4 -кадам: Долбоор жана Void Loop Function
- 5 -кадам: Билдирүүлөрдү жөнөтүү функциялары
Video: Телефон коопсуздук системасы Arduino менен: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Эгер сиз бул долбоорду колдонбосоңуз, үйүңүз корголбойт. Бул долбоор чоочун адам үйүңүзгө киргенде уюлдук телефон аркылуу ойготкучту иштетүүгө жардам берет.
Ошентип, эгер сиз бул долбоорду колдонсоңуз, сизге уюлдук телефон аркылуу SMS келет жана басып кирген учурда үйүңүздү коргоп кала аласыз.
Бул үчүн биз SIM800L модулу жана PIR сенсору менен Arduino шайкеш келген тактасын колдонобуз. PIR сенсору кирген адамдын бар экендигин аныктоого жооп берет жана SIM800L үй ээсине эскертүү SMS жөнөтүүгө жооптуу болот.
Жабдуулар
- Arduino менен шайкеш келген такта
- Сенсор PIR
- Резистор 10kR
- Секирүүчүлөр
- Protoboard
- SIM800L модулу
1 -кадам: Долбоордун жүрөгү
Долбоордун жүрөгү SIM800L модулу. Бул модуль Arduino командаларын кабыл алып, колдонуучунун уюлдук телефонуна SMS жөнөтө алат. Ошентип, колдонуучу эскертүү алганда, полицияга чалып же башка аракеттерди жасай алат.
Arduino Compatible Board сенсордун абалын текшерүү үчүн жооптуу болот жана андан кийин кирүүчү бар экенин аныктаса, колдонуучуга эскертүү билдирүүсүн жөнөтөт.
Бул процесс Arduino менен SIM800L модулунун ортосундагы башкаруу буйруктарынын аркасында ишке ашат. Ошондуктан, биз сизди бул системаны куруу үчүн этап -этабы менен тааныштырабыз, үйүңүздү коргоп коюңуз жана ар кандай кирүүчү басып киргенде сизге эскертебиз.
Эгерде сиз Arduino Compatible Board жүктөп алууну кааласаңыз, анда бул шилтемеге кирип, JLCPCBдеги такталарыңызды сатып алуу үчүн файлдарды ала аласыз.
Эми, баштайлы!
2 -кадам: Электрондук схема жана программалоо
Биринчиден, биз электрондук схеманы жеткиликтүү кылабыз, андан кийин долбоордун кодун этап -этабы менен талкуулайбыз.
#incluse SoftwareSerial чипи (10, 11);
Сап SeuNumero = "+5585988004783";
#аныктоочу сенсор 12
bool ValorAtual = 0, ValorAnterior = 0;
жараксыз орнотуу ()
{Serial.begin (9600); Serial.println ("Inicializando Systema …"); кечигүү (5000); chip.begin (9600); кечигүү (1000);
pinMode (сенсор, INPUT); // Configura or Pino do Sensor como Entrada
}
боштук цикл ()
{// Le o valor do pino do sensor ValorAtual = digitalRead (сенсор);
эгер (ValorAtual == 1 && ValorAnterior == 0)
{IntrudeAlert; ValorAnterior = 1; }
эгер (ValorAtual == 0 && ValorAnterior == 1)
{NoMoreIntrude (); ValorAnterior = 0; }
}
жараксыз IntrudeAlert () // Көңүл буруңуз
{chip.println ("AT+CMGF = 1"); кечигүү (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); кечигүү (1000); String SMS = "Intrude Alert!"; chip.println (SMS); кечиктирүү (100); chip.println ((char) 26); кечигүү (1000); }
жараксыз NoMoreIntrude () // Funcao en aligna de alerta Umidade Normal
{chip.println ("AT+CMGF = 1"); кечигүү (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); кечигүү (1000); String SMS = "Мындан ары кирүүгө болбойт!"; chip.println (SMS); кечиктирүү (100); chip.println ((char) 26); кечигүү (1000); }
Төмөндө көрсөтүлгөн коддо биз төмөндө көрсөтүлгөндөй SoftwareSerial.h сериялык байланыш китепканасын жарыялаганбыз.
#кошуу
Китепкана аныкталгандан кийин, Tx жана Rx байланыш пиндери аныкталган. Бул казыктар башка казыктар болуп саналат жана башка Arduino казыктарында сериялык байланышка уруксат берүү үчүн колдонулат. SoftwareSerial китепканасы программалык камсыздоону функционалды кайталоо үчүн колдонууга уруксат берүү үчүн иштелип чыккан
SoftwareSerial чип (10, 11);
Андан кийин, төмөндө көрсөтүлгөн уюлдук телефон номери жарыяланды.
Сап SeuNumero = "+5585988004783";
Электрондук дизайн схемасы жөнөкөй жана чогултууга оңой. Райондо көрүнүп тургандай, Arduino Compatible Board сенсордун абалын окуп, андан кийин үйдүн ээсине SMS жөнөтүүгө жооптуу.
Билдирүү үйдүн ичине кирген адам аныкталса жөнөтүлөт. PIR (Passive Infra Red) сенсору - инфракызыл сигналдын кыймылын аныктоо үчүн колдонулган сенсор. Arduinoго жөнөтүлгөн сигналдан SIM800L модулу колдонуучуга билдирүү жөнөтөт.
Диод SIM800L модулун берүү үчүн чыңалуунун төмөндөшүн камсыз кылуу үчүн колдонулат. Модуль 5V менен иштей албайт. Ошентип, модулуңузду иштетүү жана анын коопсуз иштешин камсыз кылуу үчүн 4.3V чыңалуусу келет.
3 -кадам: Void Setup () функциясы
Боштукту орнотуу функциясында биз сериялык байланышты баштайбыз жана сенсор пинин киргизүү катары конфигурациялайбыз. Коддун аймагы төмөндө көрсөтүлгөн.
жараксыз орнотуу ()
{
Serial.begin (9600); Serial.println ("Inicializando Sistema…"); кечиктирүү (5000); chip.begin (9600); кечигүү (1000); pinMode (сенсор, INPUT); // Configura o Pino do Sensor como Entrada}
Көрүнүп тургандай, эки сериялык байланыш башталды. Serial.begin Arduino эне сериясын инициализациялоо үчүн колдонулат жана chip.begin - SoftwareSerial китепканасы аркылуу эмуляцияланган серия. Андан кийин, биз void loop функциясын аткарабыз.
4 -кадам: Долбоор жана Void Loop Function
Эми, биз 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 -кадам: Билдирүүлөрдү жөнөтүү функциялары
Бул системада эки функция бар. Алар ошол эле түзүлүштөгү функциялар. Алардын ортосундагы айырмачылык аты менен жөнөтүлгөн кабарда, бирок биз анализдегенде, алар толугу менен окшош экенин көрөбүз.
Андан кийин, биз функциялардын толук структурасын сунуштайбыз жана кодду талкуулайбыз.
жараксыз IntrudeAlert () // Funcao envisar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); кечигүү (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); кечигүү (1000); String SMS = "Эшик ачылды!"; chip.println (SMS); кечиктирүү (100); chip.println ((char) 26); кечигүү (1000); }
жараксыз NoMoreIntrude () // Funcao envisar mensagem de alerta Umidade Normal
{chip.println ("AT+CMGF = 1"); кечигүү (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); кечигүү (1000); String SMS = "Жабык эшик!"; chip.println (SMS); кечиктирүү (100); chip.println ((char) 26); кечигүү (1000); }
SIM800L модулу өз функцияларын башкаруу үчүн AT Command колдонот. Ошондуктан, бул буйруктар аркылуу биз колдонуучунун уюлдук телефону үчүн билдирүү жөнөтөбүз.
AT+CGMF = 1 SMS Текст режиминде иштөө үчүн модулду конфигурациялоо үчүн колдонулат. Кечигүүдөн кийин, система төмөнкү буйрук аркылуу колдонуучуга билдирүү жөнөтөт.
chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r");
Командада SIM800L модулу SeuNumero сабында катталган уюлдук телефон номери үчүн билдирүү жөнөтүүгө даярдалат. Андан кийин, система билдирүүнү сапка жүктөйт жана төмөндө көрсөтүлгөндөй колдонуучунун уюлдук телефонун жөнөтөт.
String SMS = "Жабык эшик!"; chip.println (SMS); кечиктирүү (100); chip.println ((char) 26); кечигүү (1000);
Char (26) билдирүүнүн аяктаганын билдирүү үчүн колдонулат. Бул иш процесси колдонуучуга билдирүү жөнөтүү үчүн эки функцияга окшош.
Ыракматтар
Эми, биз бул ишти жүзөгө ашыруу үчүн JLCPCB колдоосун баалайбыз жана эгер сизди кызыктырса, төмөнкү шилтемеге кирип, Arduino менен шайкеш келген тактаны жүктөп алыңыз.
Сунушталууда:
Sensor Fusion колдонуу менен үй коопсуздук системасы: 5 кадам
Sensor Fusion колдонулган үй коопсуздук системасы: Бул долбоордун артында кимдир бирөө аны кесип өткөндө сизге эскертүү үчүн колдонула турган коопсуздук сенсорун түзүү. Негизги максат - кимдир бирөө тепкичтен өйдө көтөрүлгөндө мага кабар бере турган нерсени жаратуу болчу, бирок мен дагы
Электрондук коопсуздук системасы RTC жана Колдонуучу менен PIN кодду аныктайт: 7 кадам
Электрондук коопсуздук системасы RTC жана колдонуучу менен пин кодду аныктайт: Салам балдар! Бул мен pic микроконтроллерин колдонуп, электрондук PIN кодунун коопсуздук системасын реалдуу убакытта жана колдонуучунун пин кодунун өзгөчөлүктөрүн аныктаган долбоору, бул баракта өзүңүз жасоо үчүн бардык деталдар камтылган
One Touch Аялдардын Коопсуздук Коопсуздук Системасы: 3 кадам
One Touch Аялдардын Коопсуздук Коопсуздук Системасы: 8051 микро контроллерин колдонгон аялдардын коопсуздук системасы Бүгүнкү дүйнөдө Аялдардын коопсуздугу - бул өлкөдө эң маанилүү маселе. Бүгүнкү күндө аялдар кысымга алынып, кээде шашылыш жардамга муктаж болуп калышат. Керектүү жери жок
Arduino үй коопсуздук системасы: 7 кадам (сүрөттөр менен)
Arduino Үй Коопсуздук Системасы: Бул Arduino Mega 2560 колдонгон Үйдүн Коопсуздук Системасы, ал эшик ачылганда же тутум иштетилгенде бөлмөдө кыймыл аныкталганда сигнал берет. Бул университеттин акыркы курсунда окугандар үчүн жакшы долбоор. аны жаңырта аласыз
RFID коопсуздук системасы (Arduino негизделген): 6 кадам (сүрөттөр менен)
RFID Коопсуздук Системасы (Arduino негизделген): Үйүңүздө болушу мүмкүн болгон эң сонун аппарат