Përmbajtje:

Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues: 9 hapa (me fotografi)
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues: 9 hapa (me fotografi)

Video: Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues: 9 hapa (me fotografi)

Video: Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues: 9 hapa (me fotografi)
Video: Leap Motion SDK 2024, Nëntor
Anonim
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues
Sistemi i alarmit pa tel Arduino duke përdorur sensorë ekzistues

Ky projekt mund të ndërtohet për rreth gjysmë ore me një kosto prej rreth 20,00 dollarë nëse keni sensorë alarmi ekzistues 433Mhz ose 315Mhz.

Mund të jetë gjithashtu një projekt i ri i plotë me sensorë alarmi pa tel, siç janë detektorët e lëvizjes me rreze infra të kuqe dhe çelsat e kallamishteve, lehtësisht dhe me çmim të ulët të disponueshëm në internet. Thjesht kërkoni për sensorë 433Mhz ose 315Mhz që përdorin kodim PT2262 ose EV1527.

Jam i sigurt se ka shumë njerëz si unë që kanë blerë një sistem alarmi GSM/2G me sensorë pa tel dhe ishin të kënaqur me të, megjithatë kur rrjeti 2G/GSM u fik aty ku jetoj, më la një sistem alarmi që mundem nuk programon më as nuk e cakton kohën në të. Një ditë ndërsa pyesja veten se çfarë mund të bëja për ta bërë alarmin tim përsëri funksional, më shkoi të kontrolloja nëse një Arduino mund të merrte sinjale nga sensorët. Kam hasur në një https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ dhe pas disa eksperimenteve përcaktova se mund të merrja sinjale nga sensorët e mi ekzistues. Fillova procesin për të ndërtuar një sistem alarmi që mund të zëvendësonte alarmin tim ekzistues dhe gjithashtu do të siguronte një rritje të funksionalitetit. Një nga çështjet e alarmit të vjetër nuk ishte të dija saktësisht se cili nga 25 sensorët u fik, duke shtuar një ekran LCD në alarmin tim të ri, tani marr një tekst në LCD që tregon saktësisht se cili sensor është aktivizuar. Alarmi i ri mund të jetë ende i armatosur me dorë nga tastet e mia ekzistuese pa tel dhe ka një orë në kohë reale për ta lejuar atë të armatoset dhe çarmatoset automatikisht në periudha të paracaktuara të ditës.

Furnizimet

Shihni shënimet shtesë në fund për të siguruar që përdorni versionin e saktë të këtyre pjesëve.

Arduino Uno ose të ngjashme

Moduli i marrësit 433 ose 315 MHz për Arduino

Moduli i orës në kohë reale DS3231 për Arduino

Moduli I2C 16x2 LDC për Arduino

Çelësat e kallamit të Alarmit pa tel, sensorë lëvizjeje dhe fobë çelësash të largët sipas dëshirës

Zhurmë piezo

LED & rezistencë 220 ohm

Breadboard (opsionale por e rekomanduar)

Furnizimi me energji i përshtatshëm për Arduino

Telat e kërcyesit etj

PC me Arduino IDE të instaluar

Njohuri themelore të Arduino

Hapi 1: Furnizimet

Furnizimet
Furnizimet
Furnizimet
Furnizimet
Furnizimet
Furnizimet

Disa imazhe më sipër të furnizimeve që do t'ju nevojiten për këtë projekt

Hapi 2: Lidhni Ardunio -n dhe Modulet Siç Shfaqen në Imazh

Lidhni Ardunio -n dhe Modulet Siç Shfaqen në Imazh
Lidhni Ardunio -n dhe Modulet Siç Shfaqen në Imazh

Piezo midis pin 5 të Arduino dhe tokës

LED midis pinit 8 të Arduino dhe një rezistori 220ohm pastaj në tokë

Marrës 433 ose 315 Mhz, VCC në 5V, GND në tokë dhe një nga 2 kunjat e të dhënave në pin2 të Arduino

Moduli I2C 16X2 LCD VCC në 5V, GND në tokë, kunjat SCL SDA në SCL SDA të Arduino (pin A5 është SCL, pin A4 është SDA)

Moduli DS3231 RTC VCC në 5V, GND në tokë, kunjat SCL SDA në SCL SDA të Arduino (ekziston grupi i dytë i vendosur mbi kunjat GND dhe AREF të shumicës së Arduino -ve)

Unë e di që disa prej jush nuk do të kenë nevojë për më shumë informacion se ky dhe skicën e bashkangjitur më poshtë, por unë do të hyj në më shumë detaje për këdo që do të donte pak ndihmë të mëtejshme.

Hapi 3: Shtoni Bibliotekat e nevojshme në Arduino IDE

Shtoni Bibliotekat e nevojshme në Arduino IDE
Shtoni Bibliotekat e nevojshme në Arduino IDE
Shtoni Bibliotekat e nevojshme në Arduino IDE
Shtoni Bibliotekat e nevojshme në Arduino IDE
Shtoni Bibliotekat e nevojshme në Arduino IDE
Shtoni Bibliotekat e nevojshme në Arduino IDE

Skica Arduino për të aktivizuar alarmin përdor disa biblioteka që nuk janë instaluar tashmë në Arduino IDE si parazgjedhje.

Për të shtuar bibliotekën RCSwitch në Arduino IDE. Hapni Arduino IDE në menunë e sipërme zgjidhni "Sketch" pastaj nga drop -down zgjidhni "Include library" dhe nga drop down tjetër zgjidhni "Manage libraries". Pastaj në kutinë "Filtroni kërkimin tuaj" shkruani "RCSW", klikoni tjetër mbi install për "rc-switch by sui77"

Udhëzime të hollësishme për shtimin e bibliotekave në

Ndërsa jemi në të, ne gjithashtu duhet të shtojmë bibliotekat e quajtura Time, TimeAlarms, DS1307RTC dhe LiquidCrystal_I2C, e njëjta procedurë si më sipër, por kërkimi i emrit të secilës bibliotekë të re dhe instalimi. Shihni pamjet e ekranit më lart nëse nuk jeni të sigurt se cilat biblioteka të përdorni.

Ora DS3231 në kohë reale është e pajtueshme dhe përdor bibliotekën DS1307RTC.

Hapi 4: Tjetra Ne duhet të Marrim Kodet për Sensorët tuaj

Tjetra Ne duhet të Marrim Kodet për Sensorët tuaj
Tjetra Ne duhet të Marrim Kodet për Sensorët tuaj
Tjetra Ne duhet të Marrim Kodet për Sensorët tuaj
Tjetra Ne duhet të Marrim Kodet për Sensorët tuaj

Unë kam dhënë modelin e kodit Arduino më poshtë, por do t'ju duhet të gjeni vlerat për secilin nga sensorët tuaj dhe t'i ngjisni ato në kod.

Ka informacion të gjerë se si t'i merrni këto kode në të dyja këto faqe;

www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/

github.com/sui77/rc-switch/wiki

Megjithatë këtu është versioni im i shkurtuar;

Për të marrë kodet që po dërgojnë sensorët tuaj dhe fobet kyç të largët, bashkëngjitni Arduino -n e montuar në hapin 1 në një kompjuter përmes kabllit USB dhe hapni Arduino IDE. Pastaj në Arduino IDE shkoni te drop down "File", pastaj shkoni te "Shembuj" lëvizni poshtë listës së skicave shembullore derisa të gjeni "RCSWITCH" pastaj zgjidhni skicën "ReceiveDemo_Advanced" dhe ngarkojeni atë në Arduino. Pasi skica të ngarkohet me sukses, hapni monitorin serik të Arduino IDE me atë akoma të bashkangjitur në kompjuterin tuaj përmes USB. Tani aktivizoni sensorin e parë për të cilin dëshironi të merrni kodin, dalja nga RCSwitch do të shfaqet në dritaren e monitorit serik. Për këtë projekt ne po kërkojmë kodet dhjetore siç janë theksuar në pamjen e ekranit 2. Ju do të duhet të aktivizoni sensorin shumë herë duke kërkuar vlerën dhjetore që shfaqet më shpesh, ndonjëherë do të ketë vlera të ndryshme të përziera me vlerën e vërtetë, kjo shkaktohet nga ndërhyrja nga valët e rastësishme të radios ose pajisjet e tjera që veprojnë në të njëjtën frekuencë.

Vini re kodin dhjetor të sensorit për përdorim në hapin tjetër. Përsëriteni për të gjithë sensorët dhe tastet e largëta që dëshironi të përdorni në projekt, duke mbajtur shënim se cili kod shkon me cilin sensor. Nëse përdorni tastiera për të armatosur dhe çarmatosur alarmin, do t'ju duhet të vini re kodet e ndryshme për butonin e krahut dhe butonin e çarmatimit të secilit telekomandë.

Hapi 5: Modeli i Kodit Arduino

Më poshtë është një kopje e kodit tim Arduino si një skedar.ino i quajtur Wireless_Alarm. Mund të klikoni mbi të dhe duhet të hapet në Arduino IDE. Unë nuk jam programues kodi im është mbledhur pjesërisht nga shembujt e gjetur në Arduino IDE, ndoshta nuk është veçanërisht elegant, por funksionon dhe ka qenë i besueshëm për një periudhë të gjatë kohore.

Mos harroni të ruani përsëri skicën pasi të bëni ndryshimet për të përfshirë kodet nga sensorët tuaj.

Hapi 6: Ngjitni Kodet e Përfituar në Hapin 5 Në Skicën Arduino të Template

Tani hapat për të personalizuar kodin për sensorët dhe tastet e telekomandës që përdorni.

Nëse hapni skicën Wireless_Alarm në IDE tuaj do të shihni në rreshtin 111.

nëse (mySwitch.getReceivedValue () == 115166236) // Kodi i butonit të krahut të krahut

Aty ku në kodin ekzistues lexon 115166236 ju duhet ta zëvendësoni atë numër me kod dhjetor për butonin e krahut të tastierës suaj të largët të regjistruar në Hapin 5.

Për shembull, nëse në hapin 5 keni një decimal 1154321, ju do të modifikoni rreshtin 111 për ta lexuar tani;

nëse (mySwitch.getReceivedValue () == 1154321) // Kodi i butonit të krahut të krahut

Ndiqni të njëjtën procedurë për rreshtin 125.

nëse (mySwitch.getReceivedValue () == 115166234) // Kodi i butonit të çarmatosjes Fob

Zëvendësoni 115166234 për kodin e butonit tuaj të çarmatimit të tastierës në distancë të regjistruar në Hapin 5.

Nëse dëshironi të përdorni foba të shumtë në distancë për të armatosur dhe çarmatosur, kopjoni dhe ngjitni linjat 111 deri në 136 sa herë që kërkohet, pastaj ndryshoni vlerat për t'iu përshtatur çelësave të tjerë të telekomandës, por më së miri vetëm të filloni me një telekomandë derisa të jeni të sigurt se jeni modifikuar skica po punon.

Tani për të koduar sensorët e alarmit në skicën në rreshtin 140

nëse (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Veprim për dollapin e zyrës së dërguesit të sinjalit

Merrni 1151640 dhe futni vlerën dhjetore të njërit prej sensorëve tuaj të alarmit.

Pastaj në rreshtin 158.

lcd.print (F ("dollap zyre")); // printoni mesazhin në LCD për të ditur se cili sensor është aktivizuar (dhe shkoni dhe gjeni hajdutin:)

Ndryshoni dollapin e Zyrës me atë që dëshironi të shfaqet në LCD për atë sensor. Për shembull, nëse doni që ajo të lexojë kitchendoor, bëni që rreshti të duket kështu;

lcd.print (F ("Kitchendoor")); // printoni mesazhin në LCD për të ditur se cili sensor është aktivizuar (dhe shkoni dhe gjeni hajdutin:)

Emrat nuk duhet të kalojnë 16 karaktere.

Midis rreshtit 165 dhe 187 është një model për të kopjuar dhe ngjitur sa herë që kërkohet në rreshtat drejtpërdrejt nën 187. Zëvendësoni numrin pas mySwitch.getReceivedValue () == me dhjetorin e njërit prej sensorëve tuaj të tjerë që keni regjistruar në hapin 5 dhe ndryshoni emrin brenda "" në lcd.print (F ("sensornamehere")); emrit që dëshironi t'i jepni sensorit tuaj.

Nëse nuk përdorni tastiera të largëta për të armatosur dhe çarmatosur alarmin tuaj, thjesht mund të injoroni rreshtat 111-136 ose të vendosni // në fillim të secilës prej rreshtave të padëshiruar dhe Arduino nuk do t'i lexojë ato.

Mos harroni të ruani skedarin pasi të keni bërë ndryshimet tuaja.

Hapi 7: Ngarko.ino -në e ndryshuar në Arduino -n dhe testin tënd

Ngarko.ino -në e ndryshuar në Arduino dhe Testin tënd
Ngarko.ino -në e ndryshuar në Arduino dhe Testin tënd
Ngarko.ino -në e ndryshuar në Arduino dhe Testin tënd
Ngarko.ino -në e ndryshuar në Arduino dhe Testin tënd
Ngarko.ino -në e ndryshuar në Arduino dhe Testin tënd
Ngarko.ino -në e ndryshuar në Arduino dhe Testin tënd

Me Arduino ende të lidhur me kompjuterin tuaj me USB ngarkoni skicën në Bordin Arduino. Pasi ngarkimi të ketë përfunduar me sukses LCD -ja duhet të lexojë "Alarm On Disarmed". Shtypni butonin e krahut në telekomandën tuaj dhe LCD duhet të lexojë "Alarm On Armatur" dhe LED duhet të ndizet për t'ju bërë të ditur se është i armatosur, tani aktivizoni një sensor ndërsa është i armatosur, LCD duhet të lexojë Alarmin e ndjekur nga një vulë kohore dhe vendndodhja e sensorit, sinjali duhet të tingëllojë për 2 minuta nëse nuk e shtypni butonin e çarmatimit. Nëse nuk po e merrni këtë rezultat, kontrolloni sërish kodet që keni marrë në Hapin 5 dhe ndryshimet që keni bërë në kodin në hapin e mëparshëm, gjithashtu kontrolloni instalimet elektrike të të gjithë përbërësve. Nëse LCD nuk po lexon fare, ka një rregullim kontrasti në pjesën e pasme të modulit LCD. Pasi kontrasti të jetë vendosur saktë nëse LCD -ja ende nuk po lexon provoni të ndryshoni Adresën e LCD -së nga 0x3f në 0x27 në rreshtin 12 në skicë. Zgjidhja e problemeve LCD këtu tutoriali I2C LCD

Hapi 8: Vendosja e kohës në modulin RTC dhe ndryshimi i orëve të armëve dhe çarmatimit

Shpresojmë që RTC -ja juaj të jetë vendosur tashmë me kohën e duhur, por nëse nuk e hapni IDE -në, zgjidhni 'File' dhe nga lista zbritëse klikoni në 'Shembuj', lëvizni poshtë në 'DS1307RTC' dhe zgjidhni skicën 'SetTime', shkarkoni skicën tuajin Arduino dhe do të caktojë orën në kohë reale me kohën nga kompjuteri juaj. Pastaj do t'ju duhet të ngarkoni skicën Wireless_Alarm në Arduino tuaj.

Wireless_Alarm.ino që kam siguruar do të vendosë si parazgjedhje alarmin që të armatoset automatikisht në orën 22.15 çdo natë dhe të çarmatoset në 6.00 të mëngjesit çdo mëngjes. Për të ndryshuar këto kohë, modifikoni Skicën në rreshtat 71 dhe 72. Koha është në kllapa pas Alarm.alarmRepeat në formatin HH, MM, SS. ndryshojeni atë në çdo kohë që ju përshtatet.

Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // Koha e ÇARZATIMIT

Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // koha ARM

Pra, për të ndryshuar kohën e çarmatimit në 9.15 të mëngjesit dhe kohën e krahut në 5.30 pasdite kodi do të dukej kështu

Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // Koha e ÇARZATIMIT

Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // koha ARM

Nëse nuk doni që alarmi të armatoset dhe çarmatoset vendosni // para 2 rreshtave dhe ato nuk do të përdoren.

//Alarm.alarmRepe((6, 00, 0, MorningAlarm)); // Koha e ÇARZATIMIT

//Alarm.alarmRepe((22, 15, 0, EveningAlarm)); // Koha e krahut

Koha për të cilën bie sinjali i alarmit mund të ndryshohet duke modifikuar linjën 22

interval i gjatë const = 120000; // për milis vonesa për kohëzgjatjen e tingullit të alarmit

Intervali është në milisekonda kështu që 120000 = 120 sekonda, ndryshimi i 120000 në 30000 do të bënte që alarmi të binte për 30 sekonda.

Një solenoid për të drejtuar një sirenë, një dritë strobe, një sinjal me vëllim të lartë, etj. Mbani në mend ngarkesën maksimale për një kunj Arduino nuk duhet të kalojë 40mA.

Hapi 9: Shënime shtesë

Kur zgjidhni një modul marrës 433 ose 315 MHz për Arduino, duhet të zgjidhni frekuencën që të përputhet me sensorët e alarmit që keni ndërmend të përdorni. Unë sugjeroj që të blini një modul që vjen me një antenë të vogël spirale spirale për performancën më të mirë, përndryshe një antenë me tela të drejtë 17.3mm gjithashtu rrit performancën.

Me modulin LCD 16x2 ju duhet të përdorni një LCD 4 pin I2C për të përdorur udhëzimet dhe kodin që jap këtu, mund të bëhet me një LCD standard 16 pin, por nuk do të funksionojë me telat ose kodin këtu.

Çelësat e kallamit të alarmit pa tel, sensorët e lëvizjes dhe fobët e çelësit të largët duhet të jenë 433Mhz ose 315Mhz që të përputhen me marrësin që keni ndërmend të përdorni dhe duhet të përdorni kodimin PT2262 ose EV1527.

Alarmi është i zgjerueshëm dhe i adaptueshëm, unë tashmë kam shtuar një kartë SD për të regjistruar kur ndizen sensorët, ndryshova LCD -në që të ndizet vetëm kur mbahet një buton dhe shtoj një sirenë 100dB, por nuk kam përfshirë këtu detaje për ta mbajtur artikullin si e shkurtër dhe e thjeshtë sa të jetë e mundur. Shpresoj që ndarja e punës që kam bërë në këtë alarm është e dobishme për të tjerët.

I lumtur t'i përgjigjet çdo pyetjeje.

Faleminderit.

Recommended: