Tartalomjegyzék:

Telefonos biztonsági rendszer Arduino -val: 5 lépés
Telefonos biztonsági rendszer Arduino -val: 5 lépés

Videó: Telefonos biztonsági rendszer Arduino -val: 5 lépés

Videó: Telefonos biztonsági rendszer Arduino -val: 5 lépés
Videó: Охранная сигнализация||Крутые лайфхаки||гаджет||#шорты 2024, Július
Anonim
Telefonos biztonsági rendszer Arduino -val
Telefonos biztonsági rendszer Arduino -val

Otthona védtelen lesz, ha nem alkalmazza ezt a projektet. Ez a projekt segít riasztást indítani mobiltelefonon keresztül, amikor egy betolakodó betör az otthonába.

Így, ha használja ezt a projektet, SMS -t kap mobiltelefonon keresztül, és védi otthonát inváziók esetén.

Ehhez az Arduino kompatibilis kártyát fogjuk használni a SIM800L modullal és a PIR érzékelővel. A PIR érzékelő lesz felelős a betolakodó jelenlétének észleléséért, a SIM800L pedig a figyelmeztető SMS küldéséért a ház tulajdonosának.

Kellékek

  • Arduino kompatibilis tábla
  • PIR érzékelő
  • Ellenállás 10kR
  • Jumpers
  • Protoboard
  • SIM800L modul

1. lépés: A projekt szíve

A projekt lényege a SIM800L modul. Ez a modul képes lesz Arduino parancsok fogadására és SMS küldésére a felhasználó mobiltelefonjára. Így amikor a felhasználó megkapja a riasztást, hívhatja a rendőrséget, vagy bármilyen más műveletet végrehajthat.

Az Arduino Compatible Board felelős az érzékelő állapotának ellenőrzéséért, majd figyelmeztető üzenetet küld a felhasználónak, ha észleli a betolakodó jelenlétét.

Ez a folyamat az Arduino és a SIM800L modul közötti vezérlőparancsoknak köszönhetően valósul meg. Ezért ettől kezdve lépésről lépésre bemutatjuk Önnek, hogy felépítse ezt a rendszert, védetten hagyja el otthonát, és figyelmezteti Önt, ha bármilyen betolakodó betör rá.

Ha le szeretné tölteni az Arduino kompatibilis táblát, akkor elérheti ezt a linket, és letöltheti a táblák megvásárlásához szükséges fájlokat a JLCPCB -n.

Most kezdjük el!

2. lépés: A projekt elektronikus áramköre és a programozás

A projekt elektronikus áramköre és a programozás
A projekt elektronikus áramköre és a programozás
A projekt elektronikus áramköre és a programozás
A projekt elektronikus áramköre és a programozás

Először elérhetővé tesszük az elektronikus áramkört, majd lépésről lépésre megbeszéljük az Ön számára a projektkódot.

#include SoftwareSerial chip (10, 11);

Karakterlánc SeuNumero = "+5585988004783";

#define érzékelő 12

bool ValorAtual = 0, ValorAnterior = 0;

üres beállítás ()

{Serial.begin (9600); Serial.println ("Inicializando Sistema…"); késleltetés (5000); chip.begin (9600); késleltetés (1000);

pinMode (érzékelő, BEMENET); // Configura o Pino do Sensor como Entrada

}

üres hurok ()

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

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

{IntrudeAlert; ValorAnterior = 1; }

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

{NoMoreIntrude (); ValorAnterior = 0; }

}

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

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

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

{chip.println ("AT+CMGF = 1"); késleltetés (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); késleltetés (1000); String SMS = "Nincs több beavatkozás!"; chip.println (SMS); késleltetés (100); chip.println ((char) 26); késleltetés (1000); }

Az alább látható kódban eredetileg a SoftwareSerial.h soros kommunikációs könyvtárat deklaráltuk, az alábbiak szerint.

#befoglalni

A könyvtár meghatározása után meghatároztuk a Tx és Rx kommunikációs csapokat. Ezek a csapok alternatív tűk, és lehetővé teszik a soros kommunikációt más Arduino csapokon. A SoftwareSerial könyvtárat úgy fejlesztették ki, hogy lehetővé tegye a szoftver használatát a funkció reprodukálására

SoftwareSerial chip (10, 11);

Ezt követően a mobiltelefonszám bejelentése az alábbiakban látható.

Karakterlánc SeuNumero = "+5585988004783";

Az elektronikus tervezési séma egyszerű és könnyen összeszerelhető. Amint az áramkörön látható, az Arduino kompatibilis kártya felelős az érzékelő állapotának leolvasásáért, majd SMS küldéséért a ház tulajdonosának.

Az üzenet elküldésre kerül, ha betolakodót észlelnek a házon belül. A PIR (passzív infravörös) érzékelő olyan érzékelő, amelyet az infravörös jel mozgásának érzékelésére használnak. Az Arduino -hoz küldött jelből a SIM800L modul üzenetet küld a felhasználónak.

A dióda feszültségcsökkenést biztosít a SIM800L modul ellátásához. Mivel a modul nem táplálható 5V -ról. Ily módon 4,3 V feszültség érkezik a modul tápellátásához és biztonságos működésének biztosításához.

3. lépés: Az üresség beállítása () függvény

A void setup funkcióban inicializáljuk a soros kommunikációt és konfiguráljuk az érzékelő tüskét bemenetként. Az alábbiakban bemutatjuk a kód régióját.

üres beállítás ()

{

Sorozat.kezdet (9600); Serial.println ("Inicializando Sistema…"); delay (5000); chip.begin (9600); késleltetés (1000); pinMode (érzékelő, BEMENET); // Configura o Pino do Sensor como Entrada}

Mint látható, a két soros kommunikációt inicializálták. A Serial.begin az Arduino natív sorozatának inicializálására szolgál, a chip.begin pedig a SoftwareSerial könyvtáron keresztül emulált sorozat. Ezt követően a void loop funkciót fogjuk használni.

4. lépés: A projekt és az üres hurok funkció

A projekt és az üres hurok funkció
A projekt és az üres hurok funkció
A projekt és az üres hurok funkció
A projekt és az üres hurok funkció

Most bemutatjuk a programozás fő logikáját az void loop funkcióban.

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

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

{IntrudeAlert ();

ValorAnterior = 1;

}

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

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Először a PIR jelenlétérzékelő jelét olvassuk le az alábbiak szerint.

ValorAtual = digitalRead (szenzor);

Ezt követően ellenőrizni kell, hogy a ValorAtual változó értéke 1 vagy 0, amint az alább látható.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Ha a ValorAtual változót 1 -re, a ValorAnterior változót pedig 0 -ra állítja, akkor az érzékelő ténylegesen be van kapcsolva, és elöl deaktiválva van (ValorAnterior == 0). Ily módon a funkció végrehajtásra kerül, és a felhasználó megkapja az üzenetet a mobiltelefonján. Ezt követően a ValorAnterior változó értéke 1 lesz.

Ily módon a ValorAnterior változó jelezni fogja, hogy az érzékelő tényleges állapota be van kapcsolva.

Ha a ValorAtual változó értéke 0, és a ValorAnterior változó értéke 0, akkor az érzékelő nem észleli a behatolást, majd aktiválja az értékét.

Ily módon a rendszer elküldi az üzenetet a felhasználó mobiltelefonjához, és frissíti az érzékelő tényleges értékét 0. Ez az érték azt jelzi, hogy az érzékelő pillanatnyilag nem működik.

A felhasználó számára küldött üzenetek fent láthatók.

Most megtanuljuk, hogyan kell működtetni a funkciót az üzenetek elküldéséhez a felhasználó mobiltelefonjára.

5. lépés: Az üzenetek küldésének funkciói

Ebben a rendszerben két funkció van. Ezek azonos szerkezetű funkciók. A különbség köztük a név és az elküldött üzenet, de amikor elemezzük, látni fogjuk, hogy teljesen azonosak.

Ezután bemutatjuk a függvények teljes felépítését és megvitatjuk a kódot.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); késleltetés (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); késleltetés (1000); String SMS = "Nyitott ajtó!"; chip.println (SMS); késleltetés (100); chip.println ((char) 26); késleltetés (1000); }

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

{chip.println ("AT+CMGF = 1"); késleltetés (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); késleltetés (1000); String SMS = "Zárt ajtó!"; chip.println (SMS); késleltetés (100); chip.println ((char) 26); késleltetés (1000); }

A SIM800L modul az AT parancs segítségével vezérli funkcióit. Ezért ezeken a parancsokon keresztül elküldjük az üzenetet a felhasználó mobiltelefonjára.

Az AT+CGMF = 1 segítségével konfigurálható a modul SMS szöveg módban. A késleltetés után a rendszer a következő parancs segítségével elküldi az üzenetet a felhasználónak.

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

A parancsban a SIM800L modul felkészül üzenet küldésére a SeuNumero karakterláncban regisztrált mobiltelefonszámra. Ezt követően a rendszer betölti az üzenetet a karakterláncba, és elküldi a felhasználó mobiltelefonjához, amint az alább látható.

String SMS = "Zárt ajtó!"; chip.println (SMS); késleltetés (100); chip.println ((char) 26); késleltetés (1000);

A char (26) jelzi az üzenet végét. Ez a munkafolyamat hasonló, ha két funkció üzenetet küld a felhasználónak.

Köszönetnyilvánítás

Most nagyra értékeljük a JLCPCB támogatását e munka elvégzéséhez, és ha érdekli, kattintson az alábbi linkre, és töltse le az Arduino kompatibilis táblát.

Ajánlott: