Sisukord:

Telefoni turvasüsteem Arduinoga: 5 sammu
Telefoni turvasüsteem Arduinoga: 5 sammu

Video: Telefoni turvasüsteem Arduinoga: 5 sammu

Video: Telefoni turvasüsteem Arduinoga: 5 sammu
Video: Программирование Ардуино с нуля. Arduino для начинающих. 2024, Detsember
Anonim
Telefoni turvasüsteem koos Arduinoga
Telefoni turvasüsteem koos Arduinoga

Kui te seda projekti ei rakenda, on teie kodu kaitsmata. See projekt aitab teil mobiiltelefoni kaudu häire käivitada, kui sissetungija teie koju tungib.

Nii saate selle projekti kasutamisel SMS -i mobiiltelefoni kaudu ja saate oma kodu sissetungide korral kaitsta.

Selleks kasutame Arduino ühilduvat plaati koos SIM800L mooduli ja PIR -anduriga. PIR -andur vastutab sissetungija olemasolu tuvastamise eest ja SIM800L vastutab koduomanikule hoiatava SMS -i saatmise eest.

Tarvikud

  • Arduino ühilduv plaat
  • Andur PIR
  • Takisti 10kR
  • Džemprid
  • Protoboard
  • SIM800L moodul

Samm: projekti süda

Projekti keskmes on SIM800L moodul. See moodul saab vastu võtta Arduino käske ja saata SMS -e kasutaja mobiiltelefonile. Nii saab kasutaja hoiatuse saades helistada politseisse või sooritada muid toiminguid.

Arduino ühilduv juhatus vastutab anduri oleku kontrollimise eest ja saadab seejärel kasutajale hoiatusteate, kui tuvastab sissetungija olemasolu.

See protsess viiakse läbi tänu Arduino ja SIM800L mooduli vahelistele juhtimiskäskudele. Seetõttu tutvustame teile sellest samm -sammult, et saaksite selle süsteemi üles ehitada, kodust lahkuda ja hoiatada teid iga kord, kui mõni sissetungija sinna tungib.

Kui soovite alla laadida Arduino ühilduva plaadi, pääsete sellele lingile juurde ja hankite failid oma plaatide ostmiseks JLCPCB -st.

Nüüd alustame!

2. samm: projekti elektrooniline vooluahel ja programmeerimine

Projekti elektrooniline vooluahel ja programmeerimine
Projekti elektrooniline vooluahel ja programmeerimine
Projekti elektrooniline vooluahel ja programmeerimine
Projekti elektrooniline vooluahel ja programmeerimine

Esiteks teeme elektroonilise vooluahela kättesaadavaks ja seejärel arutame teie jaoks samm -sammult projekti koodi.

#include SoftwareSerial kiip (10, 11);

String SeuNumero = "+5585988004783";

#defineeri andur 12

bool ValorAtual = 0, ValorAnterior = 0;

tühine seadistus ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema …"); viivitus (5000); kiip.algus (9600); viivitus (1000);

pinMode (andur, INPUT); // Konfiguratsioon või Pino do Sensor como Entrada

}

tühine tsükkel ()

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

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

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

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

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

{chip.println ("AT+CMGF = 1"); viivitus (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); viivitus (1000); String SMS = "No More Intrude!"; kiip.println (SMS); viivitus (100); kiip.println ((sümbol) 26); viivitus (1000); }

Allpool näidatud koodis deklareerisime algselt jadaside raamatukogu SoftwareSerial.h, nagu allpool näidatud.

#kaasake

Pärast kogu määratlemist määratleti sidetihvtid Tx ja Rx. Need tihvtid on alternatiivsed tihvtid ja neid kasutatakse teiste Arduino tihvtide jadaühenduse võimaldamiseks. SoftwareSerial raamatukogu töötati välja selleks, et võimaldada teil tarkvara kasutada funktsionaalsuse kopeerimiseks

TarkvaraSeriaalne kiip (10, 11);

Pärast seda on mobiiltelefoni number deklareeritud allpool.

String SeuNumero = "+5585988004783";

Elektrooniline kujundusskeem on lihtne ja hõlpsasti kokkupandav. Nagu vooluringilt näha, vastutab Arduino ühilduv plaat anduri oleku lugemise ja seejärel koduomanikule SMS -i saatmise eest.

Sõnum saadetakse, kui majas tuvastatakse sissetungija. PIR (passiivne infrapuna) andur on andur, mida kasutatakse infrapunasignaali liikumise tuvastamiseks. Arduinole saadetud signaalist saadab SIM800L moodul kasutajale sõnumi.

Dioodi kasutatakse pingelanguse tagamiseks SIM800L mooduli toiteks. Kuna moodulit ei saa toita 5 V toitega. Sel moel jõuab teie mooduli toiteks ja selle ohutu töö tagamiseks 4,3 V pinge.

3. samm: funktsioon tühimike seadistamine ()

Tühimuse seadistamise funktsioonis lähtestame jadaühenduse ja seadistame anduri tihvti sisendiks. Koodi piirkond on toodud allpool.

tühine seadistus ()

{

Seriaalne algus (9600); Serial.println ("Inicializando Sistema …"); viivitus (5000); kiip.algus (9600); viivitus (1000); pinMode (andur, INPUT); // Konfiguratsioon või Pino do Sensor como Entrada}

Nagu on näha, lähtestati kaks jadaühendust. Serial.beginit kasutatakse Arduino algseeria ja kiibi initsialiseerimiseks. Kiip.begin on seeria, mida emuleeritakse SoftwareSerial raamatukogu kaudu. Pärast seda kasutame tühjusringi funktsiooni.

4. samm: projekt ja void loop -funktsioon

Projekt ja tühisilmuse funktsioon
Projekt ja tühisilmuse funktsioon
Projekt ja tühisilmuse funktsioon
Projekt ja tühisilmuse funktsioon

Nüüd tutvustame tühisilmusfunktsiooni programmeerimise peamist loogikat.

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

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Esiteks loetakse PIR kohalolekuanduri signaal, nagu allpool näidatud.

ValorAtual = digitalRead (sensor);

Pärast seda kontrollitakse, kas muutuja ValorAtual väärtus on 1 või 0, nagu allpool näidatud.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Kui muutuja ValorAtual on 1 ja muutujad ValorAnterior on 0, on andur tegelikult aktiveeritud ja eespool deaktiveeritud (ValorAnterior == 0). Sel viisil funktsioon täidetakse ja kasutaja saab sõnumi teie mobiiltelefonile. Pärast seda on muutuja ValorAnterior väärtus 1 võrdne.

Sel viisil antakse muutujale ValorAnterior märku anduri tegeliku oleku käivitamisest.

Kui muutuja ValorAtual väärtus on 0 ja muutuja ValorAnterior väärtus on 0, ei tuvasta andur sissetungimist ja seejärel käivitatakse selle väärtus.

Sel viisil saadab süsteem sõnumi kasutaja mobiiltelefoni jaoks ja värskendab anduri tegelikku väärtust 0. See väärtus näitab, et andur ei käivitu hetkel.

Kasutajale saadetud sõnumid on toodud ülal.

Nüüd õpime, kuidas töötada selle funktsiooniga, et saata sõnumeid kasutaja mobiiltelefonile.

Samm: sõnumite saatmise funktsioonid

Selles süsteemis on kaks funktsiooni. Need on sama struktuuriga funktsioonid. Erinevus nende vahel on nimi ja saadetud sõnum, kuid seda analüüsides näeme, et need on täiesti samad.

Järgnevalt tutvustame funktsioonide täielikku struktuuri ja arutame koodi.

tühine IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); viivitus (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); viivitus (1000); String SMS = "Avatud uks!"; kiip.println (SMS); viivitus (100); kiip.println ((sümbol) 26); viivitus (1000); }

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

{chip.println ("AT+CMGF = 1"); viivitus (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); viivitus (1000); String SMS = "Suletud uks!"; kiip.println (SMS); viivitus (100); kiip.println ((sümbol) 26); viivitus (1000); }

SIM800L moodul kasutab oma funktsioonide juhtimiseks AT -käsku. Seetõttu saadame nende käskude kaudu sõnumi kasutaja mobiiltelefoni jaoks.

AT+CGMF = 1 kasutatakse mooduli konfigureerimiseks töötama SMS -teksti režiimis. Pärast viivitust saadab süsteem kasutaja jaoks järgmise käsu kaudu sõnumi.

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

Käsus valmistatakse SIM800L moodul ette sõnumi saatmiseks stringis SeuNumero registreeritud mobiiltelefoni numbri kohta. Pärast seda laadib süsteem teate stringis ja saadab kasutaja mobiiltelefoni, nagu allpool näidatud.

String SMS = "Suletud uks!"; kiip.println (SMS); viivitus (100); kiip.println ((char) 26); viivitus (1000);

Sümbolit (26) kasutatakse teate lõppemiseks. See tööprotsess on sarnane kahele funktsioonile, mis saadavad kasutajale sõnumi.

Tänuavaldused

Nüüd hindame JLCPCB toetust selle töö tegemiseks ja kui olete huvitatud, avage järgmine link ja laadige alla Arduino ühilduv tahvel.

Soovitan: