Pigi GSM signalizacija su smegenimis iš Arduino. Apsaugos signalizacijos su judesio jutikliu Arduino pagrindu ir infraraudonųjų spindulių jutikliais sukūrimas Signalizacija iš mobiliojo telefono ir arduino

Per pastarąjį dešimtmetį automobilių vagystės užėmė vieną svarbiausių vietų pasaulyje daromų nusikaltimų struktūroje. Tai lemia ne tiek specifinis šios kategorijos vagysčių svoris, 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ų įvykdymu ir disponavimu. skiriamieji bruožai organizuotas nusikalstamumas; tikriausiai girdėjote terminą „juodųjų automobilių verslas“. Automobilių stovėjimo aikštelė Europos valstybės Kasmet dingsta ≈ 2% automobilių, kurie tampa nusikalstamų kėsinimosi objektu. Todėl man kilo mintis savo automobiliui pagaminti gsm signalizaciją Arduino Uno pagrindu.

Pradėkime!

Ką rinksime

Turime pasirinkti savo sistemos širdį. Mano nuomone, tokiam signalizavimui nėra nieko geresnio už Arduino Uno. Pagrindinis kriterijus yra pakankamai"Smeigtukai" 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
DC srovė per įvestį / išėjimą - 40 mA
Nuolatinė srovė 3,3 V kontaktui - 50 mA
„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 jums reikia pasirinkti gsm modulį, nes mūsų signalizacija turėtų sugebėti pranešti automobilio savininkui. Taigi, reikia googlinti... Č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. Išbandyta viskas, kas buvo įmanoma – rezultatas nulinis.
Rasta geri žmonės kuris suteikė man aušintuvą Sim900 Shield. Tai jau rimtas dalykas. Shield turi mikrofono ir ausinių lizdą, pilnavertį telefoną.


Pagrindinės Sim900 Shield savybės

4 darbinio dažnio standartai 850/900/1800/1900 MHz
GPRS kelių lizdų klasė 10/8
B klasės GPRS mobilioji stotis
Suderinamas su GSM faze 2/2+
4 klasė (2 W @ 850/900 MHz)
1 klasė (1 W @ 1800 / 1900 MHz)
Valdoma AT komandomis (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 jūs turite paimti kai kurių jutiklių rodmenis, kad praneštumėte savininkui. Staiga automobilis evakuojamas, tuomet akivaizdžiai pasikeis automobilio padėtis erdvėje. Paimkime akselerometrą ir giroskopą. gerai. Taksas, dabar ieškome jutiklio.

Manau, kad GY-521 MPU6050 tikrai tiks. Paaiškėjo, kad jis turi ir temperatūros jutiklį. Reiktų pasinaudoti, bus tokia "žudiko funkcija". Tarkime, automobilio savininkas jį padėjo po 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 ims maišytis su oru. aplinką... Manau, kad pavyks.


Pagrindinės GY-521 MPU6050 savybės

3 ašių giroskopo modulis + 3 ašių akselerometras GY-521 ant MPU-6050 lusto. 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 lėktuvų modeliuose, taip pat pagal šiuos jutiklius galima surinkti judesio fiksavimo sistemą.

Mikroschema - 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 naudingas vibracijos jutiklis. Staiga jie bandys atidaryti automobilį su „žiauria jėga“, arba, stovėjimo aikštelėje, kitas automobilis palies jūsų automobilį. Paimkite vibracijos jutiklį SW-420 (reguliuojamas).


Pagrindinės funkcijos SW-420

Maitinimo įtampa - 3,3 - 5V
Išvesties signalas – skaitmeninis aukštas / žemas (paprastai uždarytas)
Naudotas jutiklis - SW-420
Naudotas lygintuvas - LM393
Matmenys - 32x14mm
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, sąsajos kištukas ir maitinimo linijos. Jei jums reikia dirbti su garso, vaizdo ar kitais tūriniais duomenimis, pavyzdžiui, vesti įvykių žurnalą, jutiklių duomenis ar saugoti informaciją iš žiniatinklio serverio, 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 30mm


Tinka!

O dar pridėkime servo, suveikus davikliams servo su vaizdo registratoriumi suksis ir filmuos incidentą. Paimkite MG996R servo.


Pagrindinės MG996R servo savybės

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


Tinka!

Mes renkame

Apie kiekvieno jutiklio prijungimą sistemoje „Google“. puiki suma straipsnius. O naujų dviračių sugalvoti neturiu noro, todėl paliksiu nuorodas į paprastus ir veikiančius variantus.

Geras paros metas 🙂 Šiandien kalbėsime apie žadintuvą. Paslaugų rinkoje gausu įmonių, organizacijų, kurios užsiima apsaugos sistemų įrengimu ir priežiūra. Šios firmos siūlo pirkėjui platus pasirinkimas signalizacija. Tačiau jų kaina toli gražu nėra pigi. Tačiau ką turėtų daryti žmogus, neturintis tiek daug asmeninių lėšų, kad išleistų signalizacijai? Manau, kad išvada rodo pati save daryti signalizacija pagal jų ranka... Šiame straipsnyje pateikiamas pavyzdys, kaip galite sukurti savo koduotą apsaugos sistemą naudodami Arduino lenta uno ir keli magnetiniai jutikliai.

Sistemą galima išjungti klaviatūroje įvedus slaptažodį ir paspaudus „ * ‘. Jei norite pakeisti dabartinį slaptažodį, tai galite padaryti paspausdami „ B', Ir jei norite praleisti arba nutraukti operaciją, galite tai padaryti paspausdami mygtuką ‘#’. Sistema turi garsinį signalą, leidžiantį leisti įvairius garsus atliekant tam tikrą operaciją.

Sistema įjungiama paspaudus „A“ mygtuką. Sistema suteikia 10 sekundžių palikti patalpas. Po 10 sekundžių įsijungia žadintuvas. Magnetinių jutiklių skaičius priklausys nuo jūsų savo norą... Projekte yra 3 jutikliai (dviem langams ir durims). Atidarius langą, sistema įsijungia, o signalizacija suskamba garsiniu signalu. Sistemą galima išjungti įvedus slaptažodį. Atidarius duris, signalizacija suteikia lankytojui 20 sekundžių įvesti slaptažodį. Sistema naudoja ultragarsinį jutiklį, kuris gali aptikti judesį.

Vaizdo įrašas apie įrenginio veikimą

Amatas sukurta informaciniais/švietimo tikslais. Jei norite jį naudoti namuose, turėsite jį patobulinti. Uždėkite valdymo bloką metalinis korpusas ir apsaugokite elektros liniją nuo galimo pažeidimo.

Pradėkime!

1 žingsnis: ko mums reikia

  • Arduino uno plokštė;
  • didelio kontrasto LCD ekranas 16 × 2;
  • 4 × 4 klaviatūra;
  • 10 ~ 20kΩ potenciometras;
  • 3 magnetiniai jutikliai (jie taip pat yra nendriniai jungikliai);
  • 3 2 kontaktų varžtų gnybtai;
  • HC-SR04 ultragarsinis jutiklis;

Jei norite sukurti sistemą nenaudodami „Arduino“, jums taip pat reikės:

  • DIP jungtis atmega328 + atmega328 mikrovaldikliui;
  • 16MHz kristalų rezonatorius;
  • 2 vnt. 22pF keramika, 2 vnt. 0,22uF elektrolitinis kondensatorius;
  • 1 PC. 10k omų rezistorius;
  • maitinimo lizdas (DC maitinimo lizdas);
  • Bandomoji Lenta;
  • 5V maitinimo šaltinis;

Ir viena dėžutė viskam supakuoti!

Įrankiai:

  • Kažkas, kas gali perpjauti plastikinę dėžę;
  • Karšto klijų pistoletas;
  • Grąžtas / atsuktuvas.

2 veiksmas: aliarmo grandinė

Ryšio schema yra gana paprasta.

Nedidelis paaiškinimas:

Didelio kontrasto LCD:

  • Pin1 - Vdd į GND;
  • Pin2 - Vss iki 5V;
  • Pin3 - Vo (į centrinį potenciometro kaištį);
  • Pin4 – RS iki 8 Arduino kaiščio;
  • Pin5 - RW į GND;
  • Pin6 – EN iki 7 Arduino kaiščio;
  • 11 kaištis – D4 iki 6 Arduino kaiščio;
  • 12 kaištis – D5 iki 5 Arduino kaiščio;
  • 13 kaištis – D6 iki 4 Arduino kaiščio;
  • 14 kaištis – D7 iki 3 Arduino kaiščio;
  • Pin15 - Vee (dešinėje arba kairėje potenciometro kaištyje).

4 × 4 klaviatūra:

Iš kairės į dešinę:

  • „Arduino“ kaištis nuo 1 iki A5;
  • „Arduino“ kaištis nuo 2 iki A4 formato;
  • „Arduino“ kaištis nuo 3 iki A3;
  • „Arduino“ kontaktas nuo 4 iki A2;
  • Pin5 iki 13 Arduino kaiščio;
  • Pin6 iki 12 Arduino kaiščio;
  • Pin7 iki 11 Arduino kaiščio;
  • Pin8 prie 10 Arduino kaiščio.

3 veiksmas: programinė įranga

Šiame žingsnyje pateikiamas kodas, kurį naudoja įtaisytasis!

Atsisiųskite „codebender“ papildinį. Spustelėkite mygtuką „Vykdyti“ „Arduino“ ir paleiskite lentą naudodami šią programą. Tai viskas. Jūs ką tik užprogramavote Arduino! Jei norite pakeisti kodą, spustelėkite mygtuką „Redaguoti“.

Pastaba: jei nenaudosite Codebender IDE savo Arduino plokštei programuoti, turėsite įdiegti papildomų bibliotekų Arduino IDE.

4 veiksmas: sukurkite savo valdymo plokštę

Sėkmingai surinkę ir išbandę naują projektą, pagrįstą Arduino uno, galite pradėti kurti savo lentą.

Keletas patarimų, kaip sėkmingiau užbaigti įsipareigojimą:

  • 10K rezistorius turi būti prijungtas tarp 1 (atstatyti) ir 7 (Vcc) mikrovaldiklio Atmega328 kaiščių.
  • 16MHz kristalas turi būti prijungtas prie 9 ir 10 kaiščių, pažymėtų XTAL1 ir XTAL2
  • Prijunkite kiekvieną rezonatoriaus laidą su 22pF kondensatoriais. Bešvinis kondensatorius veda į mikrovaldiklio 8 kaištį (GND).
  • Nepamirškite prijungti antrosios ATmega328 maitinimo linijos prie maitinimo šaltinio, 20 Vcc ir 22 GND kaiščių.
  • Daugiau informacijos apie mikrovaldiklio kaiščius rasite antrame paveikslėlyje.
  • Jei planuojate naudoti maitinimo šaltinį, kurio įtampa didesnė nei 6V, turite naudoti linijinį reguliatorių LM7805 ir du 0,22uF elektrolitinius kondensatorius, kurie turėtų būti montuojami reguliatoriaus įėjime ir išėjime. Svarbu! Nejunkite prie plokštės daugiau nei 6 V įtampos !!! Priešingu atveju sudeginsite savo Atmega mikrovaldiklį ir LCD ekraną.

5 veiksmas: įdėkite grandinę į dėklą

Infraraudonųjų (IR, IR) jutikliai dažniausiai naudojami atstumams matuoti, tačiau juos galima naudoti ir objektams aptikti. Prijungę kelis IR jutiklius prie Arduino, galite sukurti signalizaciją apie įsilaužimą.

Apžvalga

Infraraudonųjų (IR, IR) jutikliai dažniausiai naudojami atstumams matuoti, tačiau juos galima naudoti ir objektams aptikti. IR jutikliai susideda iš infraraudonųjų spindulių siųstuvo ir infraraudonųjų spindulių imtuvo. Siųstuvas skleidžia infraraudonosios spinduliuotės impulsus, o imtuvas aptinka bet kokius atspindžius. Jei imtuvas aptinka atspindį, tai reiškia, kad priešais jutiklį tam tikru atstumu yra objektas. Jei nėra atspindžio, nėra ir objekto.

IR jutiklis, kurį naudosime šiame projekte, aptinka atspindžius tam tikrame diapazone. Šie jutikliai turi nedidelį linijinį krūvį sujungtą įrenginį (CCD), kuris nustato kampą, kuriuo IR spinduliuotė grįžta į jutiklį. Kaip parodyta paveikslėlyje žemiau, jutiklis perduoda infraraudonųjų spindulių impulsą į erdvę, o kai priešais jutiklį atsiranda objektas, impulsas atsispindi atgal į jutiklį kampu, proporcingu atstumui tarp objekto ir jutiklio. Jutiklio imtuvas aptinka ir išveda kampą, o naudodami šią vertę galite apskaičiuoti atstumą.

Prie Arduino prijungę porą IR jutiklių, galime sukurti paprastą signalizaciją. Jutiklius sumontuosime ant durų staktos, o tinkamai sureguliavę jutiklius galėsime aptikti, kai kas nors įeina pro duris. Kai taip atsitiks, signalas IR jutiklio išėjime pasikeis, o šį pokytį aptiksime nuolat skaitydami jutiklių išėjimo signalą iš naudojant Arduino... V šis pavyzdysžinome, kad daiktas praeina pro duris, kai IR jutiklio išvesties rodmuo viršija 400. Kai taip atsitiks, Arduino suaktyvins aliarmą. Norėdami iš naujo nustatyti aliarmą, vartotojas gali paspausti mygtuką.

Komponentai

  • 2 x IR atstumo jutiklis;
  • 1 x Arduino Mega 2560;
  • 1 x garsinis signalas;
  • 1 x mygtukas;
  • 1 x 470 omų rezistorius;
  • 1 x NPN tranzistorius;
  • džemperiai.

Sujungimo schema

Šio projekto schema parodyta paveikslėlyje žemiau. Dviejų IR jutiklių išėjimai prijungti prie kaiščių A0 ir A1. Kiti du kontaktai yra prijungti prie 5 V ir GND. 12 voltų garsinis signalas per tranzistorių prijungtas prie 3 kaiščio, o mygtukas, naudojamas aliarmui išjungti, yra prijungtas prie 4 kaiščio.


Žemiau esančioje nuotraukoje parodyta, kaip šiam eksperimentui priklijavome jutiklius prie durų staktos. Žinoma, nuolatinio naudojimo atveju jutiklius montuotumėte kitaip.


Montavimas

  1. Prijunkite Arduino plokštės 5 V ir GND kaiščius prie jutiklių maitinimo ir GND kaiščių. Taip pat galite tiekti jiems išorinę maitinimą.
  2. Prijunkite jutiklių išvesties laidus prie Arduino plokštės A0 ir A1 kaiščių.
  3. Prijunkite Arduino 3 kaištį prie tranzistoriaus pagrindo per 1K rezistorių.
  4. Prijunkite 12 V įtampą į tranzistoriaus kolektorių.
  5. Prijunkite teigiamą 12 V garso signalo laidą prie emiterio, o neigiamą - prie įžeminimo bėgelio.
  6. Mygtuku prijunkite 4 kaištį prie 5 V kaiščio. Saugumo sumetimais visada geriausia tai padaryti naudojant papildomą mažą rezistorių, kad būtų išvengta didelio srovės srauto.
  7. Prijunkite Arduino plokštę prie kompiuterio per USB kabelį ir įkelkite programą į mikrovaldiklį naudodami Arduino IDE.
  8. Įjunkite Arduino plokštę naudodami maitinimo šaltinį, bateriją arba USB kabelį /

Kodas

const int buzzer = 3; // 3 kaištis yra garsinio signalo išvestis const int mygtukas = 4; // 4 kaištis yra mygtuko galios sąrankos () įvestis (pinMode (skambrelis, OUTPUT); // 3 kaištį nustatykite į išvestį pinMode (mygtukas, INPUT); // 4 kaištį nustatykite į įvestį) void loop () (/ / nuskaitykite abiejų jutiklių išvestį ir palyginkite rezultatą su slenksčiu int sensor1_value = analogRead (A0); int sensor2_value = analogRead (A1); if (sensor1_value> 400 || sensor2_value> 400) (while (true) (digitalWrite (buzzer) , HIGH) ; // įjungti aliarmą, jei (digitalRead (mygtukas) == HIGH) pertrauka;)) else (digitalWrite (skambrelis, LOW); // išjungti signalą))

Vaizdo įrašas

Šiandien mes kalbėsime apie tai, kaip naudoti Arduino surinkti apsaugos sistema... Mūsų „sargas“ saugos vieną grandinę ir valdys vieną sireną.

„Arduino“ tai nėra problema, ir, kaip matysite iš programos kodo ir įrenginio diagramos, galite nesunkiai padidinti apsaugotų prieigos taškų skaičių ir įspėjimo ar indikacijos įrenginių skaičių.
Apsaugos sistema galima saugoti tiek didelius objektus (pastatus ir statinius), tiek smulkius daiktus (dėžutes, seifus), ir net nešiojamus dėklus bei lagaminus. Nors su pastaraisiais reikia būti atsargesniems, bet jeigu įdiegsite apsaugos sistemą, pavyzdžiui, ant lagamino, su kuriuo nuspręsite vykti į kelionę, o kokiame nors oro uoste suges perspėjimo sistema, tai manau, kad turėsite rimtas pokalbis su vietine apsaugos tarnyba :-)

Supaprastintu būdu įrenginio veikimo principas yra toks (1 pav.). Įjungus maitinimą, įrenginys persijungia į darbo režimą ir laukia apsaugos įjungimo. Apsaugos įjungimas ir išjungimas atliekamas vienu mygtuku. Siekiant padidinti saugumą, šį mygtuką geriau įdėti į saugomą zoną (seifą arba dėžę). Prieš įjungiant apsaugos režimą, dureles reikia šiek tiek atidaryti. Kai įjungtas saugos režimas (paspaudus mygtuką) elektroninė grandinė laukia, kol uždarysite kambario duris (seifo duris, dėžės dangtį ir pan.).

Ant durų (arba durų) turi būti sumontuotas bet kokio tipo ribinis jungiklis, daugiau apie tai vėliau. Uždarydamas (arba atidarydamas), ribinis jungiklis informuos įrenginį, kad apsaugota grandinė uždaryta, o prietaisas persijungs į apsaugos režimą. Apie perėjimą į saugomą režimą sistema praneš dviem trumpi pyptelėjimai(kaip ir automobilių signalizacijose). Šiuo režimu prietaisas „pagauna“ durų atidarymą. Atidarius dureles, sistema laukia kelias sekundes (tai konfigūruojama reikšmė, kambariams apie dešimt sekundžių, dėžutei viena ar dvi) apsaugos išjungimo, jei tai neįvyksta, įsijungia sirena. Algoritmas ir grandinė suprojektuoti taip, kad išjungti sireną galėtumėte tik visiškai išardę korpusą ir išjungę maitinimą.

Įrenginys apsaugos sistema labai paprasta (2 pav.). Mokesčio esmė Arduino... Ribiniai jungikliai sujungiami kaip įprastas mygtukas per ištraukiamuosius rezistorius. Prie galinių jungiklių pakalbėsiu atskirai. Paprastai jie yra uždaryti ir paprastai atidaryti. Įprastą mygtuką galite įjungti kaip ribinį jungiklį, tik paprasto mygtuko eiga labai didelė, durų laisvumas dažniausiai didesnis. Todėl reikia sugalvoti kažkokį mygtuko stūmiklį ir jį spyruokliuoti, kad nenulaužtų mygtuko su durelėmis. Na, o jei ne tinginystė, tai galima nueiti iki parduotuvės ir nusipirkti magnetinį jungiklį (nendrinį jungiklį) (3 pav.), jis nebijo dulkių ir purvo.

Taip pat tinka automobilio signalizacijos ribinis jungiklis (4 pav.). Reikėtų pažymėti, kad programa yra parašyta nendriniam jungikliui. Kai durys uždarytos, jų kontaktas užsidaro. Jei naudosite jungiklį iš automobilio signalizacijos, tada, kai durys bus uždarytos, jos greičiausiai bus atidarytos, o atitinkamose kodo vietose turėsite pakeisti 0 į 1 ir atvirkščiai.

Kaip sireną siūlau naudoti Baltarusijoje pagamintą garso signalizatorių PKI-1 IVOLGA (5 pav.). Maitinimo įtampa 9 - 15 V, darbinė srovė 20 - 30 mA. Tai leidžia jį naudoti su akumuliatoriaus energija. Tuo pačiu „išduoda“ 95 – 105 dB.

Su tokiomis „Krona“ akumuliatoriaus savybėmis jis skambės kelias dešimtis minučių. Radau internete už 110 rublių. Ten nendrinis jungiklis su magnetu kainuoja apie 30 rublių. Automobilio signalizacijos jungiklis automobilių dalyse buvo įsigytas už 28 rublius. KT315 tranzistorius gali būti paimtas su bet kokia raide arba pakeistas bet kokiu šiuolaikiniu mažos galios silicio tranzistoriumi, turinčiu atitinkamą laidumą. Jei vienos sirenos garsumo neužtenka (kas žino, gal nori, kad girdėtų daug kilometrų), galima lygiagrečiai sujungti kelias sirenas arba imti galingesnę, tik tokiu atveju tranzistorių reikia pakeisti galingesnis (pavyzdžiui, pažįstamas tranzistorių mazgas ULN2003). Kaip nendrinio jungiklio ir sirenos prijungimo jungtis naudojau paprasčiausias garso / vaizdo įrenginių jungtis - kaina radijo rinkoje yra 5 rubliai. porai.

Prietaiso korpusas gali būti klijuojamas iš plastiko arba faneros; jei rimtas objektas yra saugomas, tai geriau jį padaryti metaliniu. Baterijos arba įkraunamos baterijos turi būti dedamos į dėklo vidų, kad padidintumėte patikimumą ir saugumą.

Kad būtų supaprastintas programos kodas, nebuvo naudojami jokie energiją taupantys elementai, o baterijų ilgam neužtenka. Galite optimizuoti kodą arba, dar geriau, radikaliai jį pakeisti, taikydami pertraukimo įvykių tvarkymą ir MK užmigdymo režimą. Tokiu atveju maitinimas iš dviejų nuosekliai sujungtų kvadratinių baterijų (9 V) turėtų trukti kelis mėnesius.

Dabar kodas

// konstantos
const int mygtukas = 12; // mygtuko smeigtukas
const int gerkon = 3; // kaištis nendriniam jungikliui
const int sirena = 2; // sirenos valdymas
const int led = 13; // indikatoriaus kaištis
// kintamieji
int mygtukasBūsena = 0; // mygtuko būsena
int gerkonState = 0; // nendrinio jungiklio būsena
int N = 0; // apsaugos išjungimo mygtuko skaitiklis
anuliuota sąranka () (
// sirenos ir indikatoriaus valdymas – išėjimas
pinMode (sirena, OUTPUT);
pinMode (LED, OUTPUT); // mygtukas ir nendrinis jungiklis yra įvestis
pinMode (gerkon, INPUT);
pinMode (mygtukas, INPUT);
}
tuščioji kilpa () (
digitalWrite (LED, HIGH);
while (buttonState = = 0) (// palaukite, kol paspausime mygtuką
buttonState = skaitmeninis skaitymas (mygtukas); // norėdami perjungti į saugos režimą
}
digitalWrite (LED, LOW);
mygtuko būsena = 0; // nulinę mygtuko reikšmę
while (gerkonState = = 0) (// kilpa, kol uždarysime duris

}
vėlavimas (500); // :-)
digitalWrite (sirena, HIGH); // Kodas
vėlavimas (100); // indikacijos
digitalWrite (sirena, LOW); // įtraukti
vėlavimas (70); // režimas
digitalWrite (sirena, HIGH); // apsauga
vėlavimas (100); // budrus
digitalWrite (sirena, LOW); // garsas
while (gerkonState = = 1) (// palaukite, kol atsidarys durys
gerkonState = digitalRead (gerkon);
}
už (int i = 0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = skaitmeninis skaitymas (mygtukas); // slaptas mygtukas
if (buttonState = = HIGH) (// Sekite savo – svetimą
N = N + 1;
}
vėlavimas (1500); // slapta funkcija :-)))
}
jei (N> 0) (// svarbiausia
digitalWrite (sirena, LOW); // nejunkite sirenos
}
Kitas (
digitalWrite (sirena, HIGH); // arba įjungti sireną
}
digitalWrite (LED, HIGH); // įjungti indikatorių N = 0;
mygtuko būsena = 0;
vėlavimas (15000); // priminimas manekenams, kuriems patinka
digitalWrite (LED, LOW); // paspausti mygtukus be pertraukos delsos (1000);

Jo autorius norėjo pagaminti naminį gaminį, kad jis būtų pigus ir belaidis.
Šiame naminiame gaminyje naudojamas PIR judesio jutiklis, o informacija perduodama naudojant RF modulį.

Autorius norėjo naudoti infraraudonųjų spindulių modulį, bet kadangi jis turi ribotą diapazoną, ir plius gali veikti tik matymo linijos į imtuvą, todėl jis pasirinko RF modulį, galintį pasiekti maždaug 100 metrų atstumą.


Kad lankytojams būtų lengviau peržiūrėti signalizacijos mazgą, nusprendžiau straipsnį suskirstyti į 5 etapus:
1 etapas: Sukurkite siųstuvą.
2 etapas: sukurkite imtuvą.
3 etapas: programinės įrangos diegimas.
4 etapas: Surinktų modulių testavimas.
5 etapas: korpuso surinkimas ir modulio įdėjimas į jį.

Autoriui reikėjo tik:
- 2 plokštės ARDUINO UNO / ARDUINO MINI / ARDUINO NANO imtuvui ir siųstuvui;
- RF siųstuvo-imtuvo modulis (433 MHz);
- PIR judesio jutiklis;
- 9V baterijos (2 vnt.) ir jungtys joms;
- Skambutis;
- Šviesos diodas;
- Rezistorius, kurio varža 220 omų;
- Bandomoji Lenta;
- Džemperiai / laidai / džemperiai;
- Grandinės plokštė;
- Kaiščių jungtys nuo plokštės iki plokštės;
- Jungikliai;
- Imtuvo ir siųstuvo korpusai;
- Spalvotas popierius;
- Montavimo juosta;
- Tipo nustatymo skalpelis;
- Karštų klijų pistoletas;
- Lituoklis;
- Vielos pjaustytuvai / nuėmimo įrankis;
- Žirklės metalui.


1 etapas.
Pradėkime kurti siųstuvą.
Žemiau yra diagrama, kaip veikia judesio jutiklis.


Pats siųstuvas susideda iš:
- Judesio jutiklis;
- Arduino plokštės;
- Siųstuvo modulis.


Pats jutiklis turi tris išėjimus:
- VCC;
- GND;
- IŠORĖS.

Po to patikrinau jutiklio veikimą


Dėmesio!!!
Prieš atsisiųsdamas programinę-aparatinę įrangą, autorius įsitikina, kad dabartinė plokštė ir nuoseklusis prievadas yra teisingai nustatyti Arduino IDE nustatymuose. Tada aš įkėliau eskizą:

Vėliau, judesio jutikliui aptikus judėjimą priešais save, užsidegs šviesos diodas, taip pat monitoriuje galėsite matyti atitinkamą pranešimą.


Pagal žemiau pateiktą diagramą.


Siųstuvas turi 3 kontaktus (VCC, GND ir Data), juos sujungiame:
- VCC> 5V pagal kaištį ant plokštės;
- GND> GND;
- Duomenys> 12 kontaktų plokštėje.

2 etapas.


Pats imtuvas susideda iš:
- RF imtuvo modulis;
- Arduino plokštės
- Garsiakalbis (garsiakalbis).

Imtuvo grandinė:


Imtuvas, kaip ir siųstuvas, turi 3 kontaktus (VCC, GND ir Data), juos sujungiame:
- VCC> 5V pagal kaištį ant plokštės;
- GND> GND;
- Duomenys> 12 kontaktų plokštėje.


3 etapas.
Autorius pasirinko bibliotekos failą kaip visos programinės įrangos pagrindą. Atsisiunčiau, kuris jis yra, ir įdėjau į Arduino bibliotekų aplanką.

Siųstuvo programinė įranga.
Prieš įkeldamas programinės įrangos kodą į plokštę, autorius nustatė šiuos IDE parametrus:
- lenta -> Arduino Nano (arba bet kokia jūsų naudojama plokštė);
- Serijinis prievadas ->


Nustačius parametrus, autorius atsisiuntė Wireless_tx programinės įrangos failą ir įkėlė jį į plokštę:

Imtuvo programinė įranga
Autorius pakartoja tuos pačius veiksmus priimančiajai lentai:
- lenta -> Arduino UNO (arba bet kokia jūsų naudojama plokštė);
- Serial Port -> COM XX (patikrinkite prievadą, prie kurio prijungta jūsų plokštė).



Autoriui nustačius parametrus, atsisiunčiamas wireless_rx failas ir įkeliamas į plokštę:


Tada, naudodamas programą, kurią galima atsisiųsti, autorius sugeneravo garsą.

4 etapas.
Be to, atsisiuntus programinę įrangą, autorius nusprendė patikrinti, ar viskas veikia tinkamai. Autorius pajungė maitinimo šaltinius, o ranka perdavė prieš jutiklį ir jam pradėjo veikti garsinis signalas, vadinasi, viskas veikia kaip priklauso.


5 etapas.
Galutinis siųstuvo surinkimas
Pirma, autorius nupjovė išsikišusius kaiščius nuo imtuvo, siųstuvo, arduino plokščių ir kt.


Po to sujungiau arduino plokštę su judesio jutikliu ir RF siųstuvu, naudodamas džemperius.


Tada autorius pradėjo gaminti siųstuvo korpusą.

Pirmiausia jis išpjovė: skylę jungikliui ir apvali skylė judesio jutikliui, o tada priklijavo jį prie korpuso.




Tada autorė suvyniojo spalvoto popieriaus lapą ir priklijavo vaizdą prie priekinio viršelio, kad paslėptų vidines naminio gaminio dalis.


Po to autorius dvipuse juosta naudodamas elektroninį užpildą pradėjo kišti į korpuso vidų.



Galutinis imtuvo surinkimas
Autorius nusprendė Arduino plokštę prijungti prie plokštės gumine juosta ir taip pat sumontuoti RF imtuvą.


Toliau autorius kitame korpuse išpjauna dvi skylutes – vieną – garsiniam signalui, kitą – jungikliui.


Ir klijuoja.


Po to autorius ant visų dalių montuoja džemperius.




Tada autorius įdeda gatavą plokštę į korpusą ir pritvirtina dvipusiais klijais.