Mundarija:

Arduino bilan telefon xavfsizlik tizimi: 5 qadam
Arduino bilan telefon xavfsizlik tizimi: 5 qadam

Video: Arduino bilan telefon xavfsizlik tizimi: 5 qadam

Video: Arduino bilan telefon xavfsizlik tizimi: 5 qadam
Video: Telefonning 15 ta siz bilmagan maxfiy kodlari/Телефоннинг сиз билмаган 15 та махфий кодлари 2024, Noyabr
Anonim
Arduino bilan telefon xavfsizlik tizimi
Arduino bilan telefon xavfsizlik tizimi

Agar siz ushbu loyihani qo'llamasangiz, sizning uyingiz himoyasiz bo'ladi. Bu loyiha sizning uyingizga tajovuzkor bostirib kirganda uyali telefon orqali signal berishga yordam beradi.

Shunday qilib, agar siz ushbu loyihadan foydalansangiz, sizga uyali telefon orqali SMS keladi va bosqinchilik sodir bo'lgan taqdirda uyingizni himoya qila olasiz.

Buning uchun biz SIM800L moduli va PIR sensori bilan Arduino mos keluvchi taxtasidan foydalanamiz. PIR sensori buzg'unchining mavjudligini aniqlash uchun javobgar bo'ladi va SIM800L uy egasiga ogohlantiruvchi SMS yuborish uchun javobgardir.

Ta'minotlar

  • Arduino bilan mos keladigan boshqaruv paneli
  • Sensor PIR
  • 10 kR qarshilik
  • Jumperlar
  • Protoboard
  • SIM800L moduli

1 -qadam: Loyihaning yuragi

Loyihaning yuragi SIM800L modulidir. Bu modul Arduino buyruqlarini qabul qilishi va foydalanuvchining mobil telefoniga SMS yuborishi mumkin bo'ladi. Shunday qilib, foydalanuvchi ogohlantirishni olganida, u politsiyani chaqirishi yoki boshqa turdagi harakatlarni amalga oshirishi mumkin.

Arduino mos keluvchi kengashi sensorning holatini tekshirish uchun javobgardir va agar u buzg'unchining borligini aniqlasa, foydalanuvchiga ogohlantirish xabarini yuboradi.

Bu jarayon Arduino va SIM800L moduli o'rtasidagi boshqaruv buyruqlari yordamida amalga oshiriladi. Shunday qilib, biz sizni ushbu tizimni qurish, uyingizni himoyalangan holda qoldirish va har qanday tajovuzkor unga bostirib kirganda sizni ogohlantirish uchun bosqichma -bosqich tanishtiramiz.

Agar siz Arduino mos keluvchi taxtasini yuklab olmoqchi bo'lsangiz, siz ushbu havolaga kirishingiz va JLCPCB -dan taxtalarni sotib olish uchun fayllarni olishingiz mumkin.

Endi, boshlaylik!

2 -qadam: Loyihaning elektron sxemasi va dasturlash

Loyihaning elektron sxemasi va dasturlash
Loyihaning elektron sxemasi va dasturlash
Loyihaning elektron sxemasi va dasturlash
Loyihaning elektron sxemasi va dasturlash

Birinchidan, biz elektron sxemani ishga tushiramiz va keyin siz uchun loyiha kodini bosqichma -bosqich muhokama qilamiz.

#include SoftwareSerial chip (10, 11);

SeuNumero qatori = "+5585988004783";

#sensorni aniqlang 12

bool ValorAtual = 0, ValorAnterior = 0;

bo'sh o'rnatish ()

{Serial.begin (9600); Serial.println ("Inicializando tizimi …"); kechikish (5000); chip.begin (9600); kechikish (1000);

pinMod (sensor, Kirish); // Entrada -dagi sensorni sozlash

}

bo'sh halqa ()

{// Le o valor do pino do sensor ValorAtual = digitalRead (sensor);

agar (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert; ValorAnterior = 1; }

agar (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude (); ValorAnterior = 0; }

}

void IntrudeAlert () // Umidad Baixa uchun eng yaxshi ma'lumot.

{chip.println ("AT+CMGF = 1"); kechikish (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kechikish (1000); String SMS = "Intrude Alert!"; chip.println (SMS); kechikish (100); chip.println ((char) 26); kechikish (1000); }

void NoMoreIntrude () // Odatiy bo'lmagan vazifalar

{chip.println ("AT+CMGF = 1"); kechikish (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kechikish (1000); String SMS = "Endi kirishga ruxsat yo'q!"; chip.println (SMS); kechikish (100); chip.println ((char) 26); kechikish (1000); }

Quyida ko'rsatilgan kodda biz dastlab SoftwareSerial.h ketma -ket aloqa kutubxonasini quyida ko'rsatilgandek e'lon qildik.

#qo'shing

Kutubxonani aniqlagandan so'ng, aloqa pinlari Tx va Rx aniqlandi. Bu pinlar muqobil pinlar bo'lib, ular boshqa Arduino pinlarida ketma -ket muloqot qilish uchun ishlatiladi. SoftwareSerial kutubxonasi funksionallikni takrorlash uchun dasturiy ta'minotdan foydalanish imkonini berish uchun ishlab chiqilgan

SoftwareSerial chip (10, 11);

Shundan so'ng, quyida mobil telefon raqami e'lon qilindi.

SeuNumero qatori = "+5585988004783";

Elektron dizayn sxemasi oddiy va yig'ish oson. Tizimda ko'rib turganingizdek, Arduino mos keluvchi kengashi sensor holatini o'qish va keyin uy egasiga SMS yuborish uchun javobgardir.

Xabar, agar uyga tajovuzkor aniqlansa, yuboriladi. PIR (Passiv infraqizil) sensori infraqizil signaldan harakatni aniqlash uchun ishlatiladi. Arduino -ga yuborilgan signaldan SIM800L moduli foydalanuvchiga xabar yuboradi.

Diyot SIM800L modulini etkazib berish uchun kuchlanish pasayishini ta'minlash uchun ishlatiladi. Modulni 5V bilan quvvatlantirish mumkin emas. Shunday qilib, modulni quvvatlantirish va uning xavfsiz ishlashini ta'minlash uchun 4,3V kuchlanish keladi.

3 -qadam: Void Setup () funktsiyasi

Bo'sh o'rnatish funktsiyasida biz ketma -ket aloqani ishga tushiramiz va sensor pinini kirish sifatida sozlaymiz. Kodning hududi quyida keltirilgan.

bo'sh o'rnatish ()

{

Serial.begin (9600); Serial.println ("Inicializando Systema …"); kechiktirish (5000); chip.begin (9600); kechikish (1000); pinMod (sensor, Kirish); // Sensorni sozlash tizimi - Entrada}

Ko'rib turganingizdek, ikkita ketma -ket aloqa o'rnatildi. Serial.begin Arduino -ning mahalliy seriyasini ishga tushirish uchun ishlatiladi va chip.begin - bu SoftwareSerial kutubxonasi orqali taqlid qilingan serial. Shundan so'ng, biz void loop funktsiyasini bajaramiz.

4 -qadam: Loyiha va bo'shliq halqasi funktsiyasi

Loyiha va bo'shliq halqasi funktsiyasi
Loyiha va bo'shliq halqasi funktsiyasi
Loyiha va Void Loop funktsiyasi
Loyiha va Void Loop funktsiyasi

Endi biz void loop funktsiyasida dasturlashning asosiy mantig'ini taqdim etamiz.

void loop () {// Le o valor do pino do sensor ValorAtual = digitalRead (sensor);

agar (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert ();

ValorAnterior = 1;

}

agar (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Birinchidan, PIR mavjudligi sensori signallari quyida ko'rsatilganidek o'qiladi.

ValorAtual = digitalRead (sensor);

Shundan so'ng, ValorAtual o'zgaruvchisining qiymati quyida ko'rsatilganidek, 1 yoki 0 bo'lsa, tekshiriladi.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

ValorAtual o'zgarmaydigan 1 ga, ValorAnterior o'zgaruvchilar esa 0 ga teng bo'lsa, sensor aslida faollashadi va old tomondan o'chiriladi (ValorAnterior == 0). Shunday qilib, funktsiya bajariladi va foydalanuvchi sizning telefoningizga xabar oladi. Shundan so'ng, ValorAnterior o'zgaruvchining qiymati 1 ga teng bo'ladi.

Shunday qilib, ValorAnterior o'zgaruvchisiga sensorning haqiqiy holati ishga tushirilganligi to'g'risida signal beriladi.

Agar ValorAtual o'zgarmaydigan qiymati 0 ga teng bo'lsa va ValorAnterior o'zgaruvchisi qiymati 0 ga teng bo'lsa, sensor kirishni aniqlamaydi va keyin uning qiymati ishga tushiriladi.

Shunday qilib, tizim foydalanuvchining uyali telefoniga xabar yuboradi va sensorning haqiqiy qiymatini 0 ga yangilaydi. Bu qiymat sensor hozirda ishlamayotganligini ko'rsatadi.

Foydalanuvchi uchun yuborilgan xabarlar yuqorida keltirilgan.

Endi biz foydalanuvchining uyali telefoniga xabar yuborish funktsiyasida ishlashni o'rganamiz.

5 -qadam: Xabarlarni yuborish funktsiyalari

Ushbu tizimda ikkita funktsiya mavjud. Ular bir xil tuzilishga ega funktsiyalardir. Ularning orasidagi farq - bu ism va yuborilgan xabar, lekin biz tahlil qilsak, ular butunlay bir xil ekanligini ko'ramiz.

Keyinchalik, biz funktsiyalarning to'liq tuzilishini taqdim etamiz va kodni muhokama qilamiz.

void IntrudeAlert () // Funktsional imkoniyatlar haqida ma'lumot olish Umidade Baixa {chip.println ("AT+CMGF = 1"); kechikish (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kechikish (1000); String SMS = "Eshik ochildi!"; chip.println (SMS); kechikish (100); chip.println ((char) 26); kechikish (1000); }

void NoMoreIntrude () // Odatiy bo'lmagan vazifalar

{chip.println ("AT+CMGF = 1"); kechikish (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kechikish (1000); String SMS = "Yopiq eshik!"; chip.println (SMS); kechikish (100); chip.println ((char) 26); kechikish (1000); }

SIM800L moduli o'z vazifalarini boshqarish uchun AT buyrug'idan foydalanadi. Shuning uchun, biz ushbu buyruqlar orqali foydalanuvchining uyali telefoniga xabar yuboramiz.

AT+CGMF = 1 modulni SMS matn rejimida ishlashga sozlash uchun ishlatiladi. Kechiktirilgandan so'ng, tizim quyidagi buyruq orqali foydalanuvchiga xabar yuboradi.

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

Buyruqda SIM800L moduli SeuNumero qatorida ro'yxatdan o'tgan uyali telefon raqami uchun xabar yuborishga tayyorlanadi. Shundan so'ng, tizim xabarni mag'lubiyatga yuklaydi va foydalanuvchining mobil telefonini yuboradi, bu quyida ko'rsatilgan.

String SMS = "Yopiq eshik!"; chip.println (SMS); kechikish (100); chip.println ((char) 26); kechikish (1000);

Char (26) xabarning oxirini bildirish uchun ishlatiladi. Bu ish jarayoni foydalanuvchi uchun xabar yuborish uchun ikkita funktsiyaga o'xshash.

Rahmatlar

Endi biz bu ishni bajarish uchun JLCPCB qo'llab -quvvatlaganini qadrlaymiz va agar sizni qiziqtirsa, quyidagi havolaga o'ting va Arduino mos keluvchi taxtasini yuklab oling.

Tavsiya: