Obsah:

Telefónny zabezpečovací systém s Arduino: 5 krokov
Telefónny zabezpečovací systém s Arduino: 5 krokov

Video: Telefónny zabezpečovací systém s Arduino: 5 krokov

Video: Telefónny zabezpečovací systém s Arduino: 5 krokov
Video: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, November
Anonim
Telefónny zabezpečovací systém s Arduino
Telefónny zabezpečovací systém s Arduino

Váš domov bude nechránený, ak tento projekt nepoužijete. Tento projekt vám pomôže spustiť alarm prostredníctvom mobilného telefónu, keď sa do vášho domu vláma votrelec.

Ak tak použijete tento projekt, dostanete SMS správu prostredníctvom mobilného telefónu a budete môcť chrániť svoj domov v prípade invázií.

Na tento účel použijeme dosku kompatibilnú s Arduino s modulom SIM800L a snímačom PIR. Senzor PIR bude zodpovedný za detekciu prítomnosti votrelca a SIM800L za odoslanie výstražnej SMS správy majiteľovi domu.

Zásoby

  • Doska kompatibilná s Arduino
  • Senzor PIR
  • Rezistor 10kR
  • Svetre
  • Protoboard
  • Modul SIM800L

Krok 1: Srdce projektu

Srdcom projektu je modul SIM800L. Tento modul bude schopný prijímať príkazy Arduino a odosielať SMS na mobilný telefón používateľa. Keď tak používateľ dostane upozornenie, môže zavolať políciu alebo vykonať iný druh akcie.

Doska kompatibilná s Arduino bude zodpovedná za kontrolu stavu senzora a potom pošle používateľovi výstražnú správu, ak zistí prítomnosť narušiteľa.

Tento proces sa vykonáva vďaka riadiacim príkazom medzi modulom Arduino a SIM800L. Preto vám z toho krok za krokom predstavíme, ako vybudovať tento systém, nechať váš domov chránený a varovať vás, kedykoľvek do neho vtrhne ktorýkoľvek narušiteľ.

Ak si chcete stiahnuť dosku kompatibilnú s Arduino, môžete navštíviť tento odkaz a získať súbory na kúpu svojich dosiek na JLCPCB.

Teraz začnime!

Krok 2: Elektronický obvod projektu a programovanie

Projektový elektronický obvod a programovanie
Projektový elektronický obvod a programovanie
Projektový elektronický obvod a programovanie
Projektový elektronický obvod a programovanie

Najprv sprístupníme elektronický obvod a potom pre vás krok za krokom prediskutujeme kód projektu.

#include SoftwareSerial chip (10, 11);

Reťazec SeuNumero = "+5585988004783";

#definovať senzor 12

bool ValorAtual = 0, ValorAnterior = 0;

neplatné nastavenie ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema …"); oneskorenie (5 000); chip.begin (9600); oneskorenie (1000);

pinMode (senzor, VSTUP); // Konfigurácia senzora Pino do Entrada

}

prázdna slučka ()

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

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

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

{chip.println ("AT+CMGF = 1"); oneskorenie (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); oneskorenie (1000); Reťazcová SMS = "Upozornenie na narušenie!"; chip.println (SMS); oneskorenie (100); chip.println ((char) 26); oneskorenie (1000); }

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

{chip.println ("AT+CMGF = 1"); oneskorenie (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); oneskorenie (1000); Reťazcová SMS = „Už žiadne narušenie!“; chip.println (SMS); oneskorenie (100); chip.println ((char) 26); oneskorenie (1000); }

V nižšie uvedenom kóde sme pôvodne deklarovali knižnicu sériovej komunikácie SoftwareSerial.h, ako je uvedené nižšie.

#zahrnúť

Po definovaní knižnice boli definované komunikačné piny Tx a Rx. Tieto piny sú alternatívne piny a slúžia na umožnenie sériovej komunikácie s inými pinmi Arduino. Knižnica SoftwareSerial bola vyvinutá tak, aby vám umožnila používať softvér na replikáciu funkcií

Softvér Sériový čip (10, 11);

Potom bolo číslo mobilného telefónu deklarované, že je uvedené nižšie.

Reťazec SeuNumero = "+5585988004783";

Schéma elektronického dizajnu je jednoduchá a ľahko sa zostavuje. Ako vidíte na obvode, kompatibilná doska Arduino je zodpovedná za prečítanie stavu senzora a potom za odoslanie SMS správy majiteľovi domu.

Správa bude odoslaná, ak bude v dome detekovaný narušiteľ. Senzor PIR (pasívny infračervený) je snímač používaný na detekciu pohybu z infračerveného signálu. Zo signálu odoslaného do Arduina modul SIM800L odošle používateľovi správu.

Dióda bude slúžiť na zaistenie poklesu napätia na napájanie modulu SIM800L. Pretože modul nemôže byť napájaný 5V. Týmto spôsobom bude napätie 4,3 V napájať váš modul a zaistí jeho správnu funkciu.

Krok 3: Funkcia Void Setup ()

Vo funkcii nastavenia prázdnoty inicializujeme sériovú komunikáciu a nakonfigurujeme kolík snímača ako vstup. Oblasť kódu je uvedená nižšie.

neplatné nastavenie ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); oneskorenie (5 000); chip.begin (9600); oneskorenie (1000); pinMode (senzor, VSTUP); // Konfigurácia snímača Pino do Sensor ako Entrada}

Ako je možné vidieť, dve sériové komunikácie boli inicializované. Serial.begin sa používa na inicializáciu pôvodného sériového čísla Arduino a čipu. Begin je sériový výstup emulovaný prostredníctvom knižnice SoftwareSerial. Potom budeme pracovať s funkciou prázdnej slučky.

Krok 4: Projekt a funkcia prázdnej slučky

Projekt a funkcia prázdnej slučky
Projekt a funkcia prázdnej slučky
Projekt a funkcia prázdnej slučky
Projekt a funkcia prázdnej slučky

Teraz predstavíme hlavnú logiku programovania vo funkcii prázdna slučka.

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

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Najprv bude prečítaný signál zo senzora prítomnosti PIR, ako je to znázornené nižšie.

ValorAtual = digitalRead (senzor);

Potom sa overí, či je hodnota v premennej ValorAtual 1 alebo 0, ako je uvedené nižšie.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

V prípade, že premenná ValorAtual je 1 a premenná ValorAnterior je 0, senzor je skutočne aktivovaný a vpredu je deaktivovaný (ValorAnterior == 0). Týmto spôsobom sa funkcia spustí a užívateľ dostane správu na váš mobilný telefón. Potom bude hodnota premennej ValorAnterior rovná 1.

Týmto spôsobom bude premenná ValorAnterior signalizovaná, že je aktivovaný skutočný stav senzora.

Teraz, ak je hodnota premennej ValorAtual 0 a hodnota premennej ValorAnterior je rovná 0, senzor nedetekuje narušenie a potom sa aktivuje jeho hodnota.

Týmto spôsobom systém odošle správu pre mobilný telefón užívateľa a aktualizuje skutočnú hodnotu senzora na 0. Táto hodnota bude znamenať, že senzor sa momentálne neaktivuje.

Správy, ktoré boli odoslané používateľovi, sú uvedené vyššie.

Teraz sa naučíme pracovať s funkciou odosielania správ pre mobilný telefón používateľa.

Krok 5: Funkcie na odosielanie správ

V tomto systéme existujú dve funkcie. Sú to funkcie s rovnakou štruktúrou. Rozdiel medzi nimi je meno a odoslaná správa, ale keď to analyzujeme, uvidíme, že sú úplne rovnakí.

Ďalej predstavíme kompletnú štruktúru funkcií a prediskutujeme kód.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); oneskorenie (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); oneskorenie (1000); Reťazcová SMS = „Otvorené dvere!“; chip.println (SMS); oneskorenie (100); chip.println ((char) 26); oneskorenie (1000); }

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

{chip.println ("AT+CMGF = 1"); oneskorenie (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); oneskorenie (1000); Reťazcová SMS = „Zatvorené dvere!“; chip.println (SMS); oneskorenie (100); chip.println ((char) 26); oneskorenie (1000); }

Modul SIM800L používa na ovládanie svojich funkcií príkaz AT. Preto prostredníctvom týchto príkazov odošleme správu pre mobilný telefón používateľa.

AT+CGMF = 1 sa používa na konfiguráciu modulu na prácu v textovom režime SMS. Po oneskorení systém odošle správu pre používateľa pomocou nasledujúceho príkazu.

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

Modul SIM800L bude v príkaze pripravený odoslať správu pre číslo mobilného telefónu zaregistrované v reťazci SeuNumero. Potom systém načíta správu do reťazca a odošle pre mobilný telefón používateľa, ako je to znázornené nižšie.

Reťazcová SMS = „Zatvorené dvere!“; chip.println (SMS); oneskorenie (100); chip.println ((char) 26); oneskorenie (1000);

Znak (26) sa používa na označenie konca správy. Tento pracovný postup je podobný pre dve funkcie na odoslanie správy pre používateľa.

Poďakovanie

Teraz oceňujeme podporu JLCPCB pri vykonávaní tejto práce a v prípade záujmu navštívte nasledujúci odkaz a stiahnite si kompatibilnú dosku Arduino.

Odporúča: