Sisukord:
- Tarvikud
- Samm: tarvikud
- Samm: ühendage Ardunio ja moodulid, nagu pildil näidatud
- Samm: lisage vajalikud raamatukogud Arduino IDE -sse
- Samm 4: Järgmisena peame hankima teie andurite koodid
- Samm: Arduino koodimall
- Samm: kleepige 5. etapis saadud koodid Arduino malli eskiisi
- Samm: laadige muudetud.ino oma Arduinole üles ja testige
- 8. samm: RTC -mooduli aja seadistamine ja relva- ja valvestusaegade muutmine
- 9. samm: lisamärkused
Video: Arduino traadita häiresüsteem olemasolevate andurite abil: 9 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Seda projekti saab ehitada umbes poole tunni jooksul hinnaga umbes 20,00 dollarit, kui teil on olemasolevad traadita häiresensorid 433Mhz või 315Mhz.
See võib olla ka täiesti uus projekt koos traadita häiresensoritega, nagu infrapuna -liikumisandurid ja pilliroo lülitid, mis on veebis hõlpsasti ja odavalt saadaval. Otsige lihtsalt 433Mhz või 315Mhz andureid, mis kasutavad PT2262 või EV1527 kodeeringut.
Olen kindel, et minusuguseid on palju, kes on ostnud traadita anduritega GSM/2G häiresüsteemi ja olid sellega rahul, kuid kui 2G/GSM -võrk minu elukohas välja lülitati, jäi mulle häiresüsteem enam ei programmeeri ega isegi aega seadnud. Ühel päeval mõtlesin, mida ma saaksin teha, et oma äratus uuesti toimima hakkaks, aga tuli pähe kontrollida, kas Arduino saab anduritelt signaale vastu võtta. Sattusin ebastabiilsele https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ ja leidsin pärast mõningast katsetamist, et saan signaale vastu võtta oma olemasolevatelt anduritelt. Alustasin häiresüsteemi loomist, mis võiks asendada mu olemasoleva alarmi ja pakuks ka suuremat funktsionaalsust. Üks vana häirega seotud probleemidest ei olnud kunagi täpselt teada, milline 25 andurist välja läks, lisades oma uuele häirekonstruktsioonile LCD -ekraani, saan nüüd LCD -ekraanile teksti, mis näitab täpselt, milline andur aktiveeriti. Uue äratuse saab endiselt käsitsi sisse lülitada minu olemasolevate traadita võtmepultide abil ja sellel on reaalajas kell, mis võimaldab sellel automaatselt seadistada ja desarmeerida etteantud kellaaegadel.
Tarvikud
Vaadake lõpus lisamärkusi, et veenduda nende osade õige versiooni kasutamises.
Arduino Uno või sarnane
433 või 315 MHz vastuvõtja moodul Arduino jaoks
DS3231 reaalajas kella moodul Arduino jaoks
I2C 16x2 LDC moodul Arduino jaoks
Juhtmevabad häireseadme lülitid, liikumisandurid ja kaugjuhtimispuldid vastavalt soovile
Pietsosummer
LED ja 220 oomi takisti
Leivalaud (valikuline, kuid soovitatav)
Arduino jaoks sobiv toiteallikas
Jumper juhtmed jne
Arvuti, kuhu on installitud Arduino IDE
Arduino põhiteadmised
Samm: tarvikud
Mõned ülaltoodud pildid selle projekti jaoks vajalikest tarvikutest
Samm: ühendage Ardunio ja moodulid, nagu pildil näidatud
Pieso Arduino tihvti 5 ja maa vahel
LED Arduino tihvti 8 ja 220 oomi takisti vahel, seejärel maa peal
433 või 315 Mhz vastuvõtja, VCC kuni 5 V, GND maandusega ja üks Arduino 2 -st andmest
I2C 16X2 LCD -moodul VCC kuni 5V, GND maapinnale, SCL SDA -tihvtid Arduino SCL -SDA -le (tihvt A5 on SCL, tihvt A4 on SDA)
DS3231 RTC moodul VCC kuni 5 V, GND maapinnale, SCL SDA tihvtid Arduino SCL SDA -le (teine komplekt asub enamiku Arduino GND ja AREF tihvtide kohal)
Ma tean, et mõned teist ei vaja rohkem teavet kui see ja allpool esitatud visand, kuid ma räägin sellest üksikasjalikumalt kõigile, kes soovivad natuke täiendavat abi.
Samm: lisage vajalikud raamatukogud Arduino IDE -sse
Häire käivitamiseks kasutatav Arduino Sketch kasutab mõnda teeki, mis pole vaikimisi Arduino IDE -sse installitud.
RCSwitchi teegi lisamiseks Arduino IDE -sse. Avage ülemises menüüs Arduino IDE, valige "Visand", seejärel valige rippmenüüst "Kaasa raamatukogu" ja järgmisest rippmenüüst "Halda teeke". Seejärel tippige väljale "Otsingu filtreerimine" tüüp "RCSW" ja klõpsake järgmisel käsul installimiseks "rc-switch by sui77"
Üksikasjalikud juhised raamatukogude lisamiseks aadressil
Sellega seoses peame lisama ka teegid Time, TimeAlarms, DS1307RTC ja LiquidCrystal_I2C, sama protseduur nagu eespool, kuid otsides iga uue teegi nime ja installides. Kui te pole kindel, milliseid teeke kasutada, vaadake ülaltoodud ekraanipilte.
Reaalajas kell DS3231 ühildub ja kasutab DS1307RTC raamatukogu.
Samm 4: Järgmisena peame hankima teie andurite koodid
Esitasin allpool Arduino koodi malli, kuid peate leidma iga anduri väärtused ja kleepima need koodi.
Mõlemal saidil on palju teavet nende koodide hankimise kohta;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Kuid siin on minu lühendatud versioon;
Koodide saamiseks, mida teie andurid ja kaugjuhtimispuldid saadavad, ühendage Arduino, mis on koostatud 1. etapis, USB -kaabli abil arvutiga ja avage Arduino IDE. Seejärel minge Arduino IDE rippmenüüsse "Fail", seejärel minge jaotisse "Näited", kerige näidisvisandite loendit allapoole, kuni leiate "RCSWITCH", seejärel valige visand "ReceiveDemo_Advanced" ja laadige see Arduino. Kui eskiis on edukalt üles laaditud, avage Arduino IDE seeriamonitor, mis on endiselt USB -ga teie arvutiga ühendatud. Nüüd käivitage esimene andur, mille jaoks soovite koodi saada, RCSwitchi väljund kuvatakse jadamonitori aknas. Selle projekti jaoks otsime kümnendkoode, nagu ekraanipildil 2 esile tõstetud. Peate anduri mitu korda käivitama, otsides kõige sagedamini ilmuvat kümnendväärtust, mõnikord on erinevad väärtused segatud tegeliku väärtusega. juhuslike raadiolainete või muude samal sagedusel töötavate seadmete häirete tõttu.
Pange tähele järgmises etapis kasutamiseks anduri kümnendkoodi. Korrake seda kõigi andurite ja kaugjuhtimispultide puhul, mida soovite projektis kasutada, jälgides, milline kood millise anduriga käib. Kui kasutate häire sisselülitamiseks ja desaktiveerimiseks klahve, peate märkima iga puldi sisse- ja väljalülitusnupu erinevad koodid.
Samm: Arduino koodimall
Allpool on minu Arduino koodi koopia.ino failina nimega Wireless_Alarm. Saate sellel klõpsata ja see peaks avanema Arduino IDE -s. Ma ei ole programmeerija, minu kood on osaliselt kokku pandud Arduino IDE -s leiduvatest näidetest, see pole ilmselt eriti elegantne, kuid töötab ja on olnud pikka aega usaldusväärne.
Ärge unustage pärast muudatuste tegemist visand uuesti salvestada, et lisada oma andurite koodid.
Samm: kleepige 5. etapis saadud koodid Arduino malli eskiisi
Nüüd sammud kasutatavate andurite ja kaugjuhtimispultide koodi kohandamiseks.
Kui avate IDE -s Wireless_Alarmi visandi, näete reas 111.
if (mySwitch.getReceivedValue () == 115166236) // Fob arm arm nupu kood
Kui olemasolevas koodis on see 115166236, peate selle numbri asendama kaugjuhtimispuldi käepideme nupu kümnendkoodiga, mille salvestasite punktis 5.
Näiteks kui saite 5. sammus kümnendkoha 1154321, muudaksite rida 111 nüüdseks loetuks;
if (mySwitch.getReceivedValue () == 1154321) // Fob arm arm nupu kood
Järgige sama protseduuri rea 125 jaoks.
if (mySwitch.getReceivedValue () == 115166234) // Fob desarm nupu kood
Asendage 115166234 kaugjuhtimispuldi desarmeerimisnupu kood, mille salvestasite punktis 5.
Kui soovite relvastamiseks ja desarmeerimiseks kasutada mitut kaugjuhtimispulti, kopeerige ja kleepige read 111 kuni 136 nii palju kordi kui vaja, seejärel muutke väärtusi, et need sobiksid teie teiste kaugjuhtimispultidega, kuid parem on alustada ühe kaugjuhtimispuldiga, kuni olete kindel, et muudetud visand töötab.
Nüüd aga häiresensorite kodeerimine visandil real 140
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Signaali saatja kontori kapi toiming
Võtke välja 1151640 ja sisestage ühe häiresensori kümnendväärtus.
Siis liinil 158.
lcd.print (F ("Kontorikapp")); // printige teade lcd -le, et teada saada, milline andur aktiveeriti (ja minge leidke sissemurdja:)
Muutke Office'i kapp selliseks, nagu soovite, et selle anduri LCD -ekraanil kuvataks. Näiteks kui soovite, et see loeks kitchendoor, tehke rida selline;
lcd.print (F ("Kitchendoor")); // printige teade lcd -le, et teada saada, milline andur aktiveeriti (ja minge leidke sissemurdja:)
Nimed ei tohi ületada 16 tähemärki.
Ridade 165 ja 187 vahel on mall, mida kopeerida ja kleepida nii palju kordi, kui vaja, otse allpool 187. olevatele ridadele. Asendage number pärast mySwitch.getReceivedValue () == ühe teise anduri kümnendkohaga, mille salvestasite punktis 5 ja muuta nime "" sees lcd.print (F ("sensornamehere")); nimele, mille soovite andurile anda.
Kui te ei kasuta alarmi sisselülitamiseks ja desaktiveerimiseks kaugjuhtimispuldi, võite lihtsalt ignoreerida ridu 111-136 või panna // iga soovimatu rea algusesse ja Arduino ei loe neid.
Ärge unustage faili salvestada pärast muudatuste tegemist.
Samm: laadige muudetud.ino oma Arduinole üles ja testige
Kui Arduino on USB -ga endiselt arvutiga ühendatud, laadige eskiis üles Arduino pardale. Kui üleslaadimine on edukalt lõpule viidud, peaks vedelkristallekraanil olema kiri "Alarm on desarmed". Vajutage kaugjuhtimispuldi käepideme nuppu ja LCD -ekraanil peaks olema kiri „Alarm On Armed” ning LED peaks põlema, et anda teile teada, et see on relvastatud, käivitage nüüd andur, kui see on relvastatud, LCD peaks lugema Alarm, millele järgneb ajatempl ja anduri asukohast, peaks helisignaal kõlama 2 minutit, kui te ei vajuta desarmeerimisnuppu. Kui te ei saa seda tulemust, kontrollige uuesti 5. sammus saadud koode ja eelmises etapis tehtud muudatusi, kontrollige ka kõigi komponentide juhtmeid. Kui LCD -ekraan üldse ei loe, on LCD -mooduli tagaküljel kontrasti reguleerimine. Kui kontrastsus on õigesti seadistatud, kui vedelkristallekraan ei loe endiselt, proovige visandi reas 12 muuta LCD -aadressi 0x3f -lt 0x27 -le. LCD veaotsing siin I2C LCD õpetus
8. samm: RTC -mooduli aja seadistamine ja relva- ja valvestusaegade muutmine
Loodetavasti oli teie RTC juba õigel ajal seadistatud, kuid kui IDE -d ei avata, valige "Fail" ja klõpsake rippmenüüst "Näited", kerige alla jaotiseni "DS1307RTC" ja valige eskiis "SetTime", laadige visand oma arvutisse alla Arduino ja see määrab reaalajas kella koos teie arvutist saadava ajaga. Seejärel peate Wireless_Alarmi visandi oma Arduinole uuesti laadima.
Minu pakutud Wireless_Alarm.ino seab äratuse vaikimisi automaatselt sisse igal õhtul kell 22.15 ja desaktiveeritakse igal hommikul kell 6.00. Nende aegade muutmiseks muutke eskiisi ridadel 71 ja 72. Aeg on sulgudes pärast Alarm.alarmRepeat vormingus HH, MM, SS. muutke see teile sobival ajal.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // DISARM aeg
Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // ARM aeg
Nii et desarmeerimisaja muutmiseks kella 9.15 -ks ja valveajaks kella 17.30 -ks näeks kood välja selline
Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // DISARM aeg
Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // ARM aeg
Kui te ei soovi, et alarm lülituks automaatselt sisse ja välja, asetage // kahe rea ette ja neid ei kasutata.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // DISARM aeg
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // Armide aeg
Alarmi helisignaali kellaaega saab muuta, muutes rida 22
const pikk intervall = 120000; // millisekundilise viivituse korral alarmi helisid
Intervall on millisekundites, nii et 120000 = 120 sekundit, muutes 120000 väärtuseks 30 000, kõlab alarm 30 sekundiks.
Solenoidi sireeni, välklambi, suure helisignaali jms juhtimiseks saab ühendada ka tihvtiga 7 või tihvtiga 9 ja see töötab ülaltoodud ajavahemiku jooksul. Pidage meeles, et Arduino tihvti maksimaalne koormus ei tohiks ületada 40 mA.
9. samm: lisamärkused
Kui valite Arduino jaoks 433 või 315 MHz vastuvõtumooduli, peaksite valima sageduse, mis vastab häiresensoritele, mida kavatsete kasutada. Parima jõudluse saavutamiseks soovitan osta moodul, millel on väikesed spiraalsed spiraalsed antennid. Alternatiivina suurendab jõudlust ka 17,3 mm pikkune sirge traatantenn.
16x2 LCD -mooduliga peate siin esitatud juhiste ja koodi kasutamiseks kasutama 4 -kontaktilist I2C LCD -ekraani, seda saab teha 16 -kontaktilise tavalise LCD -ekraaniga, kuid see ei tööta siin juhtmete või koodiga.
Juhtmevabad häireseisulülitid, liikumisandurid ja kaugjuhtimispuldid peaksid olema 433Mhz või 315Mhz, et need sobiksid vastuvõtjaga, mida kavatsete kasutada, ning peaksid kasutama PT2262 või EV1527 kodeeringut.
Alarm on laiendatav ja kohandatav, olen juba lisanud SD -kaardi andurite käivitamisel salvestamiseks, muutnud LCD -ekraani põlema ainult siis, kui nuppu hoitakse, ja lisanud 100dB sireeni, kuid pole lisanud siia üksikasju, et artiklit säilitada võimalikult lühike ja lihtne. Loodan, et selle häirega tehtud töö jagamine on teistele kasulik.
Vastan meeleldi kõikidele küsimustele.
Tänan.
Soovitan:
Kuidas saavutada vastupanu/mahtuvust juba olemasolevate komponentide abil!: 6 sammu
Kuidas saavutada mis tahes vastupanu/mahtuvust juba olemasolevate komponentide abil !: See pole lihtsalt järjekordne seeria/paralleelne samaväärne takistuskalkulaator! See programm arvutab, kuidas kombineerida takistid/kondensaatorid, mis teil praegu on vajaliku takistuse/mahtuvuse väärtuse saavutamiseks. Kas olete kunagi vajanud spetsifikatsioone
E-posti märguannete loomine traadita temperatuuri ja niiskuse anduri NCD abil punase sõlme abil: 22 sammu
E-posti märguannete loomine NCD traadita temperatuuri ja niiskuse anduri kohta sõlme-punase abil: kasutame siin NCD temperatuuri ja niiskuse andurit, kuid sammud jäävad kõigi ncd-toodete jaoks samaks, nii et kui teil on muid ncd traadita andureid, proovige seda tasuta kõrvalt kõrvalt jälgida. Selle teksti peatamise abil peate
Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil: 12 sammu (piltidega)
Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil: kodus basseini omamine on lõbus, kuid sellega kaasneb suur vastutus. Minu suurim mure on jälgida, kas keegi on basseini lähedal järelevalveta (eriti nooremad lapsed). Minu suurim pahameel on veenduda, et basseini veetoru ei lähe kunagi pumba sisendist alla
Traadita andurite andmete visualiseerimine Google'i diagrammide abil: 6 sammu
Traadita andurite andmete visualiseerimine Google'i diagrammide abil: masinate ennustusanalüüs on väga vajalik, et minimeerida masina seisakuid. Regulaarne kontroll aitab pikendada masina tööaega ja omakorda suurendab selle tõrketaluvust. Juhtmeta vibratsiooni ja temperatuuri
Arvuti hiire emulaator Arduino Uno ja andurite abil: 8 sammu
Arvuti hiire emulaator Arduino Uno ja andurite abil. Selles juhendis ehitame hiire emulaatori prototüübi. Hiire emulaator on seade, mida saab kasutada, kui hiir ei tööta korralikult. Hiire juhtimiseks kasutatakse andureid liigutused. Projekt koosneb ühest