Pasidaryk pats: sukurk išmanų durų skambutį, kuris siunčia įspėjimus į tavo telefoną

Mes visi turime durų skambučius už savo namų. Kai tik ateina svečias ar šeimos narys, jis ieško varpo ir sužinojęs jį / ją paskambina. Dažniausiai pastebima, kad svečiai neranda durų skambučio už namo ir jei žmogaus ūgis yra mažas, jam gali būti sunku pasiekti varpą. Ši problema išspręsta elektroniniu būdu ir šiandien mes sukursime protingas durų skambutis kuri naudoja objekto aptikimo grandinę, kuri suskamba automatiškai, nebebus jokių rūpesčių. Kada pradės skambinti durų skambutis a Išmanusis telefonas Taip pat bus sukurtas įspėjimas, kuris įspės namuose gyvenančius žmones, o kažkas eis ir atidarys duris. Kai kuriuos pagrindinius elektroninius komponentus integruosime į grandinės konstrukciją, o grandinę pastatysime šalia vartų, kad ji automatiškai įsijungtų, kai tik žmogus pasirodo durų priekyje.



„Smart Doorbell“ sistema

Kaip gauti išmaniojo durų skambučio sugeneruotus perspėjimus savo mobiliajame telefone?

Pirma, mes surinksime komponentus ir tada surinksime grandinę iš pradžių programinėje įrangoje, kad bet kuris elektronikos pradininkas galėtų lengvai ją surinkti, o tada - aparatinėje įrangoje, kad galutinis durų skambutis .



1 veiksmas: reikalingi komponentai (techninė įranga)

Protingiausias būdas pradėti dirbti bet kuriame projekte yra įsitikinti, kad turite visus komponentus, kurių jums prireiks. Tai ne tik taupo laiką, bet ir neleidžia įstrigti kažkur projekto viduryje. Toliau pateikiamas išsamus visų lengvai rinkoje esančių komponentų sąrašas:



  • SIM 900A GSM modulis su įdėta SIM
  • „Arduino uno“
  • Šuolių laidai
  • 5 V kintamosios srovės adapteris

2 žingsnis: darbas

Kadangi dabar turime išsamų visų komponentų, kuriuos ketiname naudoti, sąrašą, pažvelkime į priekį ir supraskime pagrindinį visos sistemos veikimą.



Šio projekto esmė yra a SIM900A GSM modulis . SIM900A yra pilnas dviejų juostų GPRS modulis. Jame yra įmontuotas RS232, kuris yra labai patikima ir ypač kompaktiška sąsaja. Šio modulio veikimo dažnių diapazonas yra 900/1800 MHz. Ryšys tarp šio modulio ir bet kurio kito mikrovaldiklio yra įmanomas naudojant RS232. Šis modulis gali siųsti SMS ir paskambinti užmezgus ryšį.

PIR yra pasyvus infraraudonųjų spindulių jutiklis. Tai yra elektroninis jutiklis, kuris gali aptikti bet kurio jo veikimo srities objekto infraraudonąją spinduliuotę. Dauguma sistemų, kurios naudojamos tam tikram judesiui aptikti, jose naudoja šį jutiklį. Šis jutiklis neišskiria jokios energijos, tačiau veikia tik priimdamas IR spindulius iš aplinkos. Šio jutiklio išvesties kaištis iš pradžių yra LOW, kuris paverčiamas HIGH, jei aptinkamas tam tikras judesys. Geriausias šio jutiklio veikimo diapazonas yra maždaug 6 metrai.

Kai PIR jutiklis aptinka bet kokį judesį, į mikrovaldiklio plokštę, kuri šiuo atveju yra „Arduino Uno“, bus siunčiamas HIGH signalas. Tada mikrovaldiklis įgalins nuoseklųjį ryšį su GSM moduliu, o GSM modulis išsiųs SMS arba paskambins namo savininkui sakydamas, kad ant durų yra koks nors svečias.



3 žingsnis: grandinės surinkimas

PIR jutiklio prijungimas prie „Arduino“ plokštės yra gana paprastas. Jutiklis maitinamas prijungus „Vcc“ prie „Arduino“ ir „GND“ kaiščių 5 V atitinkamai prie „Arduino“ žemės. PIR OUTPUT kaištis yra prijungtas prie Arduino plokštės 5 kaiščio.

Norėdami užmegzti nuoseklų „Arduino“ plokštės ryšį su GSM moduliu, prijunkite mikrovaldiklio Rx kaištį ir Tx kaištį atitinkamai su GSM modulio Tx kaiščiu ir Rx kaiščiu. Įkeldami kodą į mikrovaldiklį įsitikinkite, kad GSM modulis atjungtas.

Sumontavę ir maitinę visą grandinę, įrašykite ant jos kodą ir įsitikinkite, kad skyrėte šiek tiek laiko PIR jutikliui sušilti. Tai labai svarbu, nes jutiklis turi stebėti PIR aplinką, kad jis nusistovėtų pagal aplinką. Įsitikinkite, kad apšilimo metu šalia PIR jutiklio nesukuriama jokių judesių. Norėdami kalibruoti jutiklį, naudokite jutiklio potenciometrą.

4 žingsnis: darbo pradžia naudojant „Arduino“

„Arduino IDE“ yra programinė įranga, kurioje galite rašyti, derinti ir sudaryti kodą, kuris veiks „Arduino“ mikrovaldiklyje. Šis kodas bus įkeltas į mikrovaldiklį per šį IDE. JEI neturite ankstesnės patirties naudodamiesi šia programine įranga, nėra ko jaudintis, nes visa šios programinės įrangos naudojimo procedūra pateikta žemiau.

  1. Jei dar neturite įdiegtos programinės įrangos, paspauskite čia atsisiųsti programinę įrangą.
  2. Prijunkite „Arduino“ plokštę prie kompiuterio ir atidarykite Valdymo skydą. Spustelėkite Aparatūra ir garsas. Dabar atidaryta Prietaisai ir spausdintuvas ir suraskite prievadą, prie kurio prijungta jūsų plokštė. Skirtinguose kompiuteriuose šis prievadas skiriasi.

    Rasti uostą

  3. Dabar atidarykite „Arduino IDE“. Iš įrankių nustatykite „Arduino“ lentą į „Arduino“ / „Genuino UNO“.

    Nustatymo lenta

  4. Tame pačiame meniu Įrankis nustatykite prievado numerį. Šis prievado numeris turi būti visiškai toks pat, kaip ir anksčiau pastebėtas valdymo pulte.

    Uosto nustatymas

  5. Atsisiųskite žemiau pridėtą kodą ir nukopijuokite jį į savo IDE. Norėdami įkelti kodą, spustelėkite mygtuką įkelti.

    Įkelti

  6. Norėdami atsisiųsti kodą, paspauskite čia.

5 žingsnis: GSM modulio konfigūravimas

Norėdami sukonfigūruoti GSM modulį su „Arduino“ plokšte, barde įrašysime C kodą, kad visi komponentai pradėtų bendrauti tarpusavyje.

1. Pradžioje inicializuojamas „Arduino“ plokštės kaištis, kuris bus naudojamas PIR jutiklio OUTPUT kaiščiui prijungti.

int pirOutput = 5; // prijunkite PIR jutiklio išvestį prie „Arduino“ pin5

2. negaliojanti sąranka () yra funkcija, kuri veikia tik vieną kartą, kai grandinė įjungiama arba paspaudžiamas įjungimo mygtukas. Šioje funkcijoje nustatėme valdiklio greitį bitais per sekundę, kuriuo jis susisieks su kitais komponentais. Šis greitis taip pat žinomas kaip duomenų perdavimo sparta. Tada „Arduino“ pin5 skelbiamas įvestimi. Tai reiškia, kad šis kaištis bus naudojamas imant iš išorinio šaltinio. Šio kaiščio būsena iš pradžių nustatyta į LOW.

negaliojanti sąranka () {Serial.begin (9600); // nustatykite duomenų perdavimo spartą pinMode (pirOutput, INPUT); // paskelbti PIR jutiklio kaištį kaip OUTPUT pin digitalWrite (pirOutput, LOW); // iš pradžių siunčia LOW signalą į PIR sensoor išvesties kaištį}

3. tuščia kilpa () yra funkcija, kuri kartojasi vėl ir vėl. Čia nuolat tikrinamas „Arduino“ kaištis, prijungtas prie PIR. Jei jo būsena tampa AUKŠTA, tai reiškia, kad aptinkamas tam tikras judesys. Aptikus judesį, tai leis GSM moduliui siųsti SMS numeriu, kuris nurodytas kode. Išsiuntus SMS, GSM modulis neleidžia siųsti žinutės.

void loop () {if (digitalRead (pirOutput) == HIGH) // jei aptinkamas judesys {Serial.println ('OK'); // spausdinti gerai serijinio monitoriaus delsoje (1000); // palaukite vieną sekundę Serial.print ('AT + CMGF = 1  r'); // nustatyti GSM modulį siųsti SMS delsą (1000); // palaukite sekundę Serial.print ('AT + CMGS = ' + xxxxxxxxxxx  ' r'); // pakeiskite xxxxxxxxxx savo mobiliojo telefono numeriu Serial.print ('Įspėjimas apie įsibrovėlį - pagrindinės durys yra tiesiai  r'); // siųsti šį pranešimą nurodytu mobiliojo telefono numeriu Serial.write (0x1A); // ASRL kodas CTRL + Z (pranešimo pabaiga)}}

Tai buvo visa procedūra, kaip pagaminti išmanųjį durų skambutį savo namams, kuris nuolat tikrins motoną prie pagrindinių durų ir praneš SMS savininkui SMS žinute, jei kuris nors svečias ateis prie pagrindinių durų. Galite šiek tiek redaguoti šį kodą ir nustatyti GSM modulį skambinti savininkui, o ne siųsti SMS ir mėgautis savo pigia ir efektyvia išmaniąja skambučių sistema.