Mündəricat:
- Təchizat
- Addım 1: Təchizat
- Addım 2: Ardunio və Modulları Şəkildə göstərildiyi kimi bağlayın
- Addım 3: Arduino IDE -yə Lazımi Kitabxanalar əlavə edin
- Addım 4: Sonra Sensorlarınızın Kodlarını Almalıyıq
- Addım 5: Arduino Kod Şablonu
- 6 -cı addım: 5 -ci addımda əldə etdiyiniz kodları Arduino eskiz şablonuna yapışdırın
- Addım 7: Dəyişdirilmiş.ino yükləyin Arduino və Test edin
- Addım 8: RTC Modulunda Saatı Ayarlama və Qol və Silahsızlanma Zamanlarını Dəyişdirmə
- Addım 9: Əlavə Qeydlər
Video: Mövcud Sensorlardan istifadə edən Arduino Simsiz Siqnal Sistemi: 9 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Mövcud 433Mhz və ya 315Mhz simsiz siqnal sensorlarınız varsa, bu layihə təxminən 20.00 dollar dəyərində təxminən yarım saat ərzində inşa edilə bilər.
İnfraqırmızı hərəkət detektorları və qamış açarları kimi simsiz siqnalizasiya sensorları olan, internetdə asanlıqla və ucuz satılan yeni bir layihə də ola bilər. Yalnız PT2262 və ya EV1527 kodlaşdırmasını istifadə edən 433Mhz və ya 315Mhz sensorlar axtarın.
Əminəm ki, mənim kimi simsiz sensorlar olan bir GSM/2G siqnalizasiya sistemi almış və bundan məmnun olan bir çox insan var, amma yaşadığım yerdə 2G/GSM şəbəkəsi söndürüldükdə, edə biləcəyim bir siqnalizasiya sistemi qalmışdı. artıq proqram etmir və hətta vaxtını təyin etmir. Bir gün həyəcanımı yenidən işlək hala gətirmək üçün nə edə biləcəyimi düşünərkən bir Arduinonun sensorlardan siqnal ala biləcəyini yoxlamaq ağlıma gəldi. Gücləndirilə bilən https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ ilə qarşılaşdım və bəzi təcrübələrdən sonra mövcud sensorlarımdan siqnalları ala biləcəyimi təyin etdim. Mövcud alarmımı əvəz edə biləcək və eyni zamanda daha çox funksionallıq təmin edəcək bir siqnalizasiya sistemi qurma prosesinə başladım. Köhnə həyəcan siqnalı ilə bağlı problemlərdən biri 25 sensordan hansının tam olaraq söndüyünü bilmək deyildi, yeni siqnal quruluşuma bir LCD ekran əlavə edərək indi LCD -də hansı sensorun işə salındığını göstərən mətn alıram. Yeni siqnal hələ də mövcud simsiz açar sözlərimlə əllə silahlandırıla bilər və günün əvvəlcədən təyin edilmiş vaxtlarında avtomatik olaraq silahlanmasına və tərksilah edilməsinə imkan verən real vaxt saatına malikdir.
Təchizat
Bu hissələrin düzgün versiyasını istifadə etdiyinizə əmin olmaq üçün sonda əlavə qeydlərə baxın.
Arduino Uno və ya bənzəri
Arduino üçün 433 və ya 315 MHz alıcı modulu
Arduino üçün DS3231 Real Time Clock modulu
Arduino üçün I2C 16x2 LDC modulu
İstədiyiniz kimi simsiz siqnalizasiya qamışı açarları, hərəkət sensorlar və uzaqdan idarəetmə düymələri
Piezo səs siqnalı
LED və 220 ohm müqavimət
Çörək paneli (isteğe bağlı, lakin tövsiyə olunur)
Arduino üçün uyğun enerji təchizatı
Kabel telləri və s
Arduino IDE quraşdırılmış kompüter
Arduino haqqında əsas biliklər
Addım 1: Təchizat
Bu layihə üçün lazım olacaq təchizatların yuxarıdakı bəzi şəkilləri
Addım 2: Ardunio və Modulları Şəkildə göstərildiyi kimi bağlayın
Arduino və yerin 5 -ci pinləri arasında piezo
Arduino pin 8 ilə 220 ohm müqavimətə qədər LED
433 və ya 315 Mhz qəbuledicisi, VCC -dən 5V -a, GND -dən yerə və Arduino -nun pin2 -yə 2 məlumat pinindən biri
I2C 16X2 LCD Modulu VCC -dən 5V -a, GND -dən yerə, SCL SDA pinləri Arduinonun SCL SDA -na (pin A5 SCL, pin A4 SDA -ya)
DS3231 RTC Modulu VCC -dən 5V -ə, GND -dən yerə, SCL SDA pinləri Arduinonun SCL SDA -na (əksər Arduino -nun GND və AREF pinlərinin üstündə yerləşən 2 -ci dəst var)
Bilirəm ki, bəzilərinizin bundan əlavə məlumatlara və aşağıda göstərilən eskizə ehtiyac duymayacaqsınız, amma bir az da kömək istəyən hər kəs üçün bir az daha ətraflı məlumat verəcəyəm.
Addım 3: Arduino IDE -yə Lazımi Kitabxanalar əlavə edin
Siqnalı işə salmaq üçün Arduino Sketch, standart olaraq Arduino IDE -də quraşdırılmamış bəzi kitabxanalardan istifadə edir.
RCSwitch kitabxanasını Arduino IDE -yə əlavə etmək üçün. Üst menyuda Arduino IDE -ni açın "Sketch" seçin, sonra açılan menyudan "Kitabxana daxil et" seçin və növbəti açılandan "Kitabxanaları idarə et" seçin. Sonra "Axtarışınızı Filtr edin" qutusuna "RCSW" yazın, sonra "sui77 ilə rc-switch" üçün quraşdırma düyməsini basın.
Kitabxanaların əlavə edilməsi ilə bağlı ətraflı təlimat
Hazır olduğumuz zaman, yuxarıdakı kimi eyni prosedur olan Time, TimeAlarms, DS1307RTC və LiquidCrystal_I2C adlı kitabxanaları da əlavə etməliyik, lakin hər yeni kitabxananın adını axtarırıq və quraşdırırıq. Hansı kitabxanalardan istifadə edəcəyinizdən əmin deyilsinizsə yuxarıdakı ekran görüntülərinə baxın.
DS3231 real vaxt saatı DS1307RTC kitabxanası ilə uyğun gəlir və istifadə edir.
Addım 4: Sonra Sensorlarınızın Kodlarını Almalıyıq
Aşağıda Arduino kodunun şablonunu verdim, ancaq hər bir sensörünüzün dəyərlərini tapıb koda yapışdırmalısınız.
Bu saytların hər ikisində bu kodları necə əldə etmək barədə geniş məlumat var;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Ancaq burada mənim qısaldılmış versiyam var;
Sensorlarınızın və uzaqdan idarə olunan fobların göndərdiyi kodları əldə etmək üçün Arduino -nu 1 -ci addımda yığılmış şəkildə USB kabel vasitəsilə PC -yə qoşun və Arduino IDE -ni açın. Arduino IDE -də "Fayl" açılan menyusuna gedin, sonra "Nümunələr" bölməsinə gedin və "RCSWITCH" tapana qədər nümunə eskizlər siyahısını aşağı çəkin, sonra "ReceiveDemo_Advanced" eskizini seçin və Arduino -ya yükləyin. Eskiz uğurla yükləndikdən sonra Arduino IDE -nin seriyalı monitorunu kompüterinizə USB vasitəsilə qoşularaq açılır. İndi kodu almaq istədiyiniz sensorlardan birincisini işə salın, RCSwitch -in çıxışı serial monitor pəncərəsində görünəcək. Bu layihə üçün ekran görüntüsü 2 -də göstərildiyi kimi ondalık kodları axtarırıq. Sensoru ən çox görünən ondalık dəyərini bir neçə dəfə işə salmalısınız, bəzən əsl dəyərlə qarışdırılan fərqli dəyərlər olacaq. təsadüfi radio dalğalarının və ya eyni tezlikdə işləyən digər cihazların müdaxiləsi ilə.
Növbəti addımda istifadə etmək üçün sensorun ondalık kodunu qeyd edin. Layihədə istifadə etmək istədiyiniz bütün sensorlar və uzaqdan açılan foblar üçün təkrarlayın, hansı kodun hansı sensorla getdiyini izləyin. Siqnalizasiyanı silahlandırmaq və tərksilah etmək üçün açar tuşlardan istifadə edirsinizsə, hər bir uzaqdan idarəetmə düyməsinin və silahsızlaşdırma düyməsinin fərqli kodlarını qeyd etməlisiniz.
Addım 5: Arduino Kod Şablonu
Aşağıda Wireless_Alarm adlı.ino faylı olaraq Arduino kodumun bir nüsxəsi verilmişdir. Bunun üzərinə vura bilərsiniz və Arduino IDE -də açılmalıdır. Proqramçı deyiləm ki, kodum qismən Arduino IDE -də olan nümunələrdən toplanmışdır, yəqin ki, o qədər də zərif deyil, amma işləyir və uzun müddətdir etibarlıdır.
Şəxsi sensorlardakı kodları daxil etmək üçün dəyişikliklər etdikdən sonra eskizi yenidən saxlamağı unutmayın.
6 -cı addım: 5 -ci addımda əldə etdiyiniz kodları Arduino eskiz şablonuna yapışdırın
İndi istifadə etdiyiniz sensorlar və uzaqdan açılan foblar üçün kodu fərdiləşdirmək üçün addımlar.
IDE -də Wireless_Alarm eskizini açsanız, 111 -ci sətirdə görəcəksiniz.
if (mySwitch.getReceivedValue () == 115166236) // Fob qolu düymə kodu
Mövcud kodda 115166236 yazıldığı yerdə, 5 nömrəli addımda qeyd etdiyiniz uzaqdan açma düyməsinin qol düyməsi üçün bu rəqəmi ondalık kodu ilə əvəz etməlisiniz.
Məsələn, 5 -ci addımda ondalık 1154321 varsa, 111 sətirini indiyə qədər oxumaq üçün dəyişdirərdiniz;
if (mySwitch.getReceivedValue () == 1154321) // Fob qolu düymə kodu
125 -ci xətt üçün eyni proseduru edin.
if (mySwitch.getReceivedValue () == 115166234) // Fob tərksilah düyməsinin kodu
Addım 5 -də qeyd etdiyiniz uzaqdan idarəetmə düyməsini söndürmə düyməsinin kodunu 115166234 ilə əvəz edin.
Silahlandırmaq və tərksilah etmək üçün birdən çox uzaqdan istifadə etmək istəyirsinizsə, 111 -dən 136 -dək sətirləri lazım olduğu qədər kopyalayın və yapışdırın, sonra dəyərləri digər uzaqdan açar düymələrinizə uyğun olaraq dəyişdirin, ancaq ən yaxşısı dəyişdirildiyinizə əmin olana qədər bir pultla başlamaqdır. eskiz işləyir.
İndi 140 -cı sətirdəki eskizdəki siqnalizasiya sensorlarını kodlaşdırmaq üçün
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Siqnal göndərən ofis şkafı üçün hərəkət
1151640 çıxarın və həyəcan sensorlarınızdan birinin ondalık dəyərini daxil edin.
Sonra 158 xəttində.
lcd.print (F ("Ofis şkafı")); // hansı sensorun işə salındığını bilmək üçün lcd -ə mesaj yazın (və gedin oğrunu tapın:)
Ofis şkafını bu sensor üçün LCD -də nə vaxt görmək istəsəniz dəyişdirin. Məsələn, mutfak qapısının oxumasını istəyirsinizsə, xəttin belə görünməsini təmin edin;
lcd.print (F ("Mətbəx qapısı")); // hansı sensorun işə salındığını bilmək üçün lcd -ə mesaj yazın (və gedin oğrunu tapın:)
Adlar 16 işarədən çox olmamalıdır.
165 ilə 187 -ci sətirlər arasında, 187 -nin altındakı sətirlərə lazım olduğu qədər çox dəfə kopyalayıb yapışdırmaq üçün bir şablon var. MySwitch.getReceivedValue () == ardındakı rəqəmi 5 -ci addımda qeyd etdiyiniz digər sensorlarınızın onluğu ilə əvəz edin. və lcd.print (F ("sensornamehere")) "" daxilində adı dəyişdirin; sensorunuzu vermək istədiyiniz ada.
Siqnalizasiyanızı silahlandırmaq və tərksilah etmək üçün uzaqdan açar düymələrdən istifadə etmirsinizsə, 111-136-cı sətirləri görməməzlikdən gələ bilməzsiniz və ya istənməyən sətirlərin hər birinə // yaza bilərsiniz və Arduino onları oxumayacaq.
Dəyişikliklər etdikdən sonra faylı saxlamağı unutmayın.
Addım 7: Dəyişdirilmiş.ino yükləyin Arduino və Test edin
Arduino hələ də kompüterə USB ilə qoşulduqda, eskizi Arduino lövhəsinə yükləyin. Yükləmə uğurla başa çatdıqdan sonra LCD "Silahsızlaşdırma Alarmı" yazmalıdır. Uzaqdan idarəetmə düyməsindəki qol düyməsini basın və LCD "Silahlı Siqnal" yazmalı və LED silahlı olduğunu bildirmək üçün yandırılmalıdır, indi silahlı ikən bir sensoru işə salın, LCD Siqnalın ardınca vaxt möhürünü və Sensorun yerləşdiyi yerdən tərksilah etmə düyməsini basmadığınız müddətdə səs siqnalı 2 dəqiqə ərzində səslənməlidir. Bu nəticəni əldə etmirsinizsə, 5 -ci addımda aldığınız kodları və əvvəlki addımda koda etdiyiniz dəyişiklikləri yenidən yoxlayın, eyni zamanda bütün komponentlərin naqillərini yenidən yoxlayın. LCD ümumiyyətlə oxumursa, LCD modulunun arxa tərəfində bir kontrast tənzimlənməsi var. LCD hələ də oxumursa, kontrast düzgün qurulduqda, eskizin 12 -ci sətrində LCD -nin ünvanını 0x3f -dən 0x27 -ə dəyişməyə çalışın. LCD problemlərinin həlli burada I2C LCD təlimatı
Addım 8: RTC Modulunda Saatı Ayarlama və Qol və Silahsızlanma Zamanlarını Dəyişdirmə
Ümid edirik ki, RTC -də artıq düzgün vaxt təyin olunmuşdu, ancaq IDE -ni açmasanız 'Fayl' seçin və açılan menyudan "Nümunələr" düyməsini basın, "DS1307RTC" -ə enin və "SetTime" eskizini seçin, eskizi yükləyin Arduino və real vaxt saatını kompüterinizdəki vaxtla təyin edəcək, sonra Wireless_Alarm eskizini Arduino -ya yenidən yükləməlisiniz.
Təmin etdiyim Wireless_Alarm.ino, həyəcan siqnalını hər gecə saat 10.15 -də avtomatik olaraq işə salacaq və hər səhər 6.00 -da tərksilah edəcək. Bu vaxtları dəyişdirmək üçün 71 və 72 -ci sətirlərdəki Sketch -i dəyişdirin. Saat Alarm.alarmReat -dan sonra HH, MM, SS formatında mötərizədədir. bunu sizə uyğun olan vaxta dəyişin.
Siqnal.alarmTəkrarla (6, 00, 0, Səhər Siqnalı); // DISARM zamanı
Alarm.alarmTəkrarla (22, 15, 0, EveningAlarm); // Qol vaxtı
Beləliklə, tərksilah vaxtını 9.15 -ə və silahlanma vaxtını 17.30 -a dəyişdirmək üçün kod belə görünür
Siqnal.alarmTəkrarla (9, 15, 0, Səhər Siqnalı); // DISARM zamanı
Alarm.alarmTəkrarla (17, 30, 0, EveningAlarm); // Qol vaxtı
Siqnalın silahlanmasını və tərksilah edilməsini istəmirsinizsə // avtomatik olaraq 2 xəttin önünə // qoyun və istifadə edilməyəcək.
//Alarm.alarmTəkrarla (6, 00, 0, Səhər Siqnalı); // DISARM vaxtı
//Alarm.alarmTəkrarla (22, 15, 0, EveningAlarm); // Silah vaxtı
Siqnal siqnalının səslənmə vaxtı 22 -ci xətt dəyişdirilərək dəyişdirilə bilər
const uzun interval = 120000; // millis gecikməsi üçün uzun müddət həyəcan siqnalı verir
Aralıq milisaniyədədir, buna görə 120000 = 120 saniyə, 120000 -dən 30000 -ə dəyişdirilərkən 30 saniyə ərzində həyəcan siqnalı veriləcək.
Siren, fənər işığı, yüksək səs siqnalı və s. İşlətmək üçün bir solenoid 7 və ya pin 9 -a da bağlana bilər və yuxarıda göstərildiyi kimi "interval" üçün işləyəcək. Bir Arduino pininin maksimum yükünün 40mA -dan çox olmamasını unutmayın.
Addım 9: Əlavə Qeydlər
Arduino üçün 433 və ya 315 MHz qəbuledici modul seçərkən istifadə etmək istədiyiniz siqnalizasiya sensorlarına uyğun tezliyi seçməlisiniz. Ən yaxşı performans üçün kiçik bir spiral anten ilə birlikdə gələn bir modul almağı təklif edirəm, alternativ olaraq 17.3 mm uzunluğunda düz telli antenlər də performansı artırır.
16x2 LCD modulu ilə burada verdiyim təlimatları və kodu istifadə etmək üçün 4 pinli I2C LCD istifadə etməlisiniz, 16 pinli standart LCD ilə hazırlana bilər, ancaq burada kabel və ya kodla işləməyəcəkdir.
Simsiz siqnallı qamış açarları, hərəkət sensorlar və uzaqdan idarəetmə düymələri istifadə etmək istədiyiniz alıcıya uyğun 433Mhz və ya 315Mhz olmalıdır və PT2262 və ya EV1527 kodlaşdırmasını istifadə etməlidir.
Siqnal genişləndirilə və uyğunlaşdırıla bilər, sensorlar işə salındıqda yazmaq üçün bir SD kart əlavə etdim, LCD -ni yalnız bir düyməni basıldıqda yanacaq şəkildə dəyişdirdim və 100dB siren əlavə etdim, ancaq məqaləni olduğu kimi saxlamaq üçün detalları bura daxil etmədim. qısa və mümkün qədər sadə. Ümid edirəm ki, bu həyəcan siqnalı ilə bağlı gördüyüm işləri paylaşmaq başqalarına faydalı olacaq.
Hər hansı bir suala cavab verməkdən məmnunam.
Təşəkkürlər.
Tövsiyə:
HC12 Simsiz Modulundan istifadə edən Simsiz Arduino Robotu: 7 addım
HC12 Simsiz Modulundan istifadə edən Simsiz Arduino Robotu: Hey uşaqlar, yenidən xoş gəlmisiniz. Əvvəlki yazımda, H Körpü Devrinin nə olduğunu, L293D motor sürücüsü IC, yüksək cərəyanlı motor sürücülərini idarə etmək üçün piggybacking L293D Motor sürücüsü IC və öz L293D motor Sürücü Kartını necə dizayn edə biləcəyinizi izah etdim
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan - Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı - Rc Helikopteri - Arduino istifadə edərək Rc təyyarəsi: 5 addım (şəkillərlə)
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan | Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı | Rc Helikopteri | Arduino istifadə edərək Rc Plane: Rc avtomobili idarə etmək | Quadcopter | Drone | RC təyyarəsi | RC qayığı, həmişə bir alıcıya və ötürücüyə ehtiyacımız var, RC QUADCOPTER üçün 6 kanallı bir vericiyə və alıcıya ehtiyacımız olduğunu və bu tip TX və RX -in çox bahalı olduğunu düşünürük, buna görə də özümüzdə hazırlayacağıq
Ultrasonik Sensorlardan İstifadə Edən Robotdan Maneə: 9 Adım (Şəkillərlə)
Ultrasonik sensorlar istifadə edərək əngəllərdən qaçan robot: Ultrasonik sensorlar (HC SR 04) və Arduino Uno lövhəsini istifadə edən maneələrdən qaçınan robot haqqında sadə bir layihədir. dərs layihəsi, paylaşaq
Super Kiçik Arduino Uyğun İdarə Heyətindən istifadə edən Kiçik Siqnal Sistemi!: 10 addım
Super Kiçik Arduino Uyğun İdarə Heyətindən istifadə edən Kiçik Siqnal Sistemi !: Salam, bu gün kiçik bir sərin layihə hazırlayacağıq. Özü ilə qarşısındakı bir cisim arasındakı məsafəni ölçən kiçik bir siqnalizasiya cihazı quracağıq. Və obyekt müəyyən bir məsafəni keçdikdə, cihaz sizə bu barədə məlumat verəcək
Arduino Uno və Sensorlardan istifadə edən PC Mouse Emulator .: 8 Addım
Arduino Uno və Sensorlardan istifadə edən PC Mouse Emulator .: Bu Təlimat kitabında, Siçan emulyatorunun prototipini quracağıq. Siçan emulyatoru, siçanınız düzgün işləmədiyi zaman istifadə edilə bilən bir cihazdır. Hərəkətlər. Layihə bir ul