Sadržaj:
- Pribor
- Korak 1: Opskrba
- Korak 2: Povežite Ardunio i module kako je prikazano na slici
- Korak 3: Dodajte potrebne knjižnice u Arduino IDE
- Korak 4: Zatim moramo nabaviti kodove za vaše senzore
- Korak 5: Arduino predložak koda
- Korak 6: Zalijepite kodove koje ste dobili u 5. koraku u Arduino skicu predloška
- Korak 7: Prenesite izmijenjeni.ino na svoj Arduino i testirajte
- Korak 8: Postavljanje vremena na modulu RTC i promjena vremena uključivanja i isključivanja
- Korak 9: Dodatne napomene
Video: Arduino bežični alarmni sustav pomoću postojećih senzora: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Ovaj projekt može se izgraditi za oko pola sata po cijeni od oko 20,00 USD ako imate postojeće bežične alarmne senzore od 433 MHz ili 315 MHz.
To također može biti potpuno novi projekt s bežičnim alarmnim senzorima, poput infracrvenih detektora pokreta i trska, koji su lako i jeftino dostupni na mreži. Samo potražite senzore od 433 MHz ili 315 MHz koji koriste kodiranje PT2262 ili EV1527.
Siguran sam da postoji mnogo ljudi poput mene koji su kupili GSM/2G alarmni sustav s bežičnim senzorima i bili zadovoljni s njim, no kad je 2G/GSM mreža isključena tamo gdje živim, ostao mi je alarmni sustav koji sam mogao više ne programira niti čak postavlja vrijeme. Jednog dana, dok sam se pitao što bih mogao učiniti da mi alarm ponovno postane funkcionalan, palo mi je na pamet provjeriti može li Arduino primati signale sa senzora. Naišao sam na instuctable https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ i nakon nekog eksperimentiranja utvrdio da mogu primiti signale sa svojih postojećih senzora. Započeo sam proces izgradnje alarmnog sustava koji bi mogao zamijeniti moj postojeći alarm i također pružiti povećanu funkcionalnost. Jedan od problema sa starim alarmom nikada nije bilo točno znati koji se od 25 senzora isključio, dodavanjem LCD ekrana u moju novu verziju alarma sada dobivam tekst na LCD -u koji pokazuje točno koji je senzor aktiviran. Novi alarm i dalje se može ručno aktivirati pomoću mojih postojećih bežičnih privjesaka za ključeve i ima sat u stvarnom vremenu koji mu omogućuje automatsko aktiviranje i deaktiviranje u unaprijed zadano doba dana.
Pribor
Pogledajte dodatne napomene na kraju kako biste bili sigurni da koristite ispravnu verziju ovih dijelova.
Arduino Uno ili slično
433 ili 315 MHz prijemni modul za Arduino
DS3231 Modul sata u stvarnom vremenu za Arduino
I2C 16x2 LDC modul za Arduino
Bežični alarmni prekidači, senzori pokreta i daljinski privjesci po želji
Piezo zujalica
LED i 220 ohmski otpornik
Oglasna ploča (izborno, ali preporučeno)
Prikladno napajanje za Arduino
Kratkospojne žice itd
Računalo s instaliranim Arduino IDE -om
Osnovno znanje o Arduinu
Korak 1: Opskrba
Neke gornje slike materijala koji će vam trebati za ovaj projekt
Korak 2: Povežite Ardunio i module kako je prikazano na slici
Piezo između pina 5 Arduina i zemlje
LED između pina 8 Arduina i otpornika od 220 ohma pa na uzemljenje
Prijemnik od 433 ili 315 Mhz, VCC na 5V, GND na masu i jedan od 2 pina za prijenos podataka na pin2 Arduina
I2C 16X2 LCD modul VCC na 5V, GND na masu, SCL SDA pinovi na SCL SDA Arduina (pin A5 je SCL, pin A4 je SDA)
DS3231 RTC modul VCC na 5V, GND na masu, SCL SDA pinovi na SCL SDA Arduina (postoji drugi set koji se nalazi iznad GND i AREF pinova većine Arduina)
Znam da nekima od vas neće trebati više informacija osim ove i skice u prilogu u nastavku, ali ići ću u neke detalje za svakoga tko bi želio dodatnu pomoć.
Korak 3: Dodajte potrebne knjižnice u Arduino IDE
Arduino Sketch za pokretanje alarma koristi neke knjižnice koje prema zadanim postavkama već nisu instalirane na Arduino IDE.
Za dodavanje knjižnice RCSwitch u Arduino IDE. Otvorite Arduino IDE na gornjem izborniku, odaberite "Sketch", zatim na padajućem izborniku odaberite "Include library", a na sljedećem padajućem izborniku odaberite "Manage libraries". Zatim u okvir "Filtriraj pretraživanje" upišite "RCSW", sljedeći klik na instalaciju za "rc-switch by sui77"
Detaljne upute o dodavanju knjižnica na
Dok smo već tu, također moramo dodati knjižnice pod nazivom Time, TimeAlarms, DS1307RTC i LiquidCrystal_I2C, isti postupak kao gore, ali traženje naziva svake nove knjižnice i instalacija. Pogledajte gornje snimke zaslona ako niste sigurni koje biblioteke koristiti.
Sat realnog vremena DS3231 kompatibilan je i koristi biblioteku DS1307RTC.
Korak 4: Zatim moramo nabaviti kodove za vaše senzore
U nastavku sam dao predložak Arduino koda, ali ćete morati pronaći vrijednosti za svaki od vaših senzora i zalijepiti ih u kôd.
Postoje opsežne informacije o tome kako doći do ovih kodova na obje ove stranice;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Međutim, evo moje skraćene verzije;
Da biste dobili kodove koje šalju vaši senzori i daljinski privjesci za ključeve, priključite Arduino sastavljen u koraku 1 na računalo putem USB kabela i otvorite Arduino IDE. Zatim u Arduino IDE -u idite na padajući izbornik "Datoteka", a zatim idite na "Primjeri" pomičite se prema popisu primjera skica dok ne pronađete "RCSWITCH", zatim odaberite skicu "ReceiveDemo_Advanced" i prenesite je na Arduino. Nakon što se skica uspješno prenese, otvorite serijski monitor Arduino IDE -a sa još uvijek priključenim na računalo putem USB -a. Sada pokrenite prvi od senzora za koji želite dobiti kôd, izlaz iz RCSwitch će se pojaviti u prozoru serijskog monitora. Za ovaj projekt tražimo decimalne kodove označene na snimci zaslona 2. Morat ćete više puta aktivirati senzor tražeći decimalnu vrijednost koja se najčešće pojavljuje, ponekad će se različite vrijednosti pomiješati s pravom vrijednošću, što je uzrokovano ometanjem slučajnih radio valova ili drugih uređaja koji rade na istoj frekvenciji.
Zabilježite decimalni kod senzora za uporabu u sljedećem koraku. Ponovite za sve senzore i daljinske privjeske za ključeve koje želite koristiti u projektu, prateći koji kôd ide uz koji senzor. Ako koristite privjeske za ključeve za aktiviranje i deaktiviranje alarma, morat ćete zapamtiti različite kodove za gumb za aktiviranje i gumb za deaktiviranje svakog daljinskog upravljača.
Korak 5: Arduino predložak koda
Ispod je kopija mog Arduino koda kao.ino datoteke pod nazivom Wireless_Alarm. Možete ga kliknuti i trebao bi se otvoriti u Arduino IDE -u. Ja nisam programer moj kôd je djelomično sastavljen iz primjera pronađenih u Arduino IDE -u, vjerojatno nije osobito elegantan, ali radi i pouzdan je kroz duže vrijeme.
Ne zaboravite ponovno spremiti skicu nakon što unesete izmjene kako biste uključili kodove sa svojih vlastitih senzora.
Korak 6: Zalijepite kodove koje ste dobili u 5. koraku u Arduino skicu predloška
Sada koraci za prilagodbu koda za senzore i udaljene privjeske za ključeve koje koristite.
Ako otvorite skicu Wireless_Alarm u svom IDE -u, vidjet ćete u retku 111.
if (mySwitch.getReceivedValue () == 115166236) // Kod dugmeta Fob arm
Tamo gdje u postojećem kodu piše 115166236, morate zamijeniti taj broj decimalnim kodom za gumb ruke na vašem daljinskom privjesku za ključeve koji ste snimili u 5. koraku.
Na primjer, ako ste u koraku 5 dobili decimalni broj 1154321, promijenili biste redak 111 u sada čitanje;
if (mySwitch.getReceivedValue () == 1154321) // Kod dugmeta Fob arm
Slijedite isti postupak za redak 125.
if (mySwitch.getReceivedValue () == 115166234) // Kôd gumba za deaktiviranje oružja
Zamijenite 115166234 kodom gumba za deaktiviranje daljinskog upravljača koji ste snimili u 5. koraku.
Ako želite upotrijebiti više udaljenih privjesa za naoružavanje i razoružavanje, kopirajte i zalijepite retke od 111 do 136 onoliko puta koliko je potrebno, a zatim promijenite vrijednosti tako da odgovaraju drugim udaljenim privjescima za ključeve, ali najbolje je da počnete s jednim daljinskim upravljačem dok ne budete sigurni da ste izmijenili skica radi.
Sada kodiramo senzore alarma na skici u retku 140
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Radnja za uredski ormar pošiljatelja signala
Izvadite 1151640 i umetnite decimalnu vrijednost jednog od svojih alarmnih senzora.
Zatim na liniji 158.
lcd.print (F ("Uredski ormar")); // ispisati poruku na LCD -u kako biste znali koji je senzor aktiviran (i idite i pronađite provalnika:)
Promijenite Office ormar na ono što želite da se prikazuje na LCD -u za taj senzor. Na primjer, ako želite da čita kuhinjska vrata, neka linija izgleda ovako;
lcd.print (F ("Kuhinjsko dvorište")); // ispisati poruku na LCD -u kako biste znali koji je senzor aktiviran (i idite i pronađite provalnika:)
Imena ne smiju prelaziti 16 znakova.
Između redaka 165 i 187 nalazi se predložak za kopiranje i lijepljenje onoliko puta koliko je potrebno u retke izravno ispod 187. Zamijenite broj iza mySwitch.getReceivedValue () == decimalnim mjestom jednog od vaših drugih senzora koje ste snimili u koraku 5 i promijenite naziv unutar "" u lcd.print (F ("ime senzora ovdje")); na ime koje želite dati svom senzoru.
Ako ne koristite daljinske privjeske za ključeve za aktiviranje i deaktiviranje alarma, možete jednostavno zanemariti retke 111-136 ili staviti // na početak svakog od neželjenih redaka, a Arduino ih neće pročitati.
Ne zaboravite spremiti datoteku nakon što ste izvršili izmjene.
Korak 7: Prenesite izmijenjeni.ino na svoj Arduino i testirajte
Dok je Arduino i dalje spojen na računalo putem USB -a, prenesite skicu na Arduino ploču. Nakon što je prijenos uspješno završen, LCD bi trebao glasiti "Alarm On Disarmed". Pritisnite gumb za aktiviranje na daljinskom upravljaču i na LCD -u bi trebalo biti ispisano "Alarm On Armed", a LED bi trebao svijetliti kako bi vas obavijestio da je naoružan, sada aktivirajte senzor dok je naoružan, LCD bi trebao čitati Alarm nakon čega slijedi vremenska oznaka i na mjestu senzora, biper bi trebao zvučati 2 minute, osim ako ne pritisnete gumb za deaktiviranje. Ako ne dobijete ovaj rezultat, ponovno provjerite kodove koje ste dobili u koraku 5 i promjene koje ste unijeli u kôd u prethodnom koraku, također provjerite ožičenje svih komponenti. Ako LCD uopće ne čita, postoji podešavanje kontrasta na stražnjoj strani LCD modula. Nakon što je kontrast ispravno postavljen ako LCD i dalje ne čita, pokušajte promijeniti adresu LCD -a s 0x3f u 0x27 u retku 12 na skici. Rješavanje problema s LCD -om ovdje I2C LCD vodič
Korak 8: Postavljanje vremena na modulu RTC i promjena vremena uključivanja i isključivanja
Nadamo se da je vaš RTC već postavljen s ispravnim vremenom, ali ako niste otvorili IDE, odaberite "Datoteka", a zatim na padajućem izborniku kliknite "Primjeri", pomaknite se dolje do "DS1307RTC" i odaberite skicu "SetTime", preuzmite skicu u Arduino i on će postaviti sat u stvarnom vremenu s vremenom s vašeg računala. Zatim ćete morati ponovo učitati Wireless_Alarm skicu na svoj Arduino.
Wireless_Alarm.ino koji sam dao će prema zadanim postavkama postaviti alarm da se automatski uključuje svaku noć u 22.15 sati, a svako jutro u 6.00 sati. Da biste promijenili ta vremena, izmijenite skicu u retcima 71 i 72. Vrijeme je u zagradama nakon Alarm.alarmRepeat u formatu HH, MM, SS. promijenite ovo u bilo koje vrijeme koje vam odgovara.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // DISARM time
Alarm.alarmRepeat (22, 15, 0, EveningAlarm); // ARM vrijeme
Dakle, da biste promijenili vrijeme razoružavanja na 9.15 sati, a vrijeme uključivanja na 17.30 sati, kôd bi izgledao ovako
Alarm.alarmRepeat (9, 15, 0, MorningAlarm); // DISARM time
Alarm.alarmRepeat (17, 30, 0, EveningAlarm); // ARM vrijeme
Ako ne želite da se alarm aktivira i deaktivira, automatski // postavite ispred 2 retka i oni se neće koristiti.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // DISARM time
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // Arm time
Vrijeme za koje se oglašava zvučni signal alarma može se promijeniti mijenjanjem retka 22
const dugi interval = 120000; // za milis kašnjenje za duljinu vremena zvukova alarma
Interval je u milisekundama pa je 120000 = 120 sekundi, promjenom 120000 na 30000 alarm bi se oglasio 30 sekundi.
Elektromagnet za pokretanje sirene, stroboskopskog svjetla, jakog zvučnog signala itd. Također se može spojiti na pin 7 ili pin 9 i radit će za "interval" kako je gore navedeno. Imajte na umu da maksimalno opterećenje za Arduino pin ne smije prelaziti 40mA.
Korak 9: Dodatne napomene
Prilikom odabira prijemnog modula od 433 ili 315 MHz za Arduino trebali biste odabrati frekvenciju koja odgovara senzorima alarma koje namjeravate koristiti. Predlažem da kupite modul koji dolazi s malim spiralnim spiralnim antenama za najbolje performanse, alternativno 17,3 mm dugačke žičane antene također povećavaju performanse.
S 16x2 LCD modulom morate koristiti 4 -pinski I2C LCD da biste koristili upute i kôd koje ovdje dajem. Mogao bi se izraditi sa 16 -pinskim standardnim LCD -om, ali ovdje neće raditi s ožičenjem ili kodom.
Bežični alarmni prekidači, senzori pokreta i daljinski privjesci za ključeve trebali bi biti 433Mhz ili 315Mhz kako bi odgovarali prijemniku koji namjeravate koristiti i trebali bi koristiti kodiranje PT2262 ili EV1527.
Alarm se može proširiti i prilagoditi, već sam dodao SD karticu za snimanje pri aktiviranju senzora, izmijenio LCD da svijetli samo kada se pritisne gumb i dodao sirenu od 100 dB, ali ovdje nisam uključio pojedinosti kako bih članak zadržao kao što kraće i jednostavnije. Nadam se da će dijeljenje posla koji sam obavio na ovom alarmu biti od koristi drugima.
Rado odgovaram na sva pitanja.
Hvala.
Preporučeni:
Alarmni sustav za parkiranje vozila pomoću PIR senzora- Uradi sam: 7 koraka (sa slikama)
Sustav alarma za parkiranje vozila pomoću PIR senzora- Uradi sam: Jeste li ikada imali problema pri parkiranju vozila poput automobila, kamiona, motocikla ili bilo kojeg drugog, tada ću vam u ovom uputstvu pokazati kako riješiti ovaj problem pomoću jednostavnog alarma za parkiranje vozila sustav pomoću PIR senzora. U ovom sustavu koji
Kako napraviti pametni alarmni sustav za otkrivanje poplava pomoću Raspberry Pi i argona čestica: 6 koraka
Kako napraviti pametni alarmni sustav za otkrivanje poplava pomoću Raspberry Pi -a i čestica argona: Standardni senzori za poplave izvrsni su za sprječavanje velikih oštećenja u vašem domu ili na radnom mjestu. Ali otežava prisustvo alarmu ako niste kod kuće. Naravno mogli biste ih kupiti pametno Ovaj sustav alarma za poplavu otkriva bilo kakvu tekućinu i aktivira alarm
Prototip - alarmni uređaj pomoću senzora ljudskog dodira (KY -036): 4 koraka
Prototip - alarmni uređaj pomoću senzora ljudskog dodira (KY -036): U ovom projektu osmislit ću alarmni uređaj koji će se aktivirati dodirom. Za ovaj projekt trebat će vam senzor ljudskog dodira (KY-036). Dopustite mi da vam dam uvid u ovaj projekt. Kao što možete vidjeti na gornjim slikama, osjet dodira
Pool Pi Guy - Alarmni sustav s AI -om i nadzor bazena pomoću Raspberry Pi: 12 koraka (sa slikama)
Pool Pi Guy - Alarmni sustav s AI -jem i nadzor bazena pomoću Raspberry Pi: Imati bazen kod kuće zabavno je, ali dolazi s velikom odgovornošću. Moja najveća briga je praćenje je li netko u blizini bazena bez nadzora (osobito mlađa djeca). Najveća me smetnja brine što vodovod u bazenu nikada ne ide ispod ulaza pumpe
Bežični sustav prijenosa energije/H-most pomoću četiri Mosfeta: 5 koraka
Bežični sustav prijenosa energije/H-most pomoću četiri mosfeta. U ovom projektu ćemo napraviti bežični krug prijenosa energije pomoću topologije H-mosta, četiri mosfeta se koriste za stvaranje H-mosta, za kontrolu 4 mosfeta koristili smo 2 x IR2110 MOSFET vozač ic