Arduino alapú vezeték nélküli riasztórendszer. Otthoni riasztó vagy mozgásérzékelő és LCD monitor használata Arduino-val Sapsan vezeték nélküli mozgásérzékelők csatlakoztatása Arduinohoz

Beillesztés
Autólopások az egész elmúlt évtizedben a világban elkövetett bűncselekmények szerkezetében az egyik jelentős helyet foglalják el. Ez nem annyira ennek a lopási kategóriának a bűncselekmények összszámához viszonyított fajsúlyának köszönhető, hanem az autók magas költsége miatt okozott kár jelentőségéből. A gépjárműlopások elleni küzdelem terén hozott intézkedések gyenge hatékonysága a 90-es évek végére olyan stabil csoportok létrejöttéhez vezetett, amelyek ezen bűncselekmények elkövetésére és birtoklására szakosodtak. megkülönböztető jellegzetességek szervezett bűnözés; Valószínűleg hallottad már a "fekete autóüzlet" kifejezést. Az európai országok autóparkjából évente körülbelül 2%-a hiányzik azoknak az autóknak, amelyek bűncselekmények áldozatává válnak. Ezért jött az ötlet, hogy készítsek egy GSM riasztót az autómhoz Arduino alapú Uno.

Kezdjük!

Miből fogunk gyűjteni?

Ki kell választanunk rendszerünk szívét. Véleményem szerint az ilyen jelzésekhez semmi sem jobb, mint az Arduino Uno. A fő kritérium a megfelelő számú „csap” és az ár.


Az Arduino Uno főbb jellemzői

Mikrokontroller - ATmega328
Üzemi feszültség - 5 V
Bemeneti feszültség (ajánlott) - 7-12 V
Bemeneti feszültség (határérték) - 6-20 V
Digitális bemenetek/kimenetek - 14 (ebből 6 PWM kimenetként használható)
Analóg bemenetek - 6
Állandó áram a bemeneten/kimeneten - 40 mA
Állandó áram a kimenethez 3,3V - 50mA
Flash memória - 32 KB (ATmega328), ebből 0,5 KB a rendszerbetöltő
RAM - 2 KB (ATmega328)
EEPROM – 1 KB (ATmega328)
Órajel frekvencia - 16 MHz


Illik!

Most egy GSM modult kell választani, mert riasztórendszerünknek tudnia kell értesíteni az autó tulajdonosát. Szóval, keresni kell a google-ban... Itt egy kiváló szenzor - SIM800L, a mérete egyszerűen csodálatos.


Gondoltam és Kínából rendeltem. Kiderült azonban, hogy nem minden olyan rózsás. Az érzékelő egyszerűen nem volt hajlandó regisztrálni a SIM-kártyát a hálózaton. Minden lehetségest kipróbáltak – az eredmény nulla volt.
Megtalált jó emberek, aki biztosított számomra egy menőbb dolgot - Sim900 Shield. Ez most komoly dolog. A Shield mikrofon- és fejhallgató-csatlakozóval is rendelkezik, így teljes értékű telefon.


A Sim900 Shield főbb jellemzői

4 működési frekvencia szabvány 850/900/1800/1900 MHz
GPRS multi-slot osztály 10/8
B osztályú GPRS mobilállomás
Megfelel a 2/2+ GSM fázisnak
4. osztály (2 W @ 850/900 MHz)
1. osztály (1 W @ 1800/1900 MHz)
Vezérlés AT parancsokkal (GSM 07.07, 07.05 és SIMCOM kiterjesztett AT parancsok)
Alacsony energiafogyasztás: 1,5 mA (alvó üzemmód)
Működési hőmérséklet tartomány: -40°C és +85°C között


Illik!

Rendben, de le kell olvasnia néhány érzékelőt, hogy értesítse a tulajdonost. Ha az autót elvontatják, akkor nyilvánvalóan megváltozik az autó helyzete a térben. Vegyünk egy gyorsulásmérőt és egy giroszkópot. Nagy. Rendben, most érzékelőt keresünk.

Szerintem a GY-521 MPU6050 biztosan belefér. Kiderült, hogy hőmérséklet érzékelő is van benne. Használnunk is kellene, lesz ilyen „killer funkció”. Tegyük fel, hogy az autó tulajdonosa leparkolta a háza alatt, és elment. Az autó belsejében a hőmérséklet „simán” fog változni. Mi történik, ha egy behatoló megpróbál betörni az autóba? Például képes lesz kinyitni az ajtót. Az autó hőmérséklete gyorsan változni kezd, ahogy az utastér levegője keveredni kezd a levegővel környezet. Szerintem menni fog.


A GY-521 MPU6050 főbb jellemzői

3 tengelyes giroszkóp + 3 tengelyes gyorsulásmérő GY-521 modul MPU-6050 chipen. Lehetővé teszi egy tárgy helyzetének és mozgásának meghatározását a térben, szögsebességét forgás közben. Beépített hőmérséklet-érzékelővel is rendelkezik. Különböző helikopterekben és repülőgépmodellekben használják, ezekre az érzékelőkre épülő mozgásrögzítő rendszer is összeállítható.

Chip - MPU-6050
Tápfeszültség - 3,5 V-tól 6 V-ig (DC);
Giroszkóp hatótávolsága - ±250 500 1000 2000°/s
A gyorsulásmérő tartománya - ±2±4±8±16g
Kommunikációs interfész - I2C
Mérete - 15x20 mm.
Súly - 5 g


Illik!

Egy rezgésérzékelő is jól jön. Hirtelen „nyers erővel” próbálják kinyitni az autót, vagy a parkolóban egy másik autó elüti az autóját. Vegyük az SW-420 rezgésérzékelőt (állítható).


Az SW-420 főbb jellemzői

Tápfeszültség - 3,3 - 5V
Kimeneti jel - digitális magas/alacsony (normál zárt)
Használt érzékelő - SW-420
A használt összehasonlító LM393
Méretek - 32x14 mm
Ezenkívül - van egy beállító ellenállás.


Illik!

Csavarja fel az SD memóriakártya modult. Naplófájlt is írunk.


Az SD memóriakártya modul főbb jellemzői

A modul lehetővé teszi a mikrokontroller alapú készülék működéséhez szükséges adatok tárolását, olvasását és SD kártyára írását. Az eszköz használata akkor releváns, ha több tíz megabájttól két gigabájtig terjedő fájlokat tárol. A kártya tartalmaz egy SD-kártya tárolót, egy kártya teljesítménystabilizátort, valamint egy csatlakozódugót az interfészhez és a tápvezetékekhez. Ha hanggal, videóval vagy más nagyszabású adatokkal kell dolgoznia, például eseménynaplót kell vezetnie, szenzoradatokat kell tárolnia vagy webszerver-információkat kell tárolnia, akkor az Arduino SD memóriakártya modulja lehetővé teszi az SD-kártya használatát ezekre a célokra. A modul segítségével tanulmányozhatja az SD-kártya tulajdonságait.
Tápfeszültség - 5 vagy 3,3 V
SD-kártya memóriakapacitása - akár 2 GB
Méretek - 46 x 30 mm


Illik!

És adjunk hozzá egy szervo meghajtót, amikor az érzékelők működésbe lépnek, a szervo meghajtó a videomagnóval megfordul, és videót készít az esetről. Vegyük az MG996R szervohajtást.


Az MG996R szervohajtás főbb jellemzői

Stabil és megbízható védelem sérüléstől
- Fém meghajtó
- Kétsoros golyóscsapágy
- Vezeték hossza 300 mm
- Méretek 40x19x43mm
- Súly 55 g
- Forgatási szög: 120 fok.
- Működési sebesség: 0,17 mp/60 fok (4,8 V terhelés nélkül)
- Működési sebesség: 0,13 mp/60 fok (6V terhelés nélkül)
- Indítási nyomaték: 9,4 kg/cm 4,8 V tápfeszültség mellett
- Indítónyomaték: 11kg/cm 6V-os tápegységen
- Üzemi feszültség: 4,8 - 7,2V
- Minden meghajtó alkatrész fémből készült


Illik!

Gyűjtjük

A Google-on rengeteg cikk található az egyes érzékelők csatlakoztatásáról. És nincs kedvem új kerékpárokat feltalálni, ezért hagyok linkeket az egyszerű és működő lehetőségekhez.

Ez a projekt egy olyan rendszer fejlesztésére és javítására vonatkozik, amely megakadályozza/ellenőrzi a tolvajok behatolási kísérleteit. A kifejlesztett biztonsági eszköz GSM (Global System for Mobile Communications) technológián alapuló beágyazott rendszert használ (tartozik egy nyílt forráskódú szoftvert használó hardveres mikrokontroller és egy GSM modem).

A házba biztonsági berendezés telepíthető. Interfész érzékelő riasztó vezérlő alapú biztonsági rendszerhez is csatlakozik.
Ha megpróbál behatolni, a rendszer figyelmeztető üzenetet (például sms-t) küld a tulajdonosnak mobiltelefon vagy bármely előre konfigurált mobiltelefonra további feldolgozás céljából.

A biztonsági rendszer egy Arduino Uno mikrokontrollerből és egy szabványos, GSM/GPRS alapú SIM900A modemből áll. A teljes rendszer bármely 12V 2A tápegységről/akkumulátorról táplálható.

Alább látható a diagram biztonsági rendszer Arduino alapján.

A rendszer működése nagyon egyszerű és nem igényel magyarázatot. Amikor a rendszer áramellátást kap, az készenléti üzemmódba kerül. Ha a J2 csatlakozó érintkezői rövidre záródnak, egy előre programozott figyelmeztető üzenet kerül elküldésre a kívánt mobilszámra. Bármilyen behatolásérzékelőt (például fényvédőt vagy mozgásérzékelőt) csatlakoztathat a J2 bemeneti csatlakozóhoz. Vegye figyelembe, hogy a J2 csatlakozó 1. érintkezőjén lévő aktív-alacsony (L) jel aktiválja a betörésjelzőt.

Ezenkívül egy opcionális „hívás-riasztó” eszköz került a rendszerbe. Aktivál telefon hívás amikor a felhasználó megnyomja az S2 gombot (vagy ha egy másik elektronikus egység riasztást indít). A „hívás” gomb (S2) megnyomása után a hívást egy másik S3 gomb – a „vége” gomb – megnyomásával lehet megszakítani. Ezzel az opcióval behatolás esetén „nem fogadott hívás” riasztás generálható.

Az áramkör nagyon rugalmas, így bármilyen SIM900A modemet (és természetesen az Arduino Uno kártyát) használhat. Kérjük, az összeszerelés megkezdése előtt figyelmesen olvassa el a modem dokumentációját. Ez megkönnyíti és élvezetesebbé teszi a rendszer gyártási folyamatát.

Radioelemek listája

Kijelölés típus Megnevezés Mennyiség jegyzetÜzletA jegyzettömböm
Arduino tábla

Arduino Uno

1 Jegyzettömbhöz
GSM/GPRS modemSIM900A1 Jegyzettömbhöz
IC1 Lineáris szabályozó

LM7805

1 Jegyzettömbhöz
C1 100uF 25V1 Jegyzettömbhöz
C2 Elektrolit kondenzátor10uF 16V1 Jegyzettömbhöz
R1 Ellenállás

1 kOhm

1 Jegyzettömbhöz
LED1 Fénykibocsátó dióda 1 Jegyzettömbhöz
S1 GombRögzítéssel1


Hogyan kell csinálni egyszerű GSM riasztórendszer SIM800L-en és Arduino-n garázsba vagy nyaralóba. Mi magunk készítjük az Aliexpress kész moduljaival. Fő modulokGSM modul SIM800L, Arduino Nano (bármilyen Uno-t használhatsz, stb.), leléptető kártya, akkumulátor mobiltelefon.

Rizs. 1. A biztonsági riasztó modulok elrendezése az Arduino rendszeren

Riasztógyártás

Felszállunk kenyérdeszka a párnákon keresztül, ami lehetővé teszi a modulok szükség esetén cseréjét. Kapcsolja be a riasztót úgy, hogy 4,2 voltos tápfeszültséget ad a SIM800L és az Arduino Nano kapcsolóján keresztül.



Amikor az első hurok aktiválódik, a rendszer először az első számot hívja, majd megszakítja a hívást, és visszahívja a második számot. A második szám arra az esetre lett hozzáadva, ha az első hirtelen megszakad stb. A második, harmadik, negyedik és ötödik hurok indításakor egy SMS-t küld a kiváltott zóna számával, szintén két számra. A diagram és a vázlat az érdeklődők számára a videó alatt található leírásban.
Minden elektronikát megfelelő házba helyezünk.



Ha nincs szüksége 5 kábelre, csatlakoztassa az 5 V-os Arduino tűt a szükségtelen bemenetekhez. GSM riasztó 5 kábelhez akkumulátorral, ami lehetővé teszi, hogy a készülék több napig önállóan működjön, még áramszünet esetén is. Bármilyen biztonsági érintkező érzékelőt, reléérintkezőt stb. csatlakoztathat hozzájuk, így egy egyszerű, olcsó, kompakt biztonsági eszközt kapunk SMS küldésére és 2 szám tárcsázására. Használható dacha, lakás, garázs stb. védelmére.

További részletek a videóban

Szia kedves olvasó! A mai cikk egy egyszerű létrehozásáról szól otthoni rendszer biztonság a rendelkezésre álló alkatrészek használatával. Ez a kicsi és olcsó készülék segít megvédeni otthonát a behatolástól. Arduino segítség, mozgásérzékelő, kijelző és hangszóró. A készülék akkumulátorról vagy a számítógép USB-portjáról működhet.

Szóval, kezdjük!

Hogyan működik?

A melegvérű állatok teste infravörös sugárzást bocsát ki, ami emberi szem számára láthatatlan, de szenzorok segítségével kimutatható. Az ilyen érzékelők olyan anyagból készülnek, amely hő hatására spontán polarizálódhat, lehetővé téve a hőforrások megjelenésének észlelését az érzékelő hatókörén belül.

A szélesebb kör érdekében Fresnel lencséket használnak, amelyek összegyűjtik az infravörös sugárzást különböző irányokbaés magára az érzékelőre koncentrálja.

Az ábrán látható, hogy a lencse hogyan torzítja el a ráeső sugarakat.

Érdemes megjegyezni, hogy a különösen forró alkatrészek nélküli és hidegvérű robotok nagyon kevés infravörös sugárzást bocsátanak ki, így előfordulhat, hogy az érzékelő nem működik, ha a Boston Dynamics alkalmazottai vagy hüllők úgy döntenek, hogy körülvesznek.

Ha változás történik a tartományban az infravörös sugárzás szintjében, akkor ezt az Arduino feldolgozza, majd az állapot megjelenik az LCD-kijelzőn, a LED villogni kezd, és a hangszóró sípol.

Mire van szükségünk?

  1. (vagy bármilyen más tábla).
  2. (16 karakter két sorban)
  3. Egy csatlakozó a korona és az Arduino csatlakoztatásához
  4. (bár használhatsz normál hangszórót is)
  5. USB kábel - csak programozáshoz ( kb. fordítás: Mindig az Arduinónkkal jár!)
  6. Számítógép (megint csak a program írására és betöltésére).

Egyébként, ha nem szeretné ezeket az alkatrészeket külön-külön megvásárolni, javasoljuk, hogy figyeljen a miénkre. Például minden, amire szüksége van, és még több is megtalálható a kezdőkészletünkben.

Kapcsolódjunk!

A mozgásérzékelő csatlakoztatása nagyon egyszerű:

  1. Csatlakoztatjuk a Vcc érintkezőt az 5V-os Arduino-hoz.
  2. Csatlakoztatjuk a Gnd érintkezőt az Arduino GND-jéhez.
  3. Az OUT érintkezőt az Arduino 7-es számú digitális tűjéhez csatlakoztatjuk

Most kössük össze a LED-et és a hangszórót. Itt is ilyen egyszerű:

  1. Csatlakoztatjuk a LED rövid lábát (mínusz) a földhöz
  2. Csatlakoztatjuk a LED hosszú lábát (plusz) az Arduino 13-as kimenetéhez
  3. Piros hangszóró vezeték a 10. számú kimenethez
  4. Fekete vezeték - a földre

És most a kemény rész az 1602 LCD-kijelző csatlakoztatása az Arduino-hoz. I2C nélküli kijelzőnk van, így sok Arduino kimenetre lesz szükségünk, de az eredmény megéri. A diagram az alábbiakban látható:

Csak az áramkör egy részére van szükségünk (potenciométerrel nem lesz kontrasztállításunk). Ezért csak a következőket kell tennie:

Most már tudja, hogyan kell 1602-es kijelzőt csatlakoztatni az Arduino UNO R3-hoz (valamint az Arduino bármely verziójához a Minitől a Megáig).

Programozás

Ideje áttérni a programozásra. Alul a kód, amit csak ki kell töltened, és ha mindent jól összeállítottál, kész is a készülék!

#beleértve int ledPin = 13; // LED pin input inputPin = 7; // Pin, amelyhez Out of the mozgásérzékelő csatlakozik, in pirState = LOW; // Aktuális állapot (az elején semmi sem észlelhető) int val = 0; // Változó a digitális bemenetek állapotának leolvasására int pinSpeaker = 10; // A tű, amelyhez a hangszóró csatlakozik. LiquidCrystal lcd(12, 11, 5, 4, 3, 2) PWM tűt igényel; // Az LCD-kijelző inicializálása void setup() ( // Határozza meg az adatátvitel irányát a digitális tűkön pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // A hibakeresési információk kimenetének indítása a soros soros porton keresztül .begin(9600); // Kimenet indítása az LCD kijelzőre lcd.begin(16, 2); // Állítsa be az indexet a kijelzőkön, ahonnan a kimenetet indítjuk // (2 karakter, 0 sor ) lcd.setCursor(2, 0) ; // Kimenet az LCD kijelzőre lcd.print("P.I.R Motion"); // Újramozgatás lcd.setCursor(5, 1); // Kimenet lcd.print("Sensor") ); // Szünet, hogy legyen ideje elolvasni, mi volt a kimeneti késleltetés (5000); // Az lcd.clear() törlése; // Hasonló az lcd.setCursor(0, 0); lcd.print("Adatok feldolgozása." ); delay(3000); lcd.clear(); lcd.setCursor(3, 0); lcd.print("Waiting For"); lcd.setCursor(3, 1); lcd.print("Motion... ."); ) void loop() ( // Olvassa be az érzékelő olvasási értékét val = digitalRead(inputPin); if (val == HIGH) ( // Ha mozgás van, akkor gyújtsa meg a LED-et és kapcsolja be a szirénát digitalWrite(ledPin, MAGAS); playTone(300, 300); késleltetés(150); // Ha a mozdulatok előtt ebben a pillanatban nem volt, akkor egy üzenetet jelenítünk meg // hogy észlelték // Az alábbi kódra azért van szükség, hogy csak állapotváltozást írjunk ki, és ne írjuk ki minden alkalommal az értéket if (pirState == LOW) ( Serial.println(" Mozgás észlelve!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Motion Detected!"); pirState = HIGH; ) ) else ( // Ha a mozgás a digitalWrite(ledPin) , LOW); playTone(0, 0); delay(300); if (pirState == HIGH)( // Tájékoztat, hogy mozgás történt, de már véget ért Serial.println("A mozgás véget ért!"); lcd. clear(); lcd.setCursor(3, 0); lcd.print("Waiting For"); lcd.setCursor(3, 1); lcd.print("Motion...."); pirState = LOW; ) ) ) // Hanglejátszási funkció. Időtartam (időtartam) - milliszekundumban, Freq (frekvencia) - Hz-ben void playTone (hosszú időtartam, int frekvencia) ( időtartam *= 1000; int periódus = (1,0 / frekvencia) * 100 000; hosszú eltelt_idő = 0; míg (eltelt_idő)< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }