Mundarija:
- 1 -qadam: Boshlash uchun: materiallar
- 2 -qadam: 2 -qadam: Muammoni hal qilishga yaqinlashish
- 3 -qadam: 3 -qadam: GUI va asosiy kod oqimini sozlash
- 4 -qadam: 3 -qadam: Termostatni o'rnatish
- 5 -qadam: 4 -qadam: Eshik tizimini sozlash
- 6 -qadam: 6 -qadam: To'fon nurlari tizimini o'rnatish
- 7 -qadam: Xulosa
Video: Arduino aqlli uy tizimi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu yo'riqnomada biz sizga Sparkfun Red taxtali bilan MATLAB App Designer yordamida o'zingizning aqlli uyingiz tizimini qanday yaratishni ko'rsatamiz. Bu ko'rsatmalarni MATLAB ilovalar konstruktori haqida, shuningdek, fotorezistor, servomotor va PIR harakat sensori yordamida tushunishga yordam berish uchun ishlatish mumkin.
1 -qadam: Boshlash uchun: materiallar
Ushbu loyiha quyidagi materiallarni talab qiladi:
- Arduino Uno (Ushbu loyiha uchun biz Sparkfun Red taxtasidan foydalanganmiz)
- bitta fotorezistor
- bitta mini-servo dvigatel
- bitta uzluksiz servo vosita
- bitta PIR harakat sensori
- bitta harorat sensori
- 2 ta LED
- Zarur bo'lganda simlar va rezistorlar
2 -qadam: 2 -qadam: Muammoni hal qilishga yaqinlashish
Ushbu loyihaning asosiy maqsadi Arduino Uno kartasini MATLAB yordamida kodlash orqali aqlli uy tizimini ishlatish edi. Biz birinchi navbatda harorat va namlik sensori bilan ishlash haqida o'yladik, lekin agar biz bu ikkita datchikda qolsak, bizning aqlli uy tizimimiz oddiy auditoriyaga sotilmaydi. Biz aqlli termostat va xavfsizlik tizimi sifatida ishlaydigan umumiy aqlli uy energiya tizimini yaratmoqchimiz. Va nihoyat, biz MATLAB -ning AppDesigner bilan ishlashni xohladik, shuning uchun foydalanuvchi aqlli uyni xohlagancha o'zgartirishi mumkin edi.
3 -qadam: 3 -qadam: GUI va asosiy kod oqimini sozlash
Boshlash uchun siz MATLABs AppDesigner -ni ochishingiz va quyidagilarni joylashtirishingiz kerak bo'ladi:
Issiq va sovuq chegara kiritish uchun ikkita raqamli tahrir maydoni
Eshik qulfini ochish tugmasi
Va kamin, eshik, fan va suv toshqini uchun to'rtta ko'rsatkich chiroq.
Foydalanuvchi bilan muloqot qilish uchun ikkita yorliq.
Ushbu loyiha uchun biz global o'zgaruvchilar va dizayner ichida ishga tushirish funktsiyasi bilan ishlashni osonlashtirdik. Ishga tushirish funktsiyasida sizga bu o'zgaruvchilar kerak bo'ladi:
global a
a = arduino ('COM3', 'uno', 'Kutubxonalar', 'Servo'); global global global globalUI global sovuqUI global qulfini ochish global temp global Curr_temp global int_light
Hozirda bizda faqat o'zgaruvchiga topshiriq bor, shuning uchun sizning kompyuteringiz arduino -ni o'qishi mumkin. COM3 kompyuteringizning qaysi portidan foydalanayotganiga qarab farq qilishi mumkin.
Kodni ishga tushirganingizda, u global o'zgaruvchilarni yaratish va tizimni kalibrlashda ishga tushirish funktsiyasidan boshlanadi. Bu funktsiya oxirida biz Taymer deb nomlangan xususiyatni chaqiradigan taymer funktsiyasi bo'ladi. Taymer xususiyatiga biz uy tizimini boshqaradigan kodni kiritamiz, shuning uchun taymer kalibrlash kodini qayta ishga tushirmaydi.
E'tibor bering: biz tizimni ulash bo'yicha ko'rsatmalar bermadik. Biz SparkFun Red taxtasi bilan birga kelgan qo'llanmani ko'rib chiqdik.
4 -qadam: 3 -qadam: Termostatni o'rnatish
Termostat funktsiyasi quyidagicha ishlaydi:
Foydalanuvchi qaysi haroratni juda issiq yoki juda sovuq deb hisoblaydi. Termometr ko'rsatkichni o'qiganidan so'ng, agar uy juda sovuq bo'lsa, "kamin" (qizil LED) yonadi va uyni isitadi. Agar uy juda issiq bo'lsa, "fan" (uzluksiz servo dvigatel) uyni sovutadi.
Termostatni kodlash uchun:
Biz joriy haroratni ko'rsatish va foydalanuvchining sovuq va issiq chegaralarini kiritish uchun ishga tushirish funktsiyasidan boshlaymiz.
p = 'A0' %Fotoresistorli pin
volt = o'qish voltaji (a, temp); celc = (volt-0,5).*100; Curr_temp = celc*9/5+32; app. Label_4. Text = num2str (Curr_temp); %Yorliq raqami pauzani o'zgartirishi mumkin (10); %O'zgarishni xohlashi mumkin !!!!!
Keyin biz Timer xususiyatidagi termostatni tizimini yakunlaymiz.
global Curr_temp
global coldUI global global hotUI agar Curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0.19]; %GUI chiroqchasini yashil rangga aylantiradi WritePWMDutyCycle (a, 'D11',.9) %Keyingi uchta satrda servo fan pauzasi (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Bu barcha GUI lampalar va kamin ilovasini o'chiradi. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); oxiri
5 -qadam: 4 -qadam: Eshik tizimini sozlash
Eshikning vazifasi quyidagicha:
Siz birinchi marta MATLAB kodini ishga tushirganingizda, ilova sizdan eshikni ochishingizni so'raydi, shunda fotorezistor yorug'lik ko'rsatkichini o'qishi mumkin. Bu bajarilgandan so'ng, taymer faollashadi va fotorezistor ikkinchi darajali yorug'lik ko'rsatkichlarini oladi. Agar ikkilamchi yorug'lik ko'rsatkichi boshlang'ichdan engilroq bo'lsa, servo dvigatel eshikni qulflab qo'yadi. Agar foydalanuvchi eshik qulfini ochishni xohlasa, u eshikni ochadigan ilovadagi tugmani bosishi mumkin.
Servo dvigatel va fotorezistorni sozlash uchun:
Eshik tizimini kodlash uchun:
Biz boshlang'ich yorug'lik ko'rsatkichlarini olish uchun ishga tushirish funktsiyasidan boshlaymiz.
s = servo (a, 'D9') %Pin simga qarab o'zgarishi mumkin
app. Label_4. Text = 'Iltimos, tizimni sozlash uchun eshikni oching'; pauza (15); %Bu foydalanuvchiga eshikni ochish uchun vaqt beradi int_light = readVoltage (a, p); app. Label_4. Text = 'Barmog'ingizni olib tashlashingiz mumkin';
Keyinchalik, biz Timer xususiyatidagi kodni to'ldiramiz
global qulfni ochish
global int_light global s global a %Curr_light = readVoltage (a, p) ni solishtirish uchun joriy yorug'lik ko'rsatkichini oling; % - Eshikni qulflash - agar int_light <Curr_light writePosition (s, 1) % Servo pozitsiyalari har bir motor pauzasida har xil bo'lishi mumkin (0,5); app. DoorStateLamp. Color = [0,47 0,67 0.19]; end % - Eshik qulfini ochish - agar qulfni ochish == 1234 pauza (0,5); writePosition (lar,.52) app. DoorStateLamp. Color = [0,85 0,33 0.10]; oxiri
Nihoyat, biz qulfni ochish tugmachasini qayta chaqirishni yaratamiz. Foydalanuvchi qulfni ochish tugmachasini bosgandan so'ng, global o'zgaruvchiga qulfni ochish raqamini beradi, u taymer xossasidagi if if -ni yakunlashi mumkin.
global qulfni ochish
qulfni ochish = 1234;
6 -qadam: 6 -qadam: To'fon nurlari tizimini o'rnatish
Yorug'lik chiroqining vazifasi quyidagicha ishlaydi:
MATLAB kodini ishga tushirganingizda, PIR harakat sensori harakatni aniqlay boshlaydi. Biror harakatni aniqlagandan so'ng, u kuch signalini uzib qo'yadi. Bu signal uzilgandan so'ng, uyning tashqarisida toshqin chiroq yonadi.
Yorug'lik nurlari tizimini sozlash uchun:
Yorug'lik nurlari tizimini kodlash uchun:
Bu safar biz Timer xususiyatiga o'tishimiz mumkin, chunki qo'shimcha o'zgaruvchilar yozishning hojati yo'q.
human_detected = readDigitalPin (a, 'D2'); %PIN konfiguratsiyaga qarab o'zgarishi mumkin, agar human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin app. FloodLightStateLamp. Color = [0,47 0,67 0.19] ni o'zgartirishi mumkin; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D7', 0) oxiri
7 -qadam: Xulosa
Endi sizda App Designer bilan GUI loyihasi va Arduino kodingiz bor, siz o'zingizning tahrirlaringizni bajarishga yoki Arduino -ni ulashga tayyormiz!
Tavsiya:
NodeMCU yordamida aqlli tarqatilgan IoT ob -havo monitoringi tizimi: 11 qadam
NodeMCU yordamida aqlli tarqatilgan IoT ob -havo monitoringi tizimi: Siz hammangiz an'anaviy ob -havo stantsiyasidan xabardor bo'lishingiz mumkin; lekin u aslida qanday ishlashini hech o'ylab ko'rganmisiz? An'anaviy ob -havo stantsiyasi qimmat va katta hajmga ega bo'lganligi sababli, ushbu stantsiyalarning har bir birlik uchun zichligi juda past, bu esa
NodeMCU ESP8266 yordamida IoT asosli aqlli mashinalar tizimi: 5 qadam
NodeMCU ESP8266 yordamida IoT -ga asoslangan aqlli mashinalar tizimi: Hozir gavjum joylarda mashinalar to'xtash joyini topish juda qiyin va Internetda to'xtash joylari haqida ma'lumot olish uchun tizim yo'q. Tasavvur qiling -a, siz telefoningizda to'xtab turish joyi haqida ma'lumot olishingiz mumkinmi va sizda rouming yo'qligini tekshirish uchun
Aqlli o'tish yo'lini yoritish tizimi- Sailor Moon jamoasi: 12 qadam
Aqlli o'tish yo'lini yoritish tizimi- Sailor Moon jamoasi: Salom! Bu Greys Ri, Srijesh Konakanchi va Xuan Landi, va biz birgalikda Sailor Moon jamoamiz! Bugun biz sizga o'z uyingizda amalga oshirishingiz mumkin bo'lgan ikki qismli DIY loyihasini taqdim etamiz. Bizning oxirgi aqlli yurish yo'llarini yoritish tizimi ul
SONOFF aqlli kalitlari yordamida aqlli rolikli pardalarni qanday yasash mumkin ?: 14 qadam
SONOFF aqlli kalitlari yordamida aqlli rolikli pardalarni qanday yasash mumkin?: SONOFF aqlli kalitlarida interlok rejimidan foydalaning, oddiy rolikli pardalarni aqlli ko'rinishga aylantirish uchun ko'pchiligingiz rozi bo'lasizmi, siz ertalab rolikli pardalarni tortib olasiz. va kechqurun uni pastga tushirmoqchimisiz? Qanday bo'lmasin, men
Uskuna va dasturiy ta'minot Hack aqlli qurilmalar, Tuya va Broadlink LED lampochkasi, Sonoff, BSD33 aqlli vilkasi: 7 qadam
Uskuna va dasturiy ta'minot Hack Smart Devices, Tuya va Broadlink LED lampochkasi, Sonoff, BSD33 Smart Plug: Bu ko'rsatmada men bir nechta aqlli qurilmalarni o'z dasturiy ta'minotim bilan qanday o'chirganimni ko'rsataman, shuning uchun ularni Openhab sozlamalari orqali MQTT orqali boshqarishim mumkin. Men ularni buzganimda yangi qurilmalar. Albatta, maxsus dasturiy ta'minotni o'chirishning boshqa usullari mavjud