Mundarija:
- Ta'minotlar
- 1 -qadam: materiallar
- 2 -qadam: Ardunio va modullarni rasmda ko'rsatilganidek ulang
- 3 -qadam: Arduino IDE -ga kerakli kutubxonalarni qo'shing
- 4 -qadam: Endi biz sensorlar kodlarini olishimiz kerak
- 5 -qadam: Arduino kod shablon
- 6 -qadam: 5 -qadamda olingan kodlarni Arduino eskiz shabloniga joylashtiring
- 7 -qadam: O'zgartirilgan.ino -ni Arduino -ga yuklang va test qiling
- 8 -qadam: RTC modulida vaqtni belgilash va qurol va qurolsizlanish vaqtini o'zgartirish
- 9 -qadam: Qo'shimcha eslatmalar
Video: Arduino simsiz signal tizimi mavjud sensorlar yordamida: 9 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Agar sizda 433 MGts yoki 315 MGts simsiz signal sensorlar mavjud bo'lsa, bu loyihani taxminan 20.00 dollar atrofida yarim soat ichida qurish mumkin.
Bu, shuningdek, infraqizil harakat detektorlari va qamish kalitlari kabi simsiz signal sensorlar bilan jihozlangan yangi onlayn loyiha bo'lishi mumkin, bu Internetda oson va arzon. PT2262 yoki EV1527 kodlashni ishlatadigan 433 MGts yoki 315 MGts datchiklarni qidiring.
Ishonchim komilki, men kabi simsiz sensorlar bilan GSM/2G signalizatsiya tizimini sotib olgan va bundan xursand bo'lgan odamlar ko'p, lekin men yashaydigan joyda 2G/GSM tarmog'i o'chirilganida, menda signal tizimi qolgandi. endi dasturlamaydi yoki hatto vaqtini belgilamaydi. Bir kuni signalni qayta ishga tushirish uchun nima qilishim kerakligi haqida o'ylayotganda, men Arduino datchiklardan signal qabul qila oladimi -yo'qligini tekshirib ko'rdim. Men o'zgarmas https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ qoqilib qoldim va ba'zi tajribalardan so'ng signallarni mavjud sensorlarimdan olishim mumkinligini aniqladim. Men signalni o'rnata oladigan signal tizimini yaratish jarayonini boshladim va bundan tashqari funksionallikni oshirdim. Eski signal bilan bog'liq muammolardan biri, 25 ta sensorning qaysi biri o'chirilganligini aniq bilish emas edi, chunki men yangi signalli qurilmamga LCD displey qo'shib, LCD displeyida aynan qaysi sensor faollashtirilganligini ko'rsataman. Yangi signal hali ham mavjud simsiz kalit foblar tomonidan qo'lda qurollanishi mumkin va u kunning oldindan belgilangan vaqtlarida avtomatik ravishda qurollanishi va qurolsizlanishiga imkon beradigan real vaqtda soatga ega.
Ta'minotlar
Ushbu qismlarning to'g'ri versiyasini ishlatganingizga ishonch hosil qilish uchun qo'shimcha eslatmalarni oxirigacha ko'ring.
Arduino Uno yoki shunga o'xshash
Arduino uchun 433 yoki 315 MGtsli qabul qiluvchi modul
Arduino uchun DS3231 real vaqtda soat moduli
Arduino uchun I2C 16x2 LDC moduli
Simsiz signalli qamish kalitlari, harakat sensori va masofadan boshqarish pulti
Piezo signal
LED va 220 ohmli qarshilik
Non paneli (ixtiyoriy, lekin tavsiya etiladi)
Arduino uchun mos keladigan quvvat manbai
Jumper simlari va boshqalar
Arduino IDE o'rnatilgan kompyuter
Arduino haqida asosiy bilim
1 -qadam: materiallar
Ushbu loyiha uchun sizga kerak bo'ladigan materiallarning yuqoridagi rasmlari
2 -qadam: Ardunio va modullarni rasmda ko'rsatilganidek ulang
Arduino va yerning 5 -pinlari orasidagi piezo
LED Arduino -ning 8 -pinidan 220 ohmgacha bo'lgan rezistor bilan erga
433 yoki 315 MGts qabul qilgich, VCC 5V, GND erga va Arduino pin2 uchun 2 ta ma'lumot pinidan biri.
I2C 16X2 LCD moduli VCC 5V ga, GND erga, SCL SDA pinlari Arduino SCL SDA ga ulanadi (pin A5 - SCL, pin A4 - SDA)
DS3231 RTC VCC moduli 5V ga, GND erga, SCL SDA pinlari Arduino SCL SDA ga ulanadi (Arduino -ning ko'p qismida GND va AREF pinlari ustida joylashgan 2 -to'plam mavjud)
Bilaman, sizlardan ba'zilariga bundan boshqa ma'lumot kerak emas va quyida keltirilgan eskiz, lekin men yordam berishni istaganlar uchun batafsil ma'lumot beraman.
3 -qadam: Arduino IDE -ga kerakli kutubxonalarni qo'shing
Signalni ishga tushirish uchun Arduino Sketch, sukut bo'yicha Arduino IDE -ga o'rnatilmagan ba'zi kutubxonalardan foydalanadi.
RCSwitch kutubxonasini Arduino IDE -ga qo'shish uchun. Arduino IDE -ni oching, yuqori menyuda "Sketch" -ni tanlang, so'ngra ochiladigan menyudan "Kutubxonani qo'shish" -ni tanlang va keyingi ochilgandan "Kutubxonalarni boshqarish" -ni tanlang. Keyin "Qidiruvni filtrlash" katagiga "RCSW" kiriting, so'ng "ri-switch by sui77" ni o'rnating.
Kutubxonalarni qo'shish bo'yicha batafsil ko'rsatmalar
Biz hozir bo'lganimizda, Time, TimeAlarms, DS1307RTC va LiquidCrystal_I2C deb nomlangan kutubxonalarni qo'shishimiz kerak. Qaysi kutubxonalardan foydalanishni bilmasangiz, yuqoridagi ekran tasvirlarini ko'ring.
DS3231 real vaqtda soati DS1307RTC kutubxonasi bilan mos keladi va undan foydalanadi.
4 -qadam: Endi biz sensorlar kodlarini olishimiz kerak
Men quyida Arduino kodi shablonini berdim, lekin siz har bir datchikingizning qiymatlarini topib, ularni kodga joylashtirishingiz kerak bo'ladi.
Ikkala saytda ham ushbu kodlarni qanday olish mumkinligi haqida keng ma'lumotlar mavjud;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Ammo bu erda mening qisqartirilgan versiyam bor;
Sensorlar va masofadan boshqarish pultlari yuboradigan kodlarni olish uchun Arduino -ni USB kabel orqali kompyuterga 1 -qadamda biriktiring va Arduino IDE -ni oching. Keyin Arduino IDE -da "Fayl" ochiladigan menyusiga o'ting, so'ng "Misollar" ga o'ting, "RCSWITCH" topilmaguncha namunaviy eskizlar ro'yxatini pastga aylantiring, so'ng "ReceiveDemo_Advanced" eskizini tanlang va Arduino -ga yuklang. Eskiz muvaffaqiyatli yuklangandan so'ng, Arduino IDE seriyali monitorini oching, u kompyuterga USB orqali ulangan. Endi kodni olmoqchi bo'lgan sensorlarning birinchisini ishga tushiring, RCSwitch -dan chiqish ketma -ket monitor oynasida paydo bo'ladi. Ushbu loyiha uchun biz skrinshot 2 -da ko'rsatilgandek kasr kodlarini qidirmoqdamiz. Sensorni bir necha marta ishga tushirish kerak bo'ladi, u tez -tez paydo bo'ladigan o'nlik kasr qiymatini qidiradi, ba'zida haqiqiy qiymat bilan har xil qiymatlar aralashadi. tasodifiy radio to'lqinlari yoki bir xil chastotada ishlaydigan boshqa qurilmalarning aralashuvi orqali.
Keyingi bosqichda foydalanish uchun sensorning o'nlik kodiga e'tibor bering. Loyihada ishlatmoqchi bo'lgan barcha sensorlar va masofadan boshqariladigan kalitlar uchun takrorlang, qaysi sensor qaysi sensor bilan ketishini kuzatib boring. Agar signalni qurollantirish va o'chirish uchun kalit asboblardan foydalansangiz, har bir masofadan boshqarish pultining qo'li tugmachalari va qurolsizlantirish tugmalarining turli kodlariga e'tibor qaratishingiz kerak bo'ladi.
5 -qadam: Arduino kod shablon
Quyida Wireless_Alarm deb nomlangan.ino faylidagi Arduino kodim nusxasi. Siz uni bosishingiz mumkin va u Arduino IDE -da ochilishi kerak. Men dasturchi emasman, mening kodim qisman Arduino IDE -dagi misollardan yig'ilgan, ehtimol u juda oqlangan emas, lekin u ishlaydi va uzoq vaqt davomida ishonchli bo'lgan.
O'zingizning sensorlaringizdan kodlarni kiritish uchun o'zgartirish kiritgandan so'ng, eskizni qayta saqlashni unutmang.
6 -qadam: 5 -qadamda olingan kodlarni Arduino eskiz shabloniga joylashtiring
Endi siz foydalanadigan sensorlar va masofadan boshqariladigan kalitlar uchun kodni sozlash bo'yicha qadamlar.
Agar siz IDE -da Wireless_Alarm eskizini ochsangiz, 111 -qatorda ko'rasiz.
if (mySwitch.getReceivedValue () == 115166236) // Fob qo'l tugmasi kodi
Qaerda 115166236 kodi mavjud bo'lsa, siz bu raqamni 5 -qadamda yozib qo'yilgan masofadan boshqarish pultining tugmachasi uchun o'nlik kod bilan almashtirishingiz kerak.
Masalan, agar 5 -qadamda sizda 1154321 kasr bo'lsa, 111 -qatorni hozir o'qish uchun o'zgartirasiz;
if (mySwitch.getReceivedValue () == 1154321) // Fob qo'l tugmasi kodi
125 -qator uchun xuddi shu tartibni bajaring.
if (mySwitch.getReceivedValue () == 115166234) // Fob qurolsizlantirish tugma kodi
5 -qadamda yozib qo'yilgan masofadan boshqarish pultini o'chirish tugmachasining kodini 115166234 bilan almashtiring.
Agar siz qurol va qurolsizlantirish uchun bir nechta masofali foblardan foydalanmoqchi bo'lsangiz, 111 dan 136 gacha bo'lgan qatorlarni kerakli darajada ko'p marta nusxa ko'chiring va joylashtiring, so'ngra boshqa masofaviy kalitlarga mos keladigan qiymatlarni o'zgartiring, lekin o'zgartirilganligiga ishonch hosil bo'lmaguncha bitta masofadan boshqarish pultidan boshlash yaxshidir. eskiz ishlayapti.
Endi 140 -chi chiziqdagi signal sensorlarini kodlash
if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // Signal yuboruvchi ofis shkafi uchun harakat
1151640 ni chiqarib, signal sensorlaridan birining kasr qiymatini kiriting.
Keyin 158 -qatorda.
lcd.print (F ("Ofis shkafi")); // qaysi sensor yoqilganligini bilish uchun lcd -ga xabar chop eting (va o'g'irchini toping:)
Ofis shkafini ushbu sensor uchun LCD displeyda xohlaganingizga o'zgartiring. Masalan, agar siz oshxona eshiklarini o'qishni xohlasangiz, chiziqni shunday ko'rinishga keltiring;
lcd.print (F ("Oshxona eshigi")); // qaysi sensor yoqilganligini bilish uchun lcd -ga xabar chop eting (va o'g'irchini toping:)
Ismlar 16 belgidan oshmasligi kerak.
165 va 187 -qatorlar orasida 187 -dan pastdagi satrlarga kerak bo'lganda ko'p marta nusxa ko'chirish va joylashtirish uchun shablon mavjud. MySwitch.getReceivedValue () == dan keyingi raqamni 5 -qadamda yozgan boshqa sensorlaringizning o'nli kasrlari bilan almashtiring. va lcd.print (F ("sensornamehere")) "" ichida nomini o'zgartiring; Sensoringizni bermoqchi bo'lgan ismga.
Agar siz signalni qurollantirish va o'chirish uchun masofaviy kalitlardan foydalanmasangiz, 111-136-qatorlarni e'tiborsiz qoldirishingiz yoki har bir kiruvchi qatorning boshiga // qo'yishingiz mumkin va Arduino ularni o'qimaydi.
O'zgartirish kiritgandan so'ng, faylni saqlashni unutmang.
7 -qadam: O'zgartirilgan.ino -ni Arduino -ga yuklang va test qiling
Arduino kompyuterga USB orqali ulangan bo'lsa ham, eskizni Arduino kartasiga yuklang. Yuklash muvaffaqiyatli yakunlangach, LCD displeyda "Qurolsizlantirish to'g'risida signal" yozuvi bo'lishi kerak. Masofadan boshqarish pultidagi qo'l tugmachasini bosing va LCD displeyida "Qurolli signal" yozuvi bo'lishi kerak va LED yonib turishi kerak, u qurollanganligini bildiradi, endi esa qurollangan paytda sensorni ishga tushiring, LCD signalni o'qib, vaqt tamg'asi va sensorning joylashuvi, signalizatsiya signalizatsiyasi 2 daqiqa davomida eshitilishi kerak, agar siz qurolsizlantirish tugmachasini bosmasangiz. Agar siz bunday natijaga erisha olmasangiz, 5 -qadamda olingan kodlarni va oldingi bosqichda kodga kiritilgan o'zgarishlarni qayta tekshiring, shuningdek, barcha komponentlarning simlarini tekshiring. Agar LCD umuman o'qimasa, LCD modulining orqa tomonida kontrastni sozlash mavjud. Agar LCD hali ham o'qimayotgan bo'lsa, kontrast to'g'ri o'rnatilgandan so'ng, chizilgan 12 -satrda LCD manzilini 0x3f dan 0x27 ga o'zgartirishga harakat qiling. LCD muammolarini bartaraf etish bu erda I2C LCD qo'llanmasi
8 -qadam: RTC modulida vaqtni belgilash va qurol va qurolsizlanish vaqtini o'zgartirish
Umid qilamanki, sizning RTC allaqachon to'g'ri vaqt bilan belgilangan, lekin agar IDE ochilmasa, "Fayl" -ni tanlang va ochiladigan menyudan "Misollar" -ni bosing, "DS1307RTC" -ga o'ting va "SetTime" eskizini tanlang, eskizni o'zingizga yuklab oling. Arduino va u sizning kompyuteringizdagi vaqt bilan real vaqtni belgilaydi, keyin siz Wireless_Alarm eskizini Arduino -ga qayta yuklashingiz kerak bo'ladi.
Men taqdim etgan Wireless_Alarm.ino signalni har kecha soat 10.15da avtomatik ravishda ishga tushiradi va har kuni ertalab soat 6.00da qurolsizlantiradi. Bu vaqtlarni o'zgartirish uchun 71 va 72 -chi satrlarda eskizni o'zgartiring. Vaqt Alarm.alarmReat -dan keyin HH, MM, SS formatida qavs ichida. buni xohlagan vaqtingizga o'zgartiring.
Signal.alarmTekror (6, 00, 0, MorningAlarm); // DISARM vaqti
Signal.alarm Takrorlash (22, 15, 0, EveningAlarm); // ARM vaqti
Shunday qilib, qurolsizlanish vaqtini ertalab soat 9.15 ga, qurollanish vaqtini 17.30 ga o'zgartirish kod shunday bo'ladi
Signal.alarm Takrorlash (9, 15, 0, MorningAlarm); // DISARM vaqti
Signal.alarm Takrorlash (17, 30, 0, EveningAlarm); // ARM vaqti
Agar siz signalni qurollanishini va qurolsizlanishini xohlamasangiz, 2 qatorning oldiga // qo'ying va ular ishlatilmaydi.
// Signal.alarmReat(6, 00, 0, MorningAlarm); // DISARM vaqti
// Signal.alarmTakrorlash (22, 15, 0, EveningAlarm); // Qo'l vaqti
Signal signalining signal vaqtini 22 -qatorni o'zgartirish orqali o'zgartirish mumkin
const uzoq oralig'i = 120000; // milis kechikish uchun signal signallarining uzoq vaqt davomida
Interval millisekundlarda, shuning uchun 120000 = 120 soniya, 120000 dan 30000 gacha o'zgartirish signalni 30 soniya davomida chiqaradi.
Siren, flaşli yorug'lik, baland ovozli signal va boshqalarni ishlatish uchun solenoidni 7 yoki 9 -pinli simlarga ulash mumkin va ular yuqorida ko'rsatilgan "intervalgacha" ishlaydi. Shuni yodda tutingki, Arduino pinining maksimal yuklanishi 40mA dan oshmasligi kerak.
9 -qadam: Qo'shimcha eslatmalar
Arduino uchun 433 yoki 315 MGtsli qabul qiluvchi modulni tanlashda siz foydalanmoqchi bo'lgan signal sensorlariga mos keladigan chastotani tanlashingiz kerak. Men eng yaxshi ishlashi uchun kichik spiral antenna bilan ta'minlangan modulni sotib olishni taklif qilaman, aks holda 17,3 mm uzunlikdagi to'g'ri simli antenna ham ish faoliyatini oshiradi.
16x2 LCD moduli bilan siz bu erda ko'rsatma va kodni ishlatish uchun 4 pinli I2C LCD -ni ishlatishingiz kerak, u 16 pinli standart LCD yordamida tayyorlanishi mumkin, lekin u bu erda simlar yoki kod bilan ishlamaydi.
Simsiz signalli qamish kalitlari, harakat sensorlar va masofadan boshqarish pultlari 433 MGts yoki 315 MGts chastotali bo'lishi kerak, siz qabul qilmoqchi bo'lgan qabul qilgichga mos kelishi va PT2262 yoki EV1527 kodlashidan foydalanishi kerak.
Signal kengaytirilishi va moslashishi mumkin, men allaqachon sensorlar ishga tushirilganda yozib olish uchun SD -kartani qo'shganman, LCD -ni faqat tugma bosilganda yonib turishi uchun o'zgartirganman va 100dB sirenasini qo'shganman, lekin bu erda maqolani saqlab qolish uchun tafsilotlarni kiritmaganman. iloji boricha qisqa va sodda. Umid qilamanki, bu signalda qilgan ishim bilan bo'lishish boshqalarga foydali bo'ladi.
Har qanday savollarga javob berishdan xursandman.
Rahmat.
Tavsiya:
433 MGts chastotali past narxli simsiz sensorlar tarmog'i: 5 qadam (rasmlar bilan)
433 MGts chastotali past narxli simsiz sensorlar tarmog'i: Tereza Rajbaga katta rahmat, bu maqolada o'z nashrlaridan olingan ma'lumotlardan foydalanishga rozilik bergani uchun. tarmoqlar? Oddiy ta'rif
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish - Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich - Rc vertolyoti - Arduino yordamida Rc samolyoti: 5 qadam (rasmlar bilan)
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish | Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich | Rc vertolyoti | Arduino yordamida Rc samolyoti: Rc avtomashinasini boshqarish | Kvadrokopter | Drone | RC samolyoti | RC qayig'i, bizga har doim qabul qiluvchi va uzatuvchi kerak bo'ladi, deylik, RC QUADCOPTER uchun bizga 6 kanalli uzatuvchi va qabul qilgich kerak, va bu turdagi TX va RX juda qimmatga tushadi, shuning uchun biz uni o'zimizda ishlab chiqaramiz
IOT tutun detektori: IOT yordamida mavjud tutun detektorini yangilang: 6 qadam (rasmlar bilan)
IOT tutun detektori: IOT yordamida mavjud tutun detektorini yangilang: ishtirokchilar ro'yxati, ixtirochi: Tan Siew Chin, Tan Yit Peng, Tan Wee Xeng Nazoratchi: doktor Chia Kim Seng Mexatronika va robototexnika kafedrasi, Elektr va elektron injeneriya fakulteti, Universiti Tun Husayn Onn Malayziya. Tarqatish
5 ta Arduino va 5 ta NRF24L01 simsiz modullari yordamida 4 tomonlama svetofor tizimi: 7 qadam (rasmlar bilan)
5 Arduinos va 5 NRF24L01 simsiz modullaridan foydalangan holda 4 tomonlama svetofor tizimi: Bir oz oldin men non panelida bir juft svetoforni ko'rsatadigan ko'rsatma yaratdim, shuningdek, NRF24L01 simsiz modulidan foydalanishning asosiy asosini ko'rsatadigan boshqa ko'rsatma yaratdim. Meni o'yladi! Juda ko'p narsa bor
Passiv signal signal tizimi: 4 qadam
Passiv signal signal tizimi: Men buni mumkin bo'lgan urinishdan keyin birlashtirdim. Eshigimda magnit signal bor, lekin eshik yana yopilganda va eshik mening uyimning qarama -qarshi tomonida bo'lsa, u meni yoki mening uyimni uyg'otish uchun etarli bo'lmasligi mumkin