INHOUDSOPGAWE:

Telefoonbeveiligingstelsel met Arduino: 5 stappe
Telefoonbeveiligingstelsel met Arduino: 5 stappe

Video: Telefoonbeveiligingstelsel met Arduino: 5 stappe

Video: Telefoonbeveiligingstelsel met Arduino: 5 stappe
Video: Maqueen 5: Lijnvolger met beveiliging 2024, November
Anonim
Telefoonbeveiligingstelsel met Arduino
Telefoonbeveiligingstelsel met Arduino

U huis sal onbeskermd wees as u nie hierdie projek toepas nie. Hierdie projek sal u help om 'n alarm via 'n selfoon te aktiveer wanneer 'n indringer by u huis inbreek.

As u hierdie projek gebruik, sal u 'n SMS per selfoon ontvang en u huis beskerm kan word in geval van invalle.

Hiervoor gebruik ons die Arduino -versoenbare bord met die SIM800L -module en PIR -sensor. Die PIR -sensor is verantwoordelik vir die opsporing van die teenwoordigheid van 'n indringer en die SIM800L is verantwoordelik vir die stuur van 'n waarskuwings -SMS na die huiseienaar.

Voorrade

  • Arduino -versoenbare bord
  • Sensor PIR
  • Weerstand 10kR
  • Springers
  • Protobord
  • SIM800L -module

Stap 1: Die hart van die projek

Die kern van die projek is die SIM800L -module. Hierdie module kan Arduino -opdragte ontvang en sms'e na die gebruiker se selfoon stuur. Sodra die gebruiker die waarskuwing ontvang, kan hy die polisie bel of enige ander aksie uitvoer.

Die Arduino -versoenbare bord is verantwoordelik vir die kontrole van die toestand van die sensor en stuur dan 'n waarskuwingsboodskap aan die gebruiker as dit die teenwoordigheid van 'n indringer opspoor.

Hierdie proses word uitgevoer danksy die beheeropdragte tussen die Arduino en die SIM800L -module. Daarom stel ons u stap vir stap voor om u hierdie stelsel te bou, u huis beskerm te laat en u te waarsku wanneer enige indringer dit binnedring.

As u die Arduino Compatible Board wil aflaai, het u toegang tot hierdie skakel en kry u die lêers om u planke by JLCPCB te koop.

Nou, laat ons begin!

Stap 2: Die elektroniese stroombaan van die projek en die programmering

Die projek elektroniese stroombaan en die programmering
Die projek elektroniese stroombaan en die programmering
Die projek elektroniese stroombaan en die programmering
Die projek elektroniese stroombaan en die programmering

Eerstens stel ons die elektroniese stroombaan beskikbaar en dan bespreek ons die projekkode stap vir stap vir u.

#sluit SoftwareSerial -chip in (10, 11);

String SeuNumero = "+5585988004783";

#definieer sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

leemte opstelling ()

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

pinMode (sensor, INVOER); // Configura o Pino do Sensor in Entrada

}

leemte lus ()

{// Valor do pino do sensor ValorAtual = digitalRead (sensor);

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

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

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

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

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

In die onderstaande kode het ons aanvanklik die seriële kommunikasiebiblioteek SoftwareSerial.h verklaar, soos hieronder getoon.

#insluit

Nadat die biblioteek gedefinieer is, is die kommunikasiepenne Tx en Rx gedefinieer. Hierdie penne is alternatiewe penne en word gebruik om seriële kommunikasie op ander Arduino -penne moontlik te maak. Die SoftwareSerial -biblioteek is ontwikkel sodat u die sagteware kan gebruik om die funksies te herhaal

SoftwareSerial chip (10, 11);

Hierna is die selfoonnommer verklaar, wat hieronder getoon word.

String SeuNumero = "+5585988004783";

Die elektroniese ontwerpskema is eenvoudig en maklik om te monteer. Soos u op die kring kan sien, is die Arduino -versoenbare bord verantwoordelik om die sensorstatus te lees en dan 'n SMS na die huiseienaar te stuur.

Die boodskap sal gestuur word as 'n indringer in die huis opgespoor word. Die PIR (Passive Infra Red) sensor is 'n sensor wat gebruik word om beweging van die infrarooi sein op te spoor. Van die sein wat na die Arduino gestuur word, stuur die SIM800L -module 'n boodskap aan die gebruiker.

Die diode sal gebruik word om 'n spanningsverlies te verskaf om die SIM800L -module te voorsien. Aangesien die module nie met 5V aangedryf kan word nie. Op hierdie manier kom 'n spanning van 4.3V om u module te voed en te verseker dat dit veilig werk.

Stap 3: Die funksie Void Setup ()

In die leemte -opstellingsfunksie sal ons die seriële kommunikasie inisialiseer en die sensorpen as 'n invoer opstel. Die gebied van die kode word hieronder aangebied.

leemte opstelling ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); vertraging (5000); chip.begin (9600); vertraging (1000); pinMode (sensor, INVOER); // Configura o Pino do Sensor in Entrada}

Soos moontlik is, is die twee seriële kommunikasie geïnisialiseer. Die Serial.begin word gebruik om die oorspronklike reeks van die Arduino te initialiseer en die chip.begin is die reeks wat deur die SoftwareSerial -biblioteek geëmuleer word. Hierna sal ons vir die leemte -lusfunksie.

Stap 4: Die projek en die leemte -lusfunksie

Die projek en die leegte -lusfunksie
Die projek en die leegte -lusfunksie
Die projek en die leemte -lusfunksie
Die projek en die leemte -lusfunksie

Nou sal ons die belangrikste logika van programmering in die leemte -lusfunksie aanbied.

void loop () {// Valor do pino do sensor ValorAtual = digitalRead (sensor);

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Eerstens word die sein van die PIR -teenwoordigheidsensor gelees soos hieronder getoon.

ValorAtual = digitalRead (sensor);

Hierna word geverifieer of die waarde in veranderlike ValorAtual 1 of 0 is, soos hieronder getoon.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

In geval van die veranderlike ValorAtual is dit 1 en die veranderlikes ValorAnterior is 0, die sensor is eintlik geaktiveer en anterior is dit gedeaktiveer (ValorAnterior == 0). Op hierdie manier word die funksie uitgevoer en sal die gebruiker die boodskap op u selfoon ontvang. Hierna is die waarde van die veranderlike ValorAnterior gelyk aan 1.

Op hierdie manier word die veranderlike ValorAnterior aangedui dat die werklike toestand van die sensor geaktiveer word.

As die waarde van die veranderlike ValorAtual 0 is en die waarde van die ValorAnterior veranderlike gelyk is aan 0, sal die sensor nie indringing opspoor nie en dan word die waarde daarvan geaktiveer.

Op hierdie manier sal die stelsel die boodskap vir die selfoon van die gebruiker stuur en die werklike waarde van die sensor opdateer vir 0. Hierdie waarde sal aandui dat die sensor nie aktief is nie.

Die boodskappe wat vir die gebruiker gestuur is, word hierbo aangebied.

Nou leer ons hoe u die funksie gebruik om die boodskappe vir die selfoon van die gebruiker te stuur.

Stap 5: Funksies om boodskappe te stuur

In hierdie stelsel is daar twee funksies. Dit is funksies met dieselfde struktuur. Die verskil tussen hulle is die naam en die boodskap wat gestuur is, maar as ons dit ontleed, sal ons sien dat dit heeltemal dieselfde is.

Vervolgens sal ons die volledige struktuur van die funksies aanbied en die kode bespreek.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); vertraging (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); vertraging (1000); String SMS = "Deur oopgemaak!"; chip.println (SMS); vertraging (100); chip.println ((char) 26); vertraging (1000); }

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

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

Die SIM800L -module gebruik die AT -opdrag om sy funksies te beheer. Daarom stuur ons deur hierdie opdragte die boodskap vir die selfoon van die gebruiker.

Die AT+CGMF = 1 word gebruik om die module op te stel om in die SMS -teksmodus te werk. Na die vertraging stuur die stelsel die boodskap vir die gebruiker deur die volgende opdrag.

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

In die opdrag sal die SIM800L -module voorbereid wees om 'n boodskap te stuur vir die selfoonnommer wat in die string SeuNumero geregistreer is. Hierna laai die stelsel die boodskap in die string en stuur dit na die selfoon van die gebruiker, soos hieronder getoon.

String SMS = "Geslote deur!"; chip.println (SMS); vertraging (100); chip.println ((char) 26); vertraging (1000);

Die kar (26) word gebruik om die einde van die boodskap aan te dui. Hierdie werkproses is dieselfde vir twee funksies om 'n boodskap vir die gebruiker te stuur.

Erkennings

Nou waardeer ons die ondersteuning van JLCPCB om hierdie werk uit te voer, en as u belangstel, besoek die volgende skakel en laai die Arduino Compatible Board af.

Aanbeveel: