Mundarija:

EF230 aqlli uy loyihasi: 7 qadam
EF230 aqlli uy loyihasi: 7 qadam

Video: EF230 aqlli uy loyihasi: 7 qadam

Video: EF230 aqlli uy loyihasi: 7 qadam
Video: EF230: MATLAB RVR Speech Recognition Demonstration 2024, Noyabr
Anonim
EF230 aqlli uy loyihasi
EF230 aqlli uy loyihasi

Kerakli qismlar va materiallar:

  • 1 Arduino MKR 1000
  • 3 ta non paneli
  • 2 ta mini fotosel
  • 1 ta NPN tranzistorlari
  • 1 mini quvvat kaliti
  • 1 LED - RGB (4 burchakli)
  • 1 LED (siz tanlagan rang)
  • 1N4148 diodli
  • 1 10K Ohmli rezistorlar
  • 5 100 Ohm qarshilik
  • 1 harorat sensori TMP36
  • 1 DAGU 48: 1 nisbatli tishli motor
  • 25 ta o'tish simlari
  • USB kabeli
  • MATLAB dasturi
  • Arduino 101/Genuino 101 taxtasi uchun SIK tajriba qo'llanmasi - SIK tajriba qo'llanmasi havolasi

Ushbu loyiha uy egalariga energiyadan foydalanish va xavfsizlikni optimallashtirishga yordam beradigan ma'lumotlardan foydalanadigan aqlli uy tizimining kontseptual dizaynini batafsil bayon qiladi. U tunda tashqi chiroqlarni yoqish uchun yorug'lik sensori, xavfsizlik uchun yorug'lik sensori, ichki haroratni nazorat qilish uchun harorat sensori va fanni o'z ichiga oladi.

1 -qadam: Yorug'likka sezgir LED

  • Yorug'likka sezgir LED sozlamalari tunda yoqilgan uyning tashqi chiroqlarini aks ettirishga mo'ljallangan.
  • Kichkina fotosel yorug'likni kamaytirganda, LED yonadi.
  • Aqlli uy uchun bu energiya va xavfsizlikka ta'sir qiladi. Kunduzi chiroqlarni o'chirib qo'yib, energiyani tejaydi va kechasi xavfsizlikni kuchaytiradi.
  • Loyihaning ushbu qismi uchun aniq simlar va sozlamalarni SIK Tajriba Qo'llanmasidagi 7 -tajribada topish mumkin.

2 -qadam: Mini quvvat tugmasi

  • Kommutator aqlli uyning xavfsizlik jarayonidagi birinchi qadamdir.
  • Yoqilganda, kalit foydalanuvchidan "Uy" yoki "Tashqarida" rejimiga kirishni xohlashini so'raydigan javobni boshlaydi.
  • Agar "Uy" rejimi tanlansa, xavfsizlik qurolsizlantirilgan hisoblanadi, lekin "Tashqarida" rejimini tanlash xavfsizlik tizimini qurollantiradi.
  • Loyihaning ushbu qismi uchun o'tkazgichlarni Tajriba qo'llanmasida 6 -tajribada topish mumkin. Aqlli uyning maqsadlari uchun 6 -tajribada topilgan LEDlar va ularni ulash simlarini kiritish shart emas.

3 -qadam: Ikkinchi fotosel

Ikkinchi fotosel
Ikkinchi fotosel
  • Ikkinchi fotosel aqlli uyning xavfsizlik tizimi uchun harakat sensori vazifasini bajaradi.
  • Sensor faqat tizim oldingi bosqichda tasvirlanganidek "Tashqarida" rejimiga o'tkazilganda ishlatiladi.
  • Agar fotosel qabul qiladigan yorug'lik miqdorining pasayishiga duch kelsa, u buni uy ichidagi harakat deb tan oladi.
  • Loyihaning ushbu qismi uchun sozlamalarni SIK Tajriba Qo'llanmasidagi 7 -tajribada topish mumkin. Biroq, kabelga faqat fotosel va uni ulash simlarini kiritish kerak.

4 -qadam: LED RGB

  • RGB LED mini quvvat tugmasi va aqlli uyning xavfsizlik tizimi uchun ikkinchi fotosel bilan birgalikda ishlatiladi.
  • Uch xil rang aqlli uy aholisi uchun ko'rsatkich sifatida ishlatiladi.
  • Tizim "Uy" rejimiga o'tkazilganda, LED ko'k rangga aylanadi. Tizim "Tashqarida" rejimiga o'tkazilganda, LED yashil rangga aylanadi. Harakat sensori sifatida ishlatiladigan fotosel qotib qolganda, chiroq qizil yonib -o'chib turadi.
  • RGB LED simi SIK tajriba qo'llanmasining 3 -tajribasida topilgan.

5 -qadam: harorat sensori

  • Harorat sensori aqlli uyda energiya tejashning asosiy qismidir.
  • Aqlli uy ishlatilganda, fuqaro o'z uyiga kerakli haroratni kiritishi mumkin.
  • Harorat sensori - bu tizim haqiqiy harorat kerakli haroratdan qanchalik uzoq ekanligini biladi.
  • Harorat sensori o'rnatilishini SIK tajriba qo'llanmasining 9 -tajribasida topish mumkin.

6 -qadam: DAGU tishli motor

DAGU tishli motor
DAGU tishli motor
  • Dvigatel aqlli uyga kerakli harorat va harorat sensori ko'rsatkichlari asosida uydagi haroratni tartibga solish imkonini beradi.
  • Dvigatel uydagi AC qurilmasi vazifasini bajarib, haqiqiy harorat istalgan haroratdan qanchalik yuqori bo'lishiga qarab har xil tezlikda aylanadi. Farqi qanchalik baland bo'lsa, vosita tezroq aylanadi.
  • Dvigatelning simlarini 11 -tajriba bo'yicha Eksperiment qo'llanmasida topish mumkin.

7 -qadam: kod

  • Aqlli uy kodi bir nechta foydalanuvchi interfeyslarini o'z ichiga oladi, bu esa rezidentga uning qanday ishlashini osongina tushunishga va sozlamalarni osongina o'zgartirishga imkon beradi.
  • Aqlli uy tizimi yordamida rezident, ular yo'qligida harakat sensori o'chirilgan bo'lsa, elektron pochta orqali ogohlantirish oladi.
  • O'zgarish kerak bo'lgan yagona narsa - jo'natuvchining elektron pochtasi va qabul qiluvchining elektron pochta manzili haqidagi ma'lumotlarni kiritish.

aniq a; aniq s; aniq m; clc; hammasini yopish; % Arduino va servo o'zgaruvchilarni tozalang, shunda ular har safar qayta aniqlanishi mumkin, shunda kod samarali ishlaydi ("loop" lar birining to'g'ri ishlashi uchun "m" kerak) a = arduino (); % Arduino o'zgaruvchisini o'rnating

s = servo (a, 'D6'); % Servo o'zgaruvchini o'rnating

% Xavfsizlik tizimi ogohlantiruvchi elektron pochta uchun elektron pochta o'zgaruvchilarini ishga tushiring

emails = {'qabul qiluvchining manzilini kiriting'}; % Xavfsizlik elektron pochtasini yuborish uchun elektron pochta qatori

Xabar yuborish uchun Gmail -dan foydalanish uchun zarur bo'lgan % elektron pochta sozlamalari

setpref ('Internet', 'E_mail', 'yuboruvchining elektron pochta manzili');

setpref ("Internet", "SMTP_Username", "yuboruvchining foydalanuvchi nomi");

setpref ("Internet", "SMTP_Password", "yuboruvchining paroli");

rekvizitlar = java.lang. System.getProperties;

props.setProperty ('mail.smtp.auth', 'rost');

props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.port', '465');

% E -pochta mavzusi va matn o'zgaruvchilari

subj = 'Uyingizga tajovuzkorlar haqida ogohlantirish';

text = 'Salom, bu sizning uyingiz tashqarisida harakat aniqlangani haqida sizga xabar beradigan Smart Home xavfsizlik tizimi. Biz kerakli choralarni ko'rdik va siz uchun tegishli idoralarga murojaat qildik. Xavfsiz qoling. ';

rost bo'lsa ham

prompt = {'Istalgan uy haroratini kiriting (65F va 85F oralig'ida):'}; % Foydalanuvchi kiritish menyusi uchun so'rov

dlgtitle = 'Haroratni tanlash'; % Foydalanuvchi kiritish menyusi sarlavhasi

xira = [1 30]; % Foydalanuvchi kiritish menyusi uchun o'lchamlar

Definput = {'72'}; % Menyu birinchi ochilganda ko'rsatiladigan standart kirish

tempsel_array = inputdlg (tezkor, dlgtitle, dims, definput); % Qalqib chiquvchi foydalanuvchi kiritish menyusi kiritilgan raqamni qatorga saqlaydi

if ~ isempty (tempsel_array) % Agar qator bo'sh bo'lmasa

tempsel_char = hujayra2mat (tempsel_array); % Massivni belgilar qatoriga aylantiring

tempsel = str2double (tempsel_char); % Belgilar qatorini raqamlarga aylantiring

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Tanlangan haroratni ThingSpeak kanalingizga yozing

break % Vaqt tsiklidan uzing, shunda menyu bir necha marta ochilmaydi

else % Agar foydalanuvchi haroratni bosish o'rniga bekor qilsa

msg1 = msgbox ('Harorat tanlanmagan, sukut bo'yicha 85F', 'Ogohlantirish!'); % Bekor qilish tugmachasini bosgandan so'ng foydalanuvchiga xabar ko'rsatiladi

kutish (msg1); % Davom etishdan oldin xabar qutisi yopilishini kuting

tempsel = 85; % Haroratni xabar qutisida ko'rsatilgan darajaga o'rnating

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Tanlangan haroratni ThingSpeak kanalingizga yozing

break % Vaqt tsiklidan uzing, shunda menyu bir necha marta ochilmaydi

oxiri

oxiri

rost bo'lsa ham

chID = 745517; % ThingSpeak kanal identifikatori

writeKey = 'G9XOQTP8KOVSCT0N'; % ThingSpeak kanaliga kirish uchun kalit

% Ma'lumot olish uchun sensorlarni ishga tushiring

tempread = readVoltage (a, 'A3'); % Harorat sensori kuchlanishini o'qing

lightl1 = readVoltage (a, 'A2'); Qizil LEDga o'tadigan fotorezistor uchun yorug'lik darajasi

lightl2 = readVoltage (a, 'A5'); % Xavfsizlik tizimiga o'tadigan fotorezistor uchun yorug'lik darajasi

switchv = readVoltage (a, 'A0'); Kommutator uchun % qiymati

% Harorat ma'lumotlarini kuchlanishdan Farengeyt darajasiga o'zgartiring

tempC = (tempread - 0,5) * 100; % Tselsiy bo'yicha kuchlanishni haroratga aylantiring

tempF = (tempC * 9/5) + 32; % Selsiydagi haroratni Farengeytdagi haroratga aylantiring

% Ko'p rangli LED uchun pin raqamlarini boshlang

redp = 'D9'; LEDdan qizil chiroq uchun pin

yashil rang = 'D10'; LED -dan yashil chiroq uchun pin

reja = 'D11'; % LED ko'k chiroq uchun pin

if tempsel <tempF % Tanlangan harorat xona haroratidan katta bo'lsa

yozish pozitsiyasi (lar, 1); % Servo harakatlana boshlaydi

pauza (10) % Servo 10 soniya davomida aylanishni davom ettiradi, shunda AC ma'lum vaqtdan keyin o'chadi.

yozish pozitsiyasi (lar, 0); % Fanni yoqmasdan kodni davom ettirish uchun fanni o'chiring

tempsel = 150; % Ventilyator o'chirilgandan keyin, faqat kodni davom ettirish uchun, haroratni pastadirdan uzish uchun o'zgartiring

oxiri

if lightl1 <= 3 % Agar birinchi fotorezistor past yorug'lik darajasini aniqlasa

writeDigitalPin (a, 'A1', 1); % Tashqi chiroqlarni ifodalovchi qizil LEDni yoqing

else % Agar yorug'lik darajasi yana baland bo'lsa

writeDigitalPin (a, 'A1', 0); Yorug'lik darajasi yana etarlicha baland bo'lganda qizil LEDni o'chiring

oxiri

agar switchv> 3 % Agar kalit yoqilgan bo'lsa

A = mavjud ('m', 'var'); % "M" o'zgaruvchining mavjudligini tekshiring, bu vaqt tsiklini ishga tushiradi va menyu elementi tanlanganida uni buzishga imkon beradi (shuning uchun kod boshida aniq m bajarilishi kerak)

A == 0 % Loop 'm' o'zgaruvchisi mavjud bo'lguncha bajariladi

menutext = 'Qaysi xavfsizlik rejimiga kirmoqchisiz?'; % Xavfsizlik popup menyusi uchun matn

tanlovlar = {'Uyda', 'Tashqarida'}; % Xavfsizlik popup menyusi uchun tanlovlar

m = menyu (menyu matni, tanlovlar); % Xavfsizlik tizimi rejimlari uchun qalqib chiquvchi menyu

break % vaqt tsikli buzilganligini ta'minlaydi, shuning uchun menyu bir necha marta ochilmaydi

oxiri

agar m == 1 % Agar "Uy" rejimi tanlangan bo'lsa

writeDigitalPin (a, reja, 1); Rang o'zgaruvchi LEDda ko'k chiroqni yoqing

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

elseif m == 2 % Agar "Tashqarida" rejimi tanlangan bo'lsa

writeDigitalPin (a, reja, 0);

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 1); Rang o'zgaruvchi LEDda faqat yashil chiroqni yoqing

agar lightl2 <= 3 % Ikkinchi fotorezistordagi yorug'lik darajasi past bo'lsa, bu xavfsizlik tizimi tomonidan aniqlangan harakatni ifodalaydi.

sendmail (elektron pochta, subj, matn); % Oldindan belgilangan elektron pochta xususiyatlariga ega elektron pochta yuborish writeDigitalPin (a, greenp, 0); % Qizil qizil rang 2 marta yonadi va o'chadi

writeDigitalPin (a, redp, 1);

pauza (0.3)

writeDigitalPin (a, redp, 0);

pauza (0.3)

writeDigitalPin (a, redp, 1);

pauza (0.3)

writeDigitalPin (a, redp, 0);

pauza (0.3)

writeDigitalPin (a, redp, 1); Yorug'lik darajasi yuqoriga ko'tarilguncha harakat borligini ko'rsatish uchun milt -miltdan keyin qizil rang bilan tugating

msg2 = msgbox ('Xavfsizlik tizimi tomonidan tajovuzkor aniqlandi, uy egalariga xabar berish uchun elektron pochta yuborildi.', 'OGOHLANTIRISH!'); % Xabar qutisi foydalanuvchiga harakat haqida xabar berish va yuborilgan elektron pochta xabari haqida xabar berish uchun kutish (msg2) % Davom etishdan oldin xabar qutisi yopilishini kuting.

boshqa

writeDigitalPin (a, greenp, 1); % Yorug'lik darajasi yana ko'tarilgach, u yana yashil rangga aylanadi

oxiri

oxiri

elseif switchv <3.3 % Agar kalit o'chirilgan bo'lsa

writeDigitalPin (a, reja, 0); % Xavfsizlik tizimi o'chirilganligini ko'rsatish uchun LEDni to'liq o'chiring

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

oxiri

oxiri

Tavsiya: