Sadržaj:
- Supplies
- Korak 1: Potrošni materijal
- Korak 2: Povežite Ardunio i module kako je prikazano na slici
- Korak 3: Dodajte potrebne biblioteke 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 koraku 5 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 sistem pomoću postojećih senzora: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Ovaj projekt može se izgraditi za oko pola sata po cijeni od oko 20,00 USD ako imate postojeće senzore za bežični alarm od 433 MHz ili 315 MHz.
To može biti i potpuno novi projekt s bežičnim alarmnim senzorima, poput infracrvenih detektora pokreta i trska, lako i jeftino dostupnih 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 sistem sa bežičnim senzorima i bili zadovoljni s tim, međutim, kada je 2G/GSM mreža isključena tamo gdje živim, ostao mi je alarmni sistem koji sam mogao više ne programiraju niti čak postavljaju vrijeme na njemu. Jednog dana, dok sam se pitao što bih mogao učiniti kako bi moj alarm ponovo postao 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 sistema koji bi mogao zamijeniti moj postojeći alarm i koji bi također pružio povećanu funkcionalnost. Jedan od problema sa starim alarmom nikada nije bio tačan saznanje koji je od 25 senzora isključen, dodavanjem LCD ekrana u novu verziju alarma sada dobivam tekst na LCD -u koji pokazuje koji je senzor tačno 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 postavljeno doba dana.
Supplies
Pogledajte dodatne napomene na kraju kako biste bili sigurni da koristite ispravnu verziju ovih dijelova.
Arduino Uno ili slično
Modul prijemnika 433 ili 315 MHz za Arduino
DS3231 Modul sata u realnom vremenu za Arduino
I2C 16x2 LDC modul za Arduino
Bežični alarmni trska, prekidači, senzori pokreta i daljinski privjesci po želji
Piezo zujalica
LED i 220 ohmski otpornik
Oglasna ploča (opcionalno, ali preporučeno)
Prikladno napajanje za Arduino
Kratkospojne žice itd
PC sa instaliranim Arduino IDE -om
Osnovno znanje o Arduinu
Korak 1: Potrošni materijal
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 pinova GND i AREF 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 biblioteke u Arduino IDE
Arduino Sketch za pokretanje alarma koristi neke biblioteke koje prema zadanim postavkama već nisu instalirane na Arduino IDE -u.
Za dodavanje biblioteke RCSwitch u Arduino IDE. Otvorite Arduino IDE u gornjem izborniku odaberite "Sketch", zatim na padajućem izborniku odaberite "Include library", a zatim sa sljedećeg padajućeg izbornika odaberite "Manage libraries". Zatim u okvir "Filtriraj pretraživanje" upišite "RCSW", sljedeći klik na instalaciju za "rc-switch by sui77"
Detaljna uputstva o dodavanju biblioteka na
Dok smo već tu, također moramo dodati biblioteke pod nazivom Time, TimeAlarms, DS1307RTC i LiquidCrystal_I2C, isti postupak kao gore, ali traženje imena svake nove biblioteke i instalacija. Pogledajte snimke zaslona iznad ako niste sigurni koje biblioteke koristiti.
Sat za realno vrijeme 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 lokacije;
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" listajte prema dolje popis primjera skica dok ne pronađete "RCSWITCH", zatim odaberite skicu "ReceiveDemo_Advanced" i postavite je na Arduino. Nakon što se skica uspješno otvori, 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 talasa ili drugih uređaja koji rade na istoj frekvenciji.
Zabilježite decimalni kod senzora za upotrebu 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 priveske za ključeve za aktiviranje i deaktiviranje alarma, morat ćete zapamtiti različite kodove za dugme za aktiviranje i dugme za deaktiviranje na svakom daljinskom upravljaču.
Korak 5: Arduino predložak koda
Ispod je kopija mog Arduino koda kao.ino datoteke pod nazivom Wireless_Alarm. Možete kliknuti na nju i trebala bi se otvoriti u Arduino IDE -u. Nisam programer moj kôd je djelomično sastavljen iz primjera pronađenih u Arduino IDE -u, vjerovatno nije posebno elegantan, ali radi i pouzdan je tokom dužeg vremenskog perioda.
Ne zaboravite ponovo sačuvati skicu nakon što unesete promjene tako da uključuju kodove sa vaših vlastitih senzora.
Korak 6: Zalijepite kodove koje ste dobili u koraku 5 u Arduino skicu predloška
Sada koraci za prilagođavanje 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, trebate zamijeniti taj broj decimalnim kodom za dugme na ruci vašeg daljinskog privjeska za ključeve koje ste snimili u 5. koraku.
Na primjer, ako ste u koraku 5 dobili decimalni broj 1154321, promijenili biste red 111 u sada čitanje;
if (mySwitch.getReceivedValue () == 1154321) // Kod dugmeta Fob arm
Slijedite istu proceduru za liniju 125.
if (mySwitch.getReceivedValue () == 115166234) // Kod dugmeta za deaktiviranje deaktiviranja
Zamijenite 115166234 kodom vašeg dugmeta za deaktiviranje daljinskog upravljača koji ste snimili u 5. koraku.
Ako želite koristiti više udaljenih privjesaka za naoružavanje i razoružavanje, kopirajte i zalijepite redove od 111 do 136 koliko god je potrebno tada 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 vaših alarmnih senzora.
Zatim na liniji 158.
lcd.print (F ("Uredski ormar")); // odštampajte poruku na LCD -u da znate koji je senzor aktiviran (i idite i pronađite provalnika:)
Promijenite Office ormar na ono što želite da bude prikazano na LCD -u za taj senzor. Na primjer, ako želite da čita kuhinjska vrata, neka linija izgleda ovako;
lcd.print (F ("Kuhinjsko dvorište")); // odštampajte poruku na LCD -u da znate koji je senzor aktiviran (i idite i pronađite provalnika:)
Imena ne smiju prelaziti 16 znakova.
Između redova 165 i 187 nalazi se predložak za kopiranje i lijepljenje onoliko puta koliko je potrebno u redove neposredno ispod 187. Zamijenite broj iza mySwitch.getReceivedValue () == decimalnim brojem jednog od vaših drugih senzora koji ste zabilježili u koraku 5 i promijenite ime 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 svake od neželjenih linija i Arduino ih neće pročitati.
Ne zaboravite spremiti datoteku nakon što unesete promjene.
Korak 7: Prenesite izmijenjeni.ino na svoj Arduino i testirajte
Dok je Arduino i dalje povezan s računarom putem USB -a, prenesite skicu na Arduino ploču. Nakon što se prijenos uspješno završi, na LCD -u bi trebalo biti prikazano "Alarm On Disarmed". Pritisnite dugme za aktiviranje na daljinskom upravljaču i na LCD -u bi trebalo biti prikazano "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 lokaciji senzora, biper bi trebao zvučati 2 minute, osim ako ne pritisnete dugme za deaktiviranje. Ako ne dobijete ovaj rezultat, ponovo 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 podešen ako LCD i dalje ne čita, pokušajte promijeniti adresu LCD -a sa 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 svoj 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 i isključuje u 6.00 svakog jutra. Da biste promijenili ovo vrijeme, izmijenite skicu u redovima 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 i vrijeme uključivanja na 17.30, kod 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 reda 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 promjenom linije 22
const long interval = 120000; // za milis kašnjenje za vrijeme zvuka alarma
Interval je u milisekundama pa je 120000 = 120 sekundi, promjenom 120000 na 30000 alarm bi se oglasio 30 sekundi.
Elektromagnet za pokretanje sirene, stroboskopsko svjetlo, zvučni signal velike jačine zvuka 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 sa malim spiralnim spiralnim antenama za najbolje performanse, alternativno 17,3 mm dugačke antene sa žicom takođe povećavaju performanse.
Sa 16x2 LCD modulom morate koristiti 4 -pinski I2C LCD da biste koristili upute i kôd koje ovdje dajem, mogao bi se napraviti 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 trebaju biti 433Mhz ili 315Mhz kako bi odgovarali prijemniku koji namjeravate koristiti i trebali bi koristiti PT2262 ili EV1527 kodiranje.
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 dugme i dodao sirenu od 100 dB, ali ovdje nisam uključio detalje kako bih članak zadržao kao što je moguće 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čuje se:
Alarmni sistem za parkiranje vozila pomoću PIR senzora- Uradi sam: 7 koraka (sa slikama)
Alarmni sistem za parkiranje vozila pomoću PIR senzora- Uradi sam: Jeste li ikada imali problema prilikom parkiranja vozila poput automobila, kamiona, motornog ili bilo kojeg drugog, tada ću vam u ovom uputstvu pokazati kako riješiti ovaj problem pomoću jednostavnog alarma za parkiranje vozila sistem koji koristi PIR senzor. U ovom sistemu koji
Prototip - alarmni uređaj pomoću senzora za dodir (KY -036): 4 koraka
Prototip - alarmni uređaj pomoću senzora ljudskog dodira (KY -036): U ovom projektu dizajnirat ć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 projekat. Kao što možete vidjeti na gornjim slikama, osjet dodira
Bežični daljinski upravljač pomoću NRF24L01 modula od 2,4 GHz sa Arduinom - Nrf24l01 4 -kanalni / 6 -kanalni prijemnik odašiljača za Quadcopter - Rc helikopter - Rc avion pomoću Arduina: 5 koraka (sa slikama)
Bežični daljinski upravljač pomoću NRF24L01 modula od 2,4 GHz sa Arduinom | Nrf24l01 4 -kanalni / 6 -kanalni prijemnik odašiljača za Quadcopter | Rc helikopter | Rc avion pomoću Arduina: Za upravljanje Rc automobilom | Quadcopter | Dron | RC avion | RC brod, uvijek nam je potreban prijemnik i odašiljač, pretpostavimo da za RC QUADCOPTER trebamo 6 -kanalni odašiljač i prijemnik, a ta vrsta TX -a i RX -a je preskupa, pa ćemo napraviti jedan na našem
Pool Pi Guy - Alarmni sistem s AI -om i nadzor bazena pomoću Raspberry Pi: 12 koraka (sa slikama)
Pool Pi Guy - Alarmni sistem s AI -om i nadzor bazena pomoću Raspberry Pi -a: Imati bazen kod kuće je zabavno, ali s velikom odgovornošću. Moja najveća briga je praćenje ako je neko u blizini bazena bez nadzora (posebno mlađa djeca). Najveća me smetnja brine što vodovod u bazenu nikada ne ide ispod ulaza pumpe
Metode otkrivanja razine vode Arduino pomoću ultrazvučnog senzora i Funduino senzora vode: 4 koraka
Metode otkrivanja razine vode Arduino pomoću ultrazvučnog senzora i Funduino senzora vode: U ovom projektu ću vam pokazati kako stvoriti jeftin detektor vode pomoću dvije metode: 1. Ultrazvučni senzor (HC-SR04) .2. Funduino senzor vode