Orodha ya maudhui:

Mfumo wa Usalama wa Simu Na Arduino: Hatua 5
Mfumo wa Usalama wa Simu Na Arduino: Hatua 5

Video: Mfumo wa Usalama wa Simu Na Arduino: Hatua 5

Video: Mfumo wa Usalama wa Simu Na Arduino: Hatua 5
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Desemba
Anonim
Mfumo wa Usalama wa Simu Na Arduino
Mfumo wa Usalama wa Simu Na Arduino

Nyumba yako haitalindwa ikiwa hutumii mradi huu. Mradi huu utakusaidia kuchochea kengele kupitia simu ya rununu wakati mwingiliaji anaingia nyumbani kwako.

Kwa njia hiyo, ukitumia mradi huu, utapokea SMS kupitia simu ya rununu na itaweza kuweka nyumba yako ikilindwa ikiwa kuna uvamizi.

Kwa hili, tutatumia Bodi inayoendana na Arduino na Module ya SIM800L na Sura ya PIR. Sensorer ya PIR itakuwa na jukumu la kugundua uwepo wa mtu anayeingia na SIM800L itahusika kutuma SMS ya tahadhari kwa mmiliki wa nyumba.

Vifaa

  • Bodi ya Sambamba ya Arduino
  • PIR ya sensorer
  • Resistor 10kR
  • Wanarukaji
  • Kitabu cha ulinzi
  • Moduli ya SIM800L

Hatua ya 1: Moyo wa Mradi

Moyo wa mradi huo ni moduli ya SIM800L. Moduli hii itaweza kupokea amri za Arduino na kutuma SMS kwa simu ya rununu ya mtumiaji. Kwa njia hiyo, wakati mtumiaji anapokea tahadhari, anaweza kupiga polisi au kufanya aina yoyote ya kitendo.

Bodi inayoendana na Arduino itakuwa na jukumu la kuangalia hali ya sensa na kisha itatuma ujumbe wa tahadhari kwa mtumiaji ikiwa itagundua uwepo wa mtu anayeingilia.

Utaratibu huu unafanywa shukrani kwa amri za kudhibiti kati ya Arduino na Module ya SIM800L. Kwa hivyo, kutoka hapo, tutakutambulisha hatua kwa hatua ili ujenge mfumo huu, acha nyumba yako ikiwa salama na tukuonye wakati wowote mtu anayeingia anapoivamia.

Ikiwa unataka kupakua Bodi inayoendana na Arduino, unaweza kupata kiunga hiki na upate faili za kununua bodi zako kwenye JLCPCB.

Sasa, wacha tuanze!

Hatua ya 2: Mzunguko wa Mradi wa Elektroniki na Programu

Mzunguko wa Mradi wa Elektroniki na Programu
Mzunguko wa Mradi wa Elektroniki na Programu
Mzunguko wa Mradi wa Elektroniki na Programu
Mzunguko wa Mradi wa Elektroniki na Programu

Kwanza, tutafanya mzunguko wa elektroniki upatikane na kisha tutajadili nambari ya mradi kwa hatua kwako.

pamoja na ChipSerial Chip (10, 11);

Kamba SeuNumero = "+5585988004783";

#fasili sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

kuanzisha batili ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema…"); kuchelewesha (5000); chip. kuanza (9600); kuchelewesha (1000);

pinMode (sensor, INPUT); // Configura o Pino do Sensor como Entrada

}

kitanzi batili ()

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

batili IntrudeAlert () // Funcao kwa enviar mensagem de alerta Umidade Baixa

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

batili NoMoreIntrude () // Funcao kwa enviar mensagem de alerta Umidade Normal

{chip.println ("AT + CMGF = 1"); kuchelewesha (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); kuchelewesha (1000); Kamba ya SMS = "Hakuna Uingiliaji Zaidi!"; chip.println (SMS); kuchelewesha (100); chip.println ((char) 26); kuchelewesha (1000); }

Katika nambari iliyoonyeshwa hapo chini, mwanzoni tulitangaza maktaba ya mawasiliano ya serial SoftwareSerial.h, kama inavyoonyeshwa hapa chini.

# pamoja

Baada ya kufafanua maktaba, pini za mawasiliano Tx na Rx zilifafanuliwa. Pini hizi ni pini mbadala na hutumiwa kuruhusu mawasiliano ya serial kwenye pini zingine za Arduino. Maktaba ya SoftwareSerial ilitengenezwa kukuwezesha kutumia programu kuiga utendaji

Programu Chip chipsi (10, 11);

Baada ya hayo, nambari ya simu ya rununu ilitangazwa imeonyeshwa hapa chini.

Kamba SeuNumero = "+5585988004783";

Mpango wa muundo wa elektroniki ni rahisi na rahisi kukusanyika. Kama unavyoona kwenye mzunguko, Bodi inayokubaliana ya Arduino inawajibika kusoma hali ya sensa na kisha kutuma SMS kwa mmiliki wa nyumba.

Ujumbe utatumwa ikiwa mwingiliaji hugunduliwa ndani ya nyumba. Sensor ya PIR (Passive Infra Red) ni sensa inayotumika kugundua mwendo kutoka kwa ishara ya infrared. Kutoka kwa ishara iliyotumwa kwa Arduino, moduli ya SIM800L itatuma ujumbe kwa mtumiaji.

Diode itatumika kutoa kushuka kwa voltage kusambaza moduli ya SIM800L. Kwa kuwa moduli haiwezi kuwezeshwa na 5V. Kwa njia hii, voltage ya 4.3V itafika kuwasha moduli yako na kuhakikisha kuwa inafanya kazi salama.

Hatua ya 3: Usanidi wa Utupu () Kazi

Katika kazi ya usanidi batili, tutaanzisha mawasiliano ya serial na kusanidi pini ya sensa kama pembejeo. Mkoa wa nambari umeonyeshwa hapa chini.

kuanzisha batili ()

{

Kuanzia Serial (9600); Serial.println ("Inicializando Sistema…"); kuchelewesha (5000); chip. kuanza (9600); kuchelewesha (1000); pinMode (sensor, INPUT); // Usanidi wa Pino do Sensor como Entrada}

Kama inavyowezekana kuona, mawasiliano mawili ya serial yalizinduliwa. Serial.begin hutumiwa kuanzisha safu ya asili ya Arduino na chip.begin ni serial iliyoigwa kupitia maktaba ya SoftwareSerial. Baada ya hii, tutafanya kazi tupu ya kitanzi.

Hatua ya 4: Mradi na Kazi ya Kitupu cha Utupu

Mradi na Utupu Kazi ya Kitanzi
Mradi na Utupu Kazi ya Kitanzi
Mradi na Utupu Kazi ya Kitanzi
Mradi na Utupu Kazi ya Kitanzi

Sasa, tutawasilisha mantiki kuu ya programu katika kazi ya kitanzi batili.

kitanzi batili () {// Unastahili kufanya sensorer ValorAtual = digitalRead (sensor);

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Kwanza, ishara kutoka kwa sensorer ya uwepo wa PIR itasomwa kama inavyoonyeshwa hapa chini.

ValorAtual = digitalRead (sensorer);

Baada ya hii, itathibitishwa ikiwa thamani katika ValorAtual inayobadilika ni 1 au 0, kama inavyoonyeshwa hapa chini.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Uchunguzi wa Valor inayobadilikaKwa kweli ni 1 na vigezo ValorAnterior ni 0, sensor kweli imeamilishwa na nje imezimwa (ValorAnterior == 0). Kwa njia hii, kazi itatekelezwa na mtumiaji atapokea ujumbe kwenye simu yako ya rununu. Baada ya hayo, thamani ya ValorAnterior ya kutofautiana itakuwa sawa na 1.

Kwa njia hii, ValorAnterior ya kutofautishwa itaonyeshwa kuwa hali halisi ya sensorer imetekelezwa.

Sasa, ikiwa dhamana ya ValorAtual inayobadilika ni 0 na thamani ya tofauti ya ValorAnterior ni sawa na 0, sensorer haigunduli kuingilia kati na kisha thamani yake inafanywa.

Kwa njia hii, mfumo utatuma ujumbe kwa simu ya rununu ya mtumiaji na itasasisha thamani halisi ya sensa kwa 0. Thamani hii itaonyesha kuwa sensa haifanyi kazi kwa sasa.

Ujumbe ambao ulitumwa kwa mtumiaji umewasilishwa hapo juu.

Sasa, tutajifunza jinsi ya kufanya kazi ili kutuma ujumbe kwa simu ya rununu ya mtumiaji.

Hatua ya 5: Kazi za Kutuma Ujumbe

Katika mfumo huu, kuna kazi mbili. Ni kazi zilizo na muundo sawa. Tofauti kati yao ni jina na ujumbe uliotumwa, lakini tunapoichambua, tutaona kuwa ni sawa kabisa.

Ifuatayo, tutawasilisha muundo kamili wa kazi na kujadili nambari.

batili IntrudeAlert () // Funcao kwa enviar mensagem de alerta Umidade Baixa {chip.println ("AT + CMGF = 1"); kuchelewesha (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); kuchelewesha (1000); Kamba ya SMS = "Mlango uliofunguliwa!"; chip.println (SMS); kuchelewesha (100); chip.println ((char) 26); kuchelewesha (1000); }

batili NoMoreIntrude () // Funcao kwa enviar mensagem de alerta Umidade Normal

{chip.println ("AT + CMGF = 1"); kuchelewesha (1000); chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r"); kuchelewesha (1000); Kamba ya SMS = "Mlango uliofungwa!"; chip.println (SMS); kuchelewesha (100); chip.println ((char) 26); kuchelewesha (1000); }

Moduli ya SIM800L hutumia Amri ya AT kudhibiti kazi zake. Kwa hivyo, kupitia amri hizi, tutatuma ujumbe kwa simu ya rununu ya mtumiaji.

AT + CGMF = 1 hutumiwa kusanidi moduli ili ifanye kazi katika hali ya Maandishi ya SMS. Baada ya kuchelewa, mfumo utatuma ujumbe kwa mtumiaji kupitia amri ifuatayo.

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

Katika amri, moduli ya SIM800L itaandaliwa kutuma ujumbe kwa nambari ya simu ya rununu iliyosajiliwa kwenye kamba ya SeuNumero. Baada ya hayo, mfumo utapakia ujumbe kwenye kamba na utatuma simu ya rununu ya mtumiaji, kama inavyoonyeshwa hapa chini.

Kamba ya SMS = "Mlango uliofungwa!"; chip.println (SMS); kuchelewesha (100); chip.println ((char) 26); kuchelewesha (1000);

Char (26) hutumiwa kuashiria mwisho wa ujumbe. Mchakato huu wa kufanya kazi ni sawa kwa kazi mbili kutuma ujumbe kwa mtumiaji.

Shukrani

Sasa, tunashukuru msaada wa JLCPCB kutekeleza kazi hii na, ikiwa una nia, fikia kiunga kifuatacho na pakua Bodi inayokubaliana ya Arduino.

Ilipendekeza: