Belaidė signalizacija, pagrįsta Arduino. Namų signalizacija arba judesio jutiklio ir LCD monitoriaus naudojimas su Arduino Sapsan belaidžių judesio jutiklių prijungimas prie Arduino

Įklijavimas
Visur automobilių vagystės praėjusį dešimtmetį užima vieną reikšmingų vietų pasaulyje daromų nusikaltimų struktūroje. Tai lemia ne tiek specifinis šios kategorijos vagysčių sunkumas, palyginti su bendru nusikaltimų skaičiumi, kiek dėl brangių automobilių padarytos žalos reikšmingumas. Dėl silpno priemonių, kurių buvo imtasi kovojant su transporto priemonių vagystėmis, veiksmingumas iki 90-ųjų pabaigos, susikūrė stabilios grupės, besispecializuojančios šių nusikaltimų daryme ir disponavimu. skiriamieji bruožai organizuotas nusikalstamumas; Tikriausiai esate girdėję terminą „juodųjų automobilių verslas“. Europos šalių automobilių parke kasmet trūksta ≈ 2% automobilių, kurie tampa nusikalstamų išpuolių objektu. Todėl sugalvojau savo automobiliui pasidaryti GSM signalizaciją Arduino pagrindu Uno.

Pradėkime!

Iš ko rinksime?

Turime pasirinkti savo sistemos širdį. Mano nuomone, tokiam signalizavimui nėra nieko geresnio už Arduino Uno. Pagrindinis kriterijus – pakankamas „smeigtukų“ skaičius ir kaina.


Pagrindinės Arduino Uno savybės

Mikrovaldiklis - ATmega328
Darbinė įtampa - 5 V
Įėjimo įtampa (rekomenduojama) - 7-12 V
Įėjimo įtampa (riba) - 6-20 V
Skaitmeniniai įėjimai / išėjimai - 14 (iš kurių 6 gali būti naudojami kaip PWM išėjimai)
Analoginiai įėjimai - 6
Pastovi srovė per įėjimą/išėjimą - 40 mA
Pastovi srovė išėjimo 3.3V - 50mA
„Flash“ atmintis - 32 KB (ATmega328), iš kurių 0,5 KB naudojama įkrovos programai
RAM – 2 KB (ATmega328)
EEPROM – 1 KB (ATmega328)
Laikrodžio dažnis – 16 MHz


Tinka!

Dabar reikia pasirinkti GSM modulį, nes mūsų signalizacija turi sugebėti pranešti automobilio savininkui. Taigi, reikia paieškoti google... Čia puikus jutiklis - SIM800L, dydis tiesiog nuostabus.


Pagalvojau ir užsisakiau iš Kinijos. Tačiau viskas pasirodė ne taip rožiškai. Jutiklis tiesiog atsisakė registruoti SIM kortelę tinkle. Buvo išbandyta viskas, kas įmanoma – rezultatas nulinis.
Rasta geri žmonės, kuris man parūpino šaunesnį daiktą - Sim900 Shield. Dabar tai rimtas dalykas. „Shield“ turi ir mikrofono, ir ausinių lizdą, todėl tai yra visavertis telefonas.


Pagrindinės Sim900 Shield savybės

4 veikimo dažnio standartai 850/900/1800/1900 MHz
GPRS kelių lizdų klasė 10/8
B klasės GPRS mobilioji stotis
Atitinka GSM fazę 2/2+
4 klasė (2 W @ 850 / 900 MHz)
1 klasė (1 W @ 1800/1900 MHz)
Valdymas naudojant AT komandas (GSM 07.07, 07.05 ir SIMCOM išplėstinės AT komandos)
Mažas energijos suvartojimas: 1,5 mA (miego režimas)
Darbinės temperatūros diapazonas: -40°C iki +85°C


Tinka!

Gerai, bet norint pranešti savininkui, reikia paimti kai kurių jutiklių rodmenis. Jei automobilis nutemptas, automobilio padėtis erdvėje akivaizdžiai pasikeis. Paimkime akselerometrą ir giroskopą. Puiku. Gerai, dabar mes ieškome jutiklio.

Manau, kad GY-521 MPU6050 tikrai tiks. Paaiškėjo, kad jis turi ir temperatūros jutiklį. Turėtume jį naudoti ir mes, bus tokia „žudiko funkcija“. Tarkime, kad automobilio savininkas pasistatė jį po savo namu ir išvažiavo. Temperatūra automobilio viduje keisis „tolygiai“. Kas atsitiks, jei įsibrovėlis bandys įsilaužti į automobilį? Pavyzdžiui, jis galės atidaryti duris. Temperatūra automobilyje pradės sparčiai keistis, nes oras salone pradės maišytis su oru aplinką. Manau, kad pavyks.


Pagrindinės GY-521 MPU6050 savybės

3 ašių giroskopas + 3 ašių akselerometro GY-521 modulis MPU-6050 luste. Leidžia nustatyti objekto padėtį ir judėjimą erdvėje, kampinį greitį sukimosi metu. Jame taip pat yra įmontuotas temperatūros jutiklis. Jis naudojamas įvairiuose kopteriuose ir orlaivių modeliuose, pagal šiuos jutiklius taip pat gali būti surinkta judesio fiksavimo sistema.

Lustas - MPU-6050
Maitinimo įtampa - nuo 3,5V iki 6V (DC);
Giroskopo diapazonas - ±250 500 1000 2000°/s
Akselerometro diapazonas - ±2±4±8±16g
Ryšio sąsaja – I2C
Dydis - 15x20 mm.
Svoris - 5 g


Tinka!

Taip pat pravers ir vibracijos jutiklis. Staiga jie bando atidaryti automobilį su „žalia jėga“, arba stovėjimo aikštelėje kitas automobilis atsitrenkia į jūsų automobilį. Paimkime vibracijos jutiklį SW-420 (reguliuojamas).


Pagrindinės SW-420 charakteristikos

Maitinimo įtampa - 3,3 - 5V
Išvesties signalas – skaitmeninis aukštas/žemas (paprastai uždarytas)
Naudotas jutiklis - SW-420
Naudojamas palyginimas yra LM393
Matmenys - 32x14 mm
Papildomai - Yra reguliavimo rezistorius.


Tinka!

Prisukite SD atminties kortelės modulį. Taip pat parašysime žurnalo failą.


Pagrindinės SD atminties kortelės modulio charakteristikos

Modulis leidžia saugoti, nuskaityti ir įrašyti į SD kortelę duomenis, reikalingus mikrovaldiklio pagrindu veikiančio įrenginio veikimui. Įrenginio naudojimas yra aktualus, kai saugomi failai nuo dešimčių megabaitų iki dviejų gigabaitų. Plokštėje yra SD kortelės talpykla, kortelės maitinimo stabilizatorius ir jungties kištukas sąsajai ir maitinimo linijoms. Jei jums reikia dirbti su garso, vaizdo ar kitais didelės apimties duomenimis, pavyzdžiui, vesti įvykių žurnalą, jutiklių duomenis ar saugoti žiniatinklio serverio informaciją, tada „Arduino“ skirtas SD atminties kortelės modulis leis naudoti SD kortelę. šiems tikslams. Naudodami modulį galite ištirti SD kortelės funkcijas.
Maitinimo įtampa - 5 arba 3,3 V
SD kortelės atminties talpa – iki 2 GB
Matmenys - 46 x 30 mm


Tinka!

Ir dar pridėkime servo pavarą, suveikus jutikliams servo pavara su vaizdo registratoriumi pasisuks ir nufilmuos įvykio vaizdo įrašą. Paimkime MG996R servo pavarą.


Pagrindinės MG996R servo pavaros savybės

Stabilus ir patikima apsauga nuo žalos
- Metalinė pavara
- Dviejų eilių rutulinis guolis
- Vielos ilgis 300 mm
- Matmenys 40x19x43mm
- Svoris 55 g
- Sukimosi kampas: 120 laipsnių.
- Veikimo greitis: 0,17 s / 60 laipsnių (4,8 V be apkrovos)
- Veikimo greitis: 0,13 sek./60 laipsnių (6 V be apkrovos)
- Pradinis sukimo momentas: 9,4 kg/cm esant 4,8 V maitinimo šaltiniui
- Pradinis sukimo momentas: 11kg/cm esant 6V maitinimo šaltiniui
- Darbinė įtampa: 4,8 - 7,2V
- Visos pavaros dalys pagamintos iš metalo


Tinka!

Mes renkame

„Google“ yra daugybė straipsnių apie kiekvieno jutiklio prijungimą. O išradinėti naujų dviračių neturiu noro, todėl paliksiu nuorodas į paprastus ir veikiančius variantus.

Šis projektas yra susijęs su sistemos, skirtos užkirsti kelią/kontroliuoti bet kokius vagių bandymus įsiskverbti, kūrimu ir tobulinimu. Sukurtame apsaugos įrenginyje naudojama GSM (Global System for Mobile Communications) technologija paremta įterptinė sistema (apima aparatinę mikrovaldiklį naudojant atvirojo kodo programinę įrangą ir GSM modemą).

Namuose galima įrengti apsaugos įrenginį. Sąsajos jutiklis signalizacija taip pat prijungtas prie valdikliu pagrįstos apsaugos sistemos.
Kai bandoma įsiskverbti, sistema savininkui išsiunčia įspėjamąjį pranešimą (pvz., SMS). Mobilusis telefonas arba į bet kurį iš anksto sukonfigūruotą mobilųjį telefoną tolesniam apdorojimui.

Apsaugos sistema susideda iš Arduino Uno mikrovaldiklio ir standartinio SIM900A modemo, paremto GSM/GPRS. Visa sistema gali būti maitinama bet kokiu 12V 2A maitinimo šaltiniu/baterija.

Žemiau yra diagrama apsaugos sistema remiantis Arduino.

Sistemos veikimas yra labai paprastas ir nereikalauja paaiškinimo. Kai sistema tiekiama maitinimui, ji pereina į budėjimo režimą. Kai J2 jungties kaiščiai trumpai sutrumpinami, reikiamu mobiliojo telefono numeriu siunčiamas iš anksto užprogramuotas įspėjamasis pranešimas. Prie J2 įvesties jungties galite prijungti bet kokį įsibrovimo detektorių (pvz., šviesos apsaugą arba judesio jutiklį). Atkreipkite dėmesį, kad aktyvus žemas (L) signalas ant jungties J2 1 kaiščio suaktyvins įsilaužimo signalizaciją.

Be to, prie sistemos buvo pridėtas pasirenkamas „skambinimo aliarmo“ įrenginys. Tai suaktyvina skambutis kai vartotojas paspaudžia mygtuką S2 (arba kai kitas elektroninis blokas inicijuoja aliarmą). Paspaudus mygtuką „Skambinti“ (S2), pokalbį galima atšaukti paspaudus kitą mygtuką S3 – mygtuką „baigti“. Ši parinktis gali būti naudojama „praleisto skambučio“ aliarmui generuoti įsibrovimo atveju.

Grandinė yra labai lanksti, todėl gali naudoti bet kurį SIM900A modemą (ir, žinoma, Arduino Uno plokštę). Prieš pradėdami surinkti, atidžiai perskaitykite modemo dokumentaciją. Taip sistemos gamybos procesas bus lengvesnis ir malonesnis.

Radioelementų sąrašas

Paskyrimas Tipas Denominacija Kiekis PastabaParduotuvėMano užrašų knygelė
Arduino lenta

Arduino Uno

1 Į užrašų knygelę
GSM/GPRS modemasSIM900A1 Į užrašų knygelę
IC1 Linijinis reguliatorius

LM7805

1 Į užrašų knygelę
C1 100uF 25V1 Į užrašų knygelę
C2 Elektrolitinis kondensatorius10uF 16V1 Į užrašų knygelę
R1 Rezistorius

1 kOhm

1 Į užrašų knygelę
LED1 Šviesos diodas 1 Į užrašų knygelę
S1 MygtukasSu fiksavimu1


Kaip daryti paprastas GSM signalizacija SIM800L ir Arduino garažui ar kotedžui. Gaminame patys, naudodami paruoštus „Aliexpress“ modulius. Pagrindiniai moduliaiGSM modulis SIM800L, Arduino Nano (galite naudoti bet kokį Uno ir pan.), nuleidžiama plokštė, baterija iš Mobilusis telefonas.

Ryžiai. 1. Apsaugos signalizacijos modulių išdėstymas Arduino

Signalizacijos gamyba

Mes užlipame Bandomoji Lenta per trinkeles, kurios prireikus leis pakeisti modulius. Įjunkite žadintuvą tiekdami 4,2 volto maitinimą per SIM800L ir Arduino Nano jungiklį.



Kai suveikia pirmoji kilpa, sistema pirmiausia skambina pirmuoju numeriu, tada nutraukia skambutį ir vėl skambina antruoju numeriu. Antrasis skaičius buvo pridėtas tik tuo atveju, jei pirmasis staiga atsijungs ir pan. Suaktyvinus antrą, trečią, ketvirtą ir penktą kilpą, siunčiama SMS žinutė su suaktyvintos zonos numeriu, taip pat dviem numeriais. Diagrama ir eskizas tiems, kurie domisi, yra aprašyme po vaizdo įrašu.
Visą elektroniką dedame į tinkamą korpusą.



Jei jums nereikia 5 laidų, prijunkite 5 V Arduino kaištį prie nereikalingų įėjimų. GSM signalizacija 5 laidams su baterija, kuri leis įrenginiui veikti autonomiškai keletą dienų net ir nutrūkus elektrai. Prie jų galite prijungti bet kokius apsaugos kontaktų jutiklius, relinius kontaktus ir pan.. Dėl to gauname paprastą, nebrangų, kompaktišką apsaugos įrenginį, skirtą SMS siuntimui ir rinkimui 2 numeriais. Jis gali būti naudojamas apsaugoti vasarnamį, butą, garažą ir kt.

Daugiau informacijos vaizdo įraše

Sveiki, mielas skaitytojau! Šiandienos straipsnis yra apie paprasto namų sistema saugumas naudojant turimus komponentus. Šis mažas ir pigus prietaisas padės apsaugoti jūsų namus nuo įsibrovimų. Arduino pagalba, judesio jutiklis, ekranas ir garsiakalbis. Įrenginys gali būti maitinamas iš baterijos arba kompiuterio USB prievado.

Taigi, pradėkime!

Kaip tai veikia?

Šiltakraujų gyvūnų kūnai skleidžia infraraudonąją spinduliuotę, kuri žmogaus akims nematoma, tačiau ją galima aptikti naudojant jutiklius. Tokie jutikliai yra pagaminti iš medžiagos, kuri gali spontaniškai poliarizuotis, kai yra veikiama šilumos, todėl galima aptikti šilumos šaltinių atsiradimą jutiklio diapazone.

Platesniam diapazonui naudojami Frenelio lęšiai, kurie surenka infraraudonąją spinduliuotę skirtingomis kryptimis ir sutelkti jį į patį jutiklį.

Paveikslėlyje parodyta, kaip objektyvas iškreipia į jį krentančius spindulius.

Verta paminėti, kad robotai be ypač karštų dalių ir šaltakraujai skleidžia labai mažai infraraudonųjų spindulių, todėl jutiklis gali neveikti, jei Boston Dynamics darbuotojai ar reptilijos nuspręs jus apsupti.

Kai diapazone pasikeičia IR spinduliuotės lygis, tai bus apdorojama „Arduino“, o po to būsena bus rodoma LCD ekrane, mirksės šviesos diodas, o garsiakalbis pypsi.

Ko mums reikia?

  1. (ar bet kuri kita lenta).
  2. (16 simbolių dviejose eilutėse)
  3. Viena jungtis karūnėlės prijungimui prie Arduino
  4. (nors galite naudoti įprastą garsiakalbį)
  5. USB laidas – skirtas tik programavimui ( apytiksliai vertimas: Jis visada pateikiamas su mūsų „Arduino“!)
  6. Kompiuteris (vėlgi tik programai rašyti ir įkelti).

Beje, jei nenorite pirkti visų šių dalių atskirai, rekomenduojame atkreipti dėmesį į mūsų. Pavyzdžiui, viskas, ko jums reikia, ir dar daugiau yra mūsų pradiniame rinkinyje.

Jungiamės!

Judesio jutiklio prijungimas yra labai paprastas:

  1. Prijungiame Vcc kaištį prie 5V Arduino.
  2. Mes prijungiame Gnd kaištį prie Arduino GND.
  3. Mes prijungiame OUT kaištį prie skaitmeninio kaiščio Nr. 7 iš Arduino

Dabar prijunkite LED ir garsiakalbį. Čia viskas taip pat paprasta:

  1. Sujungiame trumpą šviesos diodo koją (minusą) su žeme
  2. Mes prijungiame ilgą LED koją (pliusą) prie Arduino išvesties Nr. 13
  3. Raudonas garsiakalbio laidas prie išvesties Nr. 10
  4. Juodas laidas - į žemę

Ir dabar sunkiausia dalis yra 1602 LCD ekrano prijungimas prie „Arduino“. Turime ekraną be I2C, todėl mums reikės daug Arduino išėjimų, bet rezultatas bus to vertas. Diagrama pateikta žemiau:

Mums reikia tik dalies grandinės (kontrasto reguliavimo potenciometru neturėsime). Todėl jums tereikia atlikti šiuos veiksmus:

Dabar žinote, kaip prijungti 1602 ekraną prie Arduino UNO R3 (taip pat prie bet kurios Arduino versijos nuo Mini iki Mega).

Programavimas

Atėjo laikas pereiti prie programavimo. Žemiau yra kodas, kurį tereikia užpildyti ir, jei viską surinkote teisingai, įrenginys paruoštas!

#įtraukti int ledPin = 13; // LED pin inputPin = 7; // Smeigtukas, prie kurio iš judesio jutiklis prijungtas int pirState = LOW; // Dabartinė būsena (pradžioje nieko neaptikta) int val = 0; // Kintamasis skaitmeninių įėjimų būsenai nuskaityti int pinSpeaker = 10; // Kaištis, prie kurio prijungtas garsiakalbis. Reikia PWM kaiščio LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Inicijuoti LCD ekraną void setup() ( // Nustatyti duomenų perdavimo skaitmeniniuose kontaktuose kryptį pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // Pradėti derinimo informacijos išvestį per nuoseklųjį nuoseklųjį prievadą .begin(9600); // Pradėti išvestį į LCD ekraną lcd.begin(16, 2); // Nustatykite rodyklę ekranuose, nuo kurių pradėsime išvestį // (2 simboliai, 0 eilučių ) lcd.setCursor(2, 0) ; // Išvestis į LCD ekraną lcd.print("P.I.R Motion"); // Perkelti dar kartą lcd.setCursor(5, 1); // Išvestis lcd.print("Sensor" ); // Sustabdykite, kad turėtumėte laiko perskaityti, kas buvo išvesties delsa (5000); // Išvalomas lcd.clear(); // Panašus į lcd.setCursor(0, 0); lcd.print ("Apdorojami duomenys". ); delay(3000); lcd.clear(); lcd.setCursor(3, 0); lcd.print("Waiting For"); lcd.setCursor(3, 1); lcd.print("Judesys... ."); ) void loop() ( // Skaityti jutiklio rodmenis val = digitalRead(inputPin); if (val == HIGH) ( // Jei juda, tada įjunkite šviesos diodą ir įjunkite sireną digitalWrite(ledPin, AUKŠTAS); playTone(300, 300); delsimas(150); // Jei judesiai yra prieš šiuo momentu nebuvo, tada parodome pranešimą // kad aptiktas // Žemiau esantis kodas reikalingas norint parašyti tik būsenos pakeitimą, o ne kiekvieną kartą spausdinti reikšmę if (pirState == LOW) ( Serial.println(" Aptiktas judesys!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Judesys aptiktas!"); pirState = HIGH; ) ) else ( // Jei judesys yra per digitalWrite(ledPin) , LOW); playTone(0, 0); delay (300); if (pirState == HIGH) ( // Informuokite, kad buvo judėjimas, bet jis jau baigėsi Serial.println ("Judesys baigėsi!"); LCD. clear(); lcd.setCursor(3, 0); lcd.print("Waiting For"); lcd.setCursor(3, 1); lcd.print("Judesys...."); pirState = LOW; ) ) ) // Garso atkūrimo funkcija. Trukmė (trukmė) – milisekundėmis, dažnis (dažnis) – Hz void playTone (ilga trukmė, tarpinis dažnis) ( trukmė *= 1000; tarpinis periodas = (1,0 / dažnis) * 100000; ilgas laikas = 0; while (praėjęs_laikas)< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }