Satura rādītājs:
- Piegādes
- 1. solis: Piegādes
- 2. darbība: savienojiet Ardunio un moduļus, kā parādīts attēlā
- 3. darbība. Pievienojiet nepieciešamās bibliotēkas Arduino IDE
- 4. solis: Tālāk mums jāiegūst sensoru kodi
- 5. darbība: Arduino koda veidne
- 6. darbība: ielīmējiet 5. solī iegūtos kodus veidnes Arduino skicē
- 7. darbība: augšupielādējiet laboto.ino savā Arduino un pārbaudiet
- 8. solis: RTC moduļa laika iestatīšana un ieslēgšanas un atbruņošanās laika maiņa
- 9. darbība. Papildu piezīmes
Video: Arduino bezvadu signalizācijas sistēma, izmantojot esošos sensorus: 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Šo projektu var izveidot aptuveni pusstundas laikā, maksājot aptuveni USD 20,00, ja jums ir esošie 433Mhz vai 315Mhz bezvadu trauksmes sensori.
Tas var būt arī pilnīgi jauns projekts ar bezvadu trauksmes sensoriem, piemēram, infrasarkanajiem kustības detektoriem un niedru slēdžiem, kas ir viegli un lēti pieejami tiešsaistē. Vienkārši meklējiet 433Mhz vai 315Mhz sensorus, kas izmanto PT2262 vai EV1527 kodējumu.
Esmu pārliecināts, ka ir daudz tādu cilvēku kā es, kuri ir iegādājušies GSM/2G signalizācijas sistēmu ar bezvadu sensoriem un bija ar to apmierināti, tomēr, kad 2G/GSM tīkls tika izslēgts, kur es dzīvoju, man palika signalizācijas sistēma. vairs programmēt vai pat iestatīt laiku. Kādu dienu, prātojot, ko es varētu darīt, lai modinātājs atkal darbotos, man ienāca prātā pārbaudīt, vai Arduino var uztvert signālus no sensoriem. Es nejauši nokļuvu instuctable https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ un pēc dažiem eksperimentiem noteicu, ka varu saņemt signālus no esošajiem sensoriem. Es sāku procesu, lai izveidotu trauksmes sistēmu, kas varētu aizstāt manu esošo signalizāciju un nodrošinātu arī lielāku funkcionalitāti. Viena no problēmām ar veco modinātāju nekad nebija īsti zināt, kurš no 25 sensoriem ir izslēgts, pievienojot LCD ekrānu savai jaunajai modinātāja būvei, tagad LCD ekrānā tiek parādīts teksts, kurā precīzi norādīts, kurš sensors tika aktivizēts. Jauno modinātāju joprojām var manuāli aktivizēt ar maniem bezvadu taustiņiem, un tam ir reālā laika pulkstenis, kas ļauj automātiski ieslēgt un atbruņot iepriekš iestatītos diennakts laikus.
Piegādes
Noskatieties papildu piezīmes beigās, lai pārliecinātos, ka izmantojat šo detaļu pareizo versiju.
Arduino Uno vai līdzīgi
433 vai 315 MHz uztvērēja modulis Arduino
DS3231 reālā laika pulksteņa modulis Arduino
I2C 16x2 LDC modulis Arduino
Bezvadu trauksmes niedru slēdži, kustības sensori un tālvadības pults pēc vēlēšanās
Pjezo skaņas signāls
LED un 220 omu rezistors
Maizes dēlis (pēc izvēles, bet ieteicams)
Piemērots barošanas avots Arduino
Jumper vadi utt
Dators ar instalētu Arduino IDE
Pamatzināšanas par Arduino
1. solis: Piegādes
Daži attēli no iepriekš minētajiem materiāliem, kas jums būs nepieciešami šim projektam
2. darbība: savienojiet Ardunio un moduļus, kā parādīts attēlā
Pjezo starp Arduino tapu 5 un zemi
LED starp Arduino 8. tapu un 220 omu rezistoru, pēc tam uz zemes
433 vai 315 Mhz uztvērējs, VCC līdz 5 V, GND pie zemes un vai nu viena no 2 datu tapām Arduino 2. tapai
I2C 16X2 LCD modulis VCC līdz 5V, GND pie zemes, SCL SDA tapas līdz Arduino SCL SDA (A5 tapa ir SCL, A4 tapa ir SDA)
DS3231 RTC modulis VCC līdz 5V, GND uz zemes, SCL SDA tapas līdz Arduino SCL SDA (2. komplekts atrodas virs vairuma Arduino GND un AREF tapām)
Es zinu, ka dažiem no jums vairs nebūs nepieciešama informācija par šo un zemāk pievienotā skice, bet es sīkāk iedziļināšos ikvienā, kas vēlas nedaudz vairāk palīdzēt.
3. darbība. Pievienojiet nepieciešamās bibliotēkas Arduino IDE
Arduino skice trauksmes palaišanai izmanto dažas bibliotēkas, kas pēc noklusējuma vēl nav instalētas Arduino IDE.
Lai pievienotu RCSwitch bibliotēku Arduino IDE. Augšējā izvēlnē atveriet Arduino IDE, atlasiet “Skice”, pēc tam nolaižamajā izvēlnē atlasiet “Iekļaut bibliotēku” un nākamajā nolaižamajā izvēlnē atlasiet “Pārvaldīt bibliotēkas”. Pēc tam lodziņā "Filtrēt meklēšanu" ierakstiet "RCSW", pēc tam noklikšķiniet uz instalēt "rc-switch by sui77"
Detalizēti norādījumi par bibliotēku pievienošanu vietnē
Kamēr mēs esam pie tā, mums ir jāpievieno arī bibliotēkas ar nosaukumu Time, TimeAlarms, DS1307RTC un LiquidCrystal_I2C, tāpat kā iepriekš, bet meklējot katras jaunās bibliotēkas nosaukumu un instalējot. Skatiet ekrānuzņēmumus iepriekš, ja neesat pārliecināts, kuras bibliotēkas izmantot.
DS3231 reālā laika pulkstenis ir saderīgs ar DS1307RTC bibliotēku un izmanto to.
4. solis: Tālāk mums jāiegūst sensoru kodi
Tālāk esmu sniedzis Arduino koda veidni, taču jums būs jāatrod katra sensora vērtības un jāielīmē tās kodā.
Abās šajās vietnēs ir plaša informācija par to, kā iegūt šos kodus;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Tomēr šeit ir mana saīsinātā versija;
Lai iegūtu kodus, ko sūta jūsu sensori un tālvadības pults, pievienojiet Arduino, kas samontēts 1. darbībā, pie datora, izmantojot USB kabeli, un atveriet Arduino IDE. Pēc tam Arduino IDE dodieties uz nolaižamo izvēlni "Fails", pēc tam dodieties uz "Piemēri", ritiniet uz leju piemēru skicju sarakstu, līdz atrodat "RCSWITCH", pēc tam atlasiet skatu "ReceiveDemo_Advanced" un augšupielādējiet to Arduino. Kad skice ir veiksmīgi augšupielādēta, atveriet Arduino IDE sērijas monitoru, un tas joprojām ir pievienots datoram, izmantojot USB. Tagad aktivizējiet pirmo sensoru, kuram vēlaties iegūt kodu, RCSwitch izeja parādīsies sērijas monitora logā. Šim projektam mēs meklējam decimālos kodus, kā uzsvērts 2. ekrānuzņēmumā. Jums būs vairākas reizes jāaktivizē sensors, meklējot visbiežāk redzamo decimālo vērtību, dažreiz dažādas vērtības tiek sajauktas ar patieso vērtību. nejaušu radioviļņu vai citu ierīču, kas darbojas ar tādu pašu frekvenci, iejaukšanās.
Ievērojiet sensora decimālo kodu, ko izmantot nākamajā darbībā. Atkārtojiet visus sensorus un tālvadības pults, ko vēlaties izmantot projektā, sekojot līdzi tam, kurš kods tiek pievienots kādam sensoram. Ja modinātāja ieslēgšanai un atbruņošanai izmantojat tālvadības pulti, jums jāatzīmē katras tālvadības pults ieslēgšanas un izslēgšanas pogas atšķirīgie kodi.
5. darbība: Arduino koda veidne
Zemāk ir mana Arduino koda kopija kā.ino fails ar nosaukumu Wireless_Alarm. Jūs varat noklikšķināt uz tā, un tam vajadzētu atvērt Arduino IDE. Es neesmu programmētājs, mans kods ir daļēji apkopots no piemēriem, kas atrodami Arduino IDE, iespējams, tas nav īpaši elegants, taču tas darbojas un ir bijis uzticams ilgu laiku.
Pēc izmaiņu veikšanas neaizmirstiet saglabāt skici, lai iekļautu kodus no saviem sensoriem.
6. darbība: ielīmējiet 5. solī iegūtos kodus veidnes Arduino skicē
Tagad veiciet darbības, lai pielāgotu izmantoto sensoru un tālvadības pults taustiņu kodu.
Atverot Wireless_Alarm skici savā IDE, jūs redzēsiet 111. rindā.
if (mySwitch.getReceivedValue () == 115166236) // Fob roku pogas kods
Ja esošajā kodā tas ir 115166236, jums ir jāaizstāj šis skaitlis ar decimālo kodu tālvadības pults iedarbināšanas pogai, kuru ierakstījāt 5. darbībā.
Piemēram, ja 5. solī esat saņēmis decimālo skaitli 1154321, jūs modificētu 111. rindu, lai tā tagad būtu lasāma;
if (mySwitch.getReceivedValue () == 1154321) // Fob roku pogas kods
Izpildiet to pašu procedūru 125. rindā.
if (mySwitch.getReceivedValue () == 115166234) // Fob atbloķēšanas pogas kods
Aizstājiet tālvadības pults atbloķēšanas pogas kodu 115166234, kuru ierakstījāt 5. darbībā.
Ja vēlaties ieslēgt un atbruņot vairākus tālvadības pults, kopējiet un ielīmējiet 111. līdz 136. rindu tik reižu, cik nepieciešams, pēc tam mainiet vērtības, lai tās atbilstu citiem tālvadības pults taustiņiem, bet vislabāk ir sākt ar vienu tālvadības pulti, līdz esat pārliecināts, ka esat mainījis skice darbojas.
Tagad pie trauksmes sensoru kodēšanas skicē 140. rindā
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Darbība signāla sūtītāja biroja skapim
Izņemiet 1151640 un ievietojiet viena no trauksmes sensoriem decimālo vērtību.
Tad 158. rindā.
lcd.print (F ("Biroja skapis")); // izdrukājiet ziņojumu uz LCD, lai uzzinātu, kurš sensors tika aktivizēts (un ejiet un atrodiet ielaušanos:)
Mainiet biroja skapi uz to, ko vēlaties, lai šī sensora LCD tiktu parādīts. Piemēram, ja vēlaties, lai tā lasītu komplektu, līnija izskatās šādi;
lcd.print (F ("Kitchendoor")); // izdrukājiet ziņojumu uz LCD, lai uzzinātu, kurš sensors tika aktivizēts (un ejiet un atrodiet ielaušanos:)
Vārdi nedrīkst pārsniegt 16 rakstzīmes.
Starp 165. un 187. rindu ir veidne, ko kopēt un ielīmēt rindās, kas atrodas tieši zem 187. Nomainiet skaitli aiz mySwitch.getReceivedValue () == ar kāda cita jūsu sensoru decimāldaļu, ko ierakstījāt 5. darbībā. un mainīt nosaukumu "" iekš lcd.print (F ("sensornamehere")); uz nosaukumu, kuru vēlaties piešķirt savam sensoram.
Ja trauksmes ieslēgšanai un atbruņošanai neizmantojat tālvadības pults, varat vienkārši ignorēt 111.-136.rindu vai ievietot // katras nevēlamās rindas sākumā, un Arduino tās nelasīs.
Neaizmirstiet saglabāt failu pēc izmaiņu veikšanas.
7. darbība: augšupielādējiet laboto.ino savā Arduino un pārbaudiet
Kad Arduino joprojām ir savienots ar datoru, izmantojot USB, augšupielādējiet skici Arduino panelī. Kad augšupielāde ir sekmīgi pabeigta, LCD displejā vajadzētu parādīties uzraksts "Alarm On Disarmed". Nospiediet tālvadības pults rokas pogu, un LCD displejā vajadzētu būt uzrakstam “Alarm On Armed”, un gaismas diodei vajadzētu iedegties, lai jūs informētu, ka tā ir ieslēgta, un tagad aktivizējiet sensoru, kamēr tas ir ieslēgts, LCD ekrānā vajadzētu nolasīt brīdinājuma signālu, kam seko laika zīmogs un sensora atrašanās vietu, pīkstienam vajadzētu atskanēt 2 minūtes, ja vien nenospiežat atbloķēšanas pogu. Ja nesaņemat šo rezultātu, vēlreiz pārbaudiet 5. darbībā iegūtos kodus un iepriekšējā solī veiktās izmaiņas, pārbaudiet arī visu komponentu vadus. Ja LCD ekrāns vispār nelasa, LCD moduļa aizmugurē ir kontrasta regulēšana. Kad kontrasts ir pareizi iestatīts, ja LCD joprojām nelasa, mēģiniet nomainīt LCD adresi no 0x3f uz 0x27 skices 12. rindā. LCD problēmu novēršana šeit I2C LCD apmācība
8. solis: RTC moduļa laika iestatīšana un ieslēgšanas un atbruņošanās laika maiņa
Cerams, ka jūsu RTC jau bija iestatīts pareizs laiks, bet, ja neatverat IDE, atlasiet “Fails” un nolaižamajā izvēlnē noklikšķiniet uz “Piemēri”, ritiniet uz leju līdz “DS1307RTC” un atlasiet skici “SetTime”, lejupielādējiet skici savā Arduino, un tas iestatīs reālā laika pulksteni ar laiku no datora. Pēc tam jums būs jāpārlādē Wireless_Alarm skice jūsu Arduino.
Mans nodrošinātais Wireless_Alarm.ino pēc noklusējuma modinātāju ieslēgs automātiski katru vakaru pulksten 22.15 un katru rītu 6.00. Lai mainītu šos laikus, modificējiet skici 71. un 72. rindā. Laiks ir iekavās aiz Alarm.alarmRepeat formātā HH, MM, SS. nomainiet to uz jebkuru jums piemērotu laiku.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // atbruņot laiku
Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // ARM laiks
Tātad, lai atbruņošanas laiku mainītu uz 9.15 un izslēgšanas laiku uz 17.30, kods izskatītos šādi
Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // atbruņot laiku
Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // ARM laiks
Ja nevēlaties, lai modinātājs automātiski ieslēgtos un atbruņotos, ievietojiet // divu līniju priekšā, un tās netiks izmantotas.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // atbruņot laiku
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // Arm laiks
Modinātāja signāla skaņas laiku var mainīt, mainot 22. rindiņu
const ilgs intervāls = 120000; // par milis aizkavi trauksmes signālu ilgumam
Intervāls ir milisekundēs, tāpēc 120000 = 120 sekundes, mainot 120000 uz 30000, modinātājs atskanēs 30 sekundes.
Solenoīdu sirēnas, zibspuldzes gaismas, liela skaļuma skaņas signāla u.c. darbināšanai var pieslēgt arī pie 7. vai 9. tapas, un tas darbosies "intervālā", kā norādīts iepriekš. Paturiet prātā, ka Arduino tapas maksimālā slodze nedrīkst pārsniegt 40 mA.
9. darbība. Papildu piezīmes
Izvēloties Arduino 433 vai 315 MHz uztvērēja moduli, jums jāizvēlas frekvence, kas atbilst trauksmes sensoriem, kurus plānojat izmantot. Es iesaku iegādāties moduli ar nelielu spirālveida spirālveida antenu, lai nodrošinātu vislabāko sniegumu, vai arī 17,3 mm garas taisnas stieples antenas arī uzlabo veiktspēju.
Izmantojot 16x2 LCD moduli, jums jāizmanto 4 kontaktu I2C LCD, lai izmantotu šeit sniegtos norādījumus un kodu, to varētu izgatavot ar 16 kontaktu standarta LCD, taču tas nedarbosies ar vadu vai kodu šeit.
Bezvadu trauksmes niedru slēdžiem, kustības sensoriem un tālvadības pults taustiņiem jābūt 433Mhz vai 315Mhz, lai tie atbilstu uztvērējam, kuru plānojat izmantot, un tiem vajadzētu izmantot PT2262 vai EV1527 kodējumu.
Modinātājs ir paplašināms un pielāgojams, es jau esmu pievienojis SD karti, lai ierakstītu, kad tiek iedarbināti sensori, modificēju LCD, lai tas iedegtos tikai tad, kad tiek turēta poga, un pievienoju 100 dB sirēnu, taču šeit neesmu iekļāvis sīkāku informāciju, lai saglabātu rakstu kā pēc iespējas īsāk un vienkāršāk. Es ceru, ka dalīšanās ar darbu, ko esmu paveicis ar šo modinātāju, ir noderīgs citiem.
Labprāt atbildu uz visiem jautājumiem.
Paldies.
Ieteicams:
Transportlīdzekļa stāvēšanas signalizācijas sistēma, izmantojot PIR sensoru- DIY: 7 soļi (ar attēliem)
Transportlīdzekļa novietošanas signalizācijas sistēma, izmantojot PIR sensoru- DIY: Vai jums kādreiz ir bijušas problēmas, novietojot automašīnu, piemēram, automašīnu, kravas automašīnu, motociklu vai jebkuru citu, tad šajā pamācībā es jums parādīšu, kā pārvarēt šo problēmu, izmantojot vienkāršu transportlīdzekļa novietošanas signalizāciju sistēma, izmantojot PIR sensoru. Šajā sistēmā, kas
Pool Pi Guy - AI vadīta signalizācijas sistēma un baseina uzraudzība, izmantojot Raspberry Pi: 12 soļi (ar attēliem)
Pool Pi Guy - AI vadīta signalizācijas sistēma un baseina uzraudzība, izmantojot Raspberry Pi: Baseina izmantošana mājās ir jautra, taču tā ir saistīta ar lielu atbildību. Manas lielākās raizes ir uzraudzīt, vai kāds atrodas baseina tuvumā bez uzraudzības (īpaši jaunāki bērni). Mans lielākais kaitinājums ir pārliecināties, ka baseina ūdens līnija nekad nenokrīt zem sūkņa ieejas
Civilās infrastruktūras strukturālās veselības uzraudzība, izmantojot bezvadu vibrācijas sensorus: 8 soļi
Civilās infrastruktūras strukturālās veselības uzraudzība, izmantojot bezvadu vibrācijas sensorus: vecās ēkas un civilās infrastruktūras pasliktināšanās var izraisīt letālu un bīstamu situāciju. Šo struktūru pastāvīga uzraudzība ir obligāta. Strukturālā veselības uzraudzība ir ārkārtīgi svarīga metodoloģija, lai novērtētu
Šķērslis, lai izvairītos no robota, izmantojot ultraskaņas sensorus: 9 soļi (ar attēliem)
Šķēršļu novēršanas robots, izmantojot ultraskaņas sensorus: Šis ir vienkāršs projekts par izvairīšanos no šķēršļiem, izmantojot ultraskaņas sensorus (HC SR 04) un Arduino Uno plāksni. Robots pārvietojas, izvairoties no šķēršļiem un izvēloties labāko veidu, kā sekot sensoriem. Un, lūdzu, ņemiet vērā, ka tas nav apmācības projekts, dalieties ar jums
Skenējiet tuvumā esošos objektus, lai izveidotu 3D modeli, izmantojot ARDUINO: 5 soļi (ar attēliem)
Skenējiet tuvumā esošos objektus, lai izveidotu 3D modeli, izmantojot ARDUINO: Šis projekts ir specifisks, izmantojot tuvumā esošo objektu skenēšanai ultraskaņas sensoru HC-SR04. Lai izveidotu 3D modeli, nepieciešams slaucīt sensoru perpendikulārā virzienā. Jūs varat ieprogrammēt Arduino, lai tas atskaņotu trauksmi, kad sensors atklāj objektu