Satura rādītājs:

Tālruņa drošības sistēma ar Arduino: 5 soļi
Tālruņa drošības sistēma ar Arduino: 5 soļi

Video: Tālruņa drošības sistēma ar Arduino: 5 soļi

Video: Tālruņa drošības sistēma ar Arduino: 5 soļi
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembris
Anonim
Tālruņa drošības sistēma ar Arduino
Tālruņa drošības sistēma ar Arduino

Ja neiesniegsit šo projektu, jūsu mājas būs neaizsargātas. Šis projekts palīdzēs jums aktivizēt trauksmi, izmantojot mobilo tālruni, kad iebrucējs ielaužas jūsu mājās.

Tādā veidā, ja izmantosit šo projektu, jūs saņemsiet SMS, izmantojot mobilo tālruni, un varēsit aizsargāt savas mājas iebrukumu gadījumā.

Šim nolūkam mēs izmantosim ar Arduino saderīgu plati ar SIM800L moduli un PIR sensoru. PIR sensors būs atbildīgs par iebrucēja klātbūtnes noteikšanu, bet SIM800L - par brīdinājuma īsziņas nosūtīšanu mājas īpašniekam.

Piegādes

  • Ar Arduino saderīga tāfele
  • Sensors PIR
  • Rezistors 10kR
  • Džemperi
  • Protoboard
  • SIM800L modulis

1. solis: projekta sirds

Projekta sirds ir SIM800L modulis. Šis modulis varēs saņemt Arduino komandas un nosūtīt SMS uz lietotāja mobilo tālruni. Tādā veidā, kad lietotājs saņem brīdinājumu, viņš var izsaukt policiju vai veikt jebkāda cita veida darbības.

Arduino saderīgā padome būs atbildīga par sensora stāvokļa pārbaudi un pēc tam nosūtīs lietotājam brīdinājuma ziņojumu, ja tā konstatēs iebrucēja klātbūtni.

Šis process tiek veikts, pateicoties vadības komandām starp Arduino un SIM800L moduli. Tāpēc no tā mēs soli pa solim iepazīstināsim jūs ar šīs sistēmas izveidi, atstāsit savu māju aizsargātu un brīdināsim jūs ikreiz, kad kāds iebrucējs tajā iebruks.

Ja vēlaties lejupielādēt ar Arduino saderīgu dēli, varat piekļūt šai saitei un iegūt failus, lai iegādātos dēļus vietnē JLCPCB.

Tagad sāksim!

2. solis: projekta elektroniskā shēma un programmēšana

Projekta elektroniskā shēma un programmēšana
Projekta elektroniskā shēma un programmēšana
Projekta elektroniskā shēma un programmēšana
Projekta elektroniskā shēma un programmēšana

Pirmkārt, mēs padarīsim pieejamu elektronisko shēmu un pēc tam soli pa solim apspriedīsim jums projekta kodu.

#iekļaut SoftwareSerial mikroshēmu (10, 11);

Stīgu SeuNumero = "+5585988004783";

#define sensors 12

bool ValorAtual = 0, ValorAnterior = 0;

anulēts iestatījums ()

{Sērijas sākums (9600); Serial.println ("Inicializando Sistema…"); kavēšanās (5000); mikroshēma.sākt (9600); kavēšanās (1000);

pinMode (sensors, IEEJA); // Configura o Pino do Sensor como Entrada

}

tukša cilpa ()

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

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

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

{mikroshēma.println ("AT+CMGF = 1"); kavēšanās (1000); mikroshēma.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kavēšanās (1000); String SMS = "Intrude Alert!"; mikroshēma.println (SMS); kavēšanās (100); mikroshēma.println ((char) 26); kavēšanās (1000); }

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

{mikroshēma.println ("AT+CMGF = 1"); kavēšanās (1000); mikroshēma.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kavēšanās (1000); String SMS = "Vairs neiejaukties!"; mikroshēma.println (SMS); kavēšanās (100); mikroshēma.println ((char) 26); kavēšanās (1000); }

Zemāk redzamajā kodā mēs sākotnēji deklarējām sērijas sakaru bibliotēku SoftwareSerial.h, kā parādīts zemāk.

#iekļaut

Pēc bibliotēkas definēšanas tika definētas sakaru tapas Tx un Rx. Šīs tapas ir alternatīvas tapas un tiek izmantotas, lai nodrošinātu sērijveida saziņu ar citām Arduino tapām. SoftwareSerial bibliotēka tika izstrādāta, lai ļautu jums izmantot programmatūru, lai atkārtotu funkcionalitāti

SoftwareSerial mikroshēma (10, 11);

Pēc tam zemāk tika parādīts mobilā tālruņa numurs.

Stīgu SeuNumero = "+5585988004783";

Elektroniskā dizaina shēma ir vienkārša un viegli saliekama. Kā redzat ķēdē, Arduino saderīgā valde ir atbildīga par sensora statusa nolasīšanu un pēc tam SMS nosūtīšanu mājas īpašniekam.

Ziņojums tiks nosūtīts, ja mājā tiks atklāts iebrucējs. PIR (pasīvais infrasarkanais) sensors ir sensors, ko izmanto kustību noteikšanai no infrasarkanā signāla. No Arduino nosūtītā signāla SIM800L modulis nosūtīs lietotājam ziņojumu.

Diodes tiks izmantotas, lai nodrošinātu sprieguma kritumu SIM800L moduļa piegādei. Tā kā moduli nevar darbināt ar 5V spriegumu. Tādā veidā tiks piegādāts 4,3 V spriegums, lai barotu jūsu moduli un nodrošinātu tā drošu darbību.

3. darbība: funkcija Void Setup ()

Tukšuma iestatīšanas funkcijā mēs inicializēsim seriālo komunikāciju un konfigurēsim sensora tapu kā ievadi. Koda reģions ir parādīts zemāk.

anulēts iestatījums ()

{

Sērijas sākums (9600); Serial.println ("Inicializando Sistema…"); kavēšanās (5000); mikroshēma.sākt (9600); kavēšanās (1000); pinMode (sensors, IEEJA); // Configura o Pino do Sensor como Entrada}

Kā redzams, abas sērijveida komunikācijas tika inicializētas. Serial.begin tiek izmantots, lai inicializētu Arduino vietējo sēriju un mikroshēmu.begin ir sērija, kas tiek emulēta, izmantojot SoftwareSerial bibliotēku. Pēc tam mēs izmantosim tukšās cilpas funkciju.

4. solis: projekts un funkcija Void Loop

Projekts un Void Loop funkcija
Projekts un Void Loop funkcija
Projekts un Void Loop funkcija
Projekts un Void Loop funkcija

Tagad mēs iepazīstināsim ar galveno programmēšanas loģiku tukšās cilpas funkcijā.

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

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Pirmkārt, signāls no PIR klātbūtnes sensora tiks nolasīts, kā parādīts zemāk.

ValorAtual = digitalRead (sensors);

Pēc tam tiks pārbaudīts, vai mainīgā ValorAtual vērtība ir 1 vai 0, kā parādīts zemāk.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Gadījumā, ja mainīgais ValorAtual ir 1 un mainīgie ValorAnterior ir 0, sensors faktiski tiek aktivizēts un priekšpusē tas ir deaktivizēts (ValorAnterior == 0). Tādā veidā funkcija tiks izpildīta, un lietotājs saņems ziņojumu jūsu mobilajā tālrunī. Pēc tam mainīgā ValorAnterior vērtība būs vienāda ar 1.

Tādā veidā mainīgais ValorAnterior tiks signalizēts, ka tiek iedarbināts sensora faktiskais stāvoklis.

Tagad, ja mainīgā ValorAtual vērtība ir 0 un ValorAnterior mainīgā vērtība ir vienāda ar 0, sensors neatklāj ielaušanos un pēc tam tiek aktivizēta tā vērtība.

Tādā veidā sistēma nosūtīs ziņojumu lietotāja mobilajam tālrunim un atjauninās sensora faktisko vērtību 0. Šī vērtība norādīs, ka sensors pašlaik nedarbojas.

Ziņojumi, kas tika nosūtīti lietotājam, ir parādīti iepriekš.

Tagad mēs iemācīsimies izmantot funkciju, lai nosūtītu ziņojumus lietotāja mobilajam tālrunim.

5. darbība. Ziņu sūtīšanas funkcijas

Šajā sistēmā ir divas funkcijas. Tās ir funkcijas ar tādu pašu struktūru. Atšķirība starp tiem ir nosaukums un nosūtītais ziņojums, bet, analizējot to, mēs redzēsim, ka tie ir pilnīgi vienādi.

Tālāk mēs iepazīstināsim ar visu funkciju struktūru un apspriedīsim kodu.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); kavēšanās (1000); mikroshēma.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kavēšanās (1000); String SMS = "Atvērtas durvis!"; mikroshēma.println (SMS); kavēšanās (100); mikroshēma.println ((char) 26); kavēšanās (1000); }

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

{mikroshēma.println ("AT+CMGF = 1"); kavēšanās (1000); mikroshēma.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); kavēšanās (1000); String SMS = "Slēgtas durvis!"; mikroshēma.println (SMS); kavēšanās (100); mikroshēma.println ((char) 26); kavēšanās (1000); }

SIM800L modulis izmanto AT komandu, lai kontrolētu savas funkcijas. Tāpēc, izmantojot šīs komandas, mēs nosūtīsim ziņojumu lietotāja mobilajam tālrunim.

AT+CGMF = 1 tiek izmantots, lai konfigurētu moduli darbam SMS teksta režīmā. Pēc kavēšanās sistēma nosūtīs ziņojumu lietotājam, izmantojot šādu komandu.

mikroshēma.println ("AT + CMGS = \" " + SeuNumero +" / "\ r");

Komandā SIM800L modulis būs gatavs nosūtīt ziņojumu par mobilā tālruņa numuru, kas reģistrēts virknē SeuNumero. Pēc tam sistēma ielādēs ziņojumu virknē un nosūtīs lietotāja mobilo tālruni, kā parādīts zemāk.

String SMS = "Slēgtas durvis!"; mikroshēma.println (SMS); kavēšanās (100); mikroshēma.println ((char) 26); kavēšanās (1000);

Oglis (26) tiek izmantots, lai signalizētu ziņojuma beigas. Šis darba process ir līdzīgs divām funkcijām, lai lietotājam nosūtītu ziņojumu.

Pateicības

Tagad mēs novērtējam JLCPCB atbalstu, lai veiktu šo darbu, un, ja jūs interesē, piekļūstiet šai saitei un lejupielādējiet Arduino saderīgo dēli.

Ieteicams: