Orodha ya maudhui:

Mradi wa EF230 Smart Home: Hatua 7
Mradi wa EF230 Smart Home: Hatua 7

Video: Mradi wa EF230 Smart Home: Hatua 7

Video: Mradi wa EF230 Smart Home: Hatua 7
Video: Праздник. Новогодняя комедия 2024, Julai
Anonim
Mradi wa EF230 Smart Home
Mradi wa EF230 Smart Home

Sehemu na vifaa vinahitajika:

  • 1 Arduino MKR 1000
  • 3 Bodi za mkate
  • Seli 2 za Mini
  • 1 Transistors ya NPN
  • 1 Mini Power switch
  • 1 LED - RGB (prong 4)
  • 1 LED (rangi ya chaguo lako)
  • 1 Diode 1N4148
  • 1 10K Ohm Resistors
  • 5 100 Mpingaji wa Ohm
  • 1 Sensor ya Joto TMP36
  • 1 DAGU 48: 1 Uwiano Gearmotor
  • Waya za Jumper
  • Kamba ya USB
  • Mpango wa MATLAB
  • Mwongozo wa Jaribio la SIK kwa Bodi ya Arduino 101 / Genuino 101 - Kiungo cha Mwongozo wa Jaribio la SIK

Mradi huu unaelezea muundo wa dhana ya mfumo mzuri wa nyumba ambao utatumia data kusaidia wamiliki wa nyumba kuongeza matumizi yao ya usalama na usalama. Inajumuisha sensa ya taa kuwasha taa za nje wakati wa usiku, sensa ya mwanga kwa usalama, na sensa ya joto na shabiki wa kudhibiti joto la ndani.

Hatua ya 1: Mwanga nyeti LED

  • Usanidi nyeti wa mwangaza wa LED unamaanisha kuwakilisha taa za nje kwenye nyumba inayokuja usiku.
  • Wakati mini photocell inahisi kupunguzwa kwa nuru LED itaangaza.
  • Kwa nyumba nzuri hii ina athari za nishati na usalama. Itaokoa nishati kwa kuacha taa ziache wakati wa mchana na itatoa usalama ulioongezeka usiku.
  • Wiring halisi na usanidi wa sehemu hii ya mradi unaweza kupatikana chini ya jaribio la 7 katika Mwongozo wa Jaribio la SIK.

Hatua ya 2: Kubadilisha Mini Power

  • Kubadili ni hatua ya kwanza katika mchakato wa usalama wa nyumba nzuri.
  • Inapowashwa, swichi itaanzisha majibu ikimuuliza mtumiaji ikiwa anataka kuingia katika hali ya 'Nyumbani' au 'Mbali ".
  • Ikiwa hali ya 'Nyumbani' imechaguliwa usalama unachukuliwa kuwa umepokonywa silaha, lakini kuchagua "Njia ya Kuondoa" kutasaidia mfumo wa usalama.
  • Wiring kwa sehemu hii ya mradi inaweza kupatikana chini ya jaribio la 6 katika Mwongozo wa Majaribio. Kwa madhumuni ya nyumba nzuri, LED na waya zao za kuunganisha zinazopatikana katika jaribio la 6 hazihitaji kujumuishwa.

Hatua ya 3: Picha ya pili

Picha ya pili
Picha ya pili
  • Photocell ya pili hutumika kama sensorer ya mwendo kwa mfumo wa usalama wa nyumba nzuri.
  • Sensorer hutumiwa tu wakati mfumo umewekwa katika hali ya "Away" kama ilivyoelezewa katika hatua ya awali.
  • Ikiwa picha hiyo hupata kupungua kwa kiwango cha nuru inayopokea, inatambua hii kama mwendo ndani ya nyumba.
  • Usanidi wa sehemu hii ya mradi unaweza kupatikana chini ya jaribio la 7 katika Mwongozo wa Jaribio la SIK. Walakini, nakala tu ya nakala na waya zake za kuunganisha zinahitajika kujumuishwa katika wiring.

Hatua ya 4: RGB LED

  • RGB LED hutumiwa kwa kushikamana na swichi ya nguvu ndogo na picha ya pili ya mfumo wa usalama wa nyumba nzuri.
  • Rangi tatu tofauti hutumiwa kama viashiria kwa mkazi mzuri wa nyumba.
  • Wakati mfumo umewekwa katika hali ya 'Nyumbani', LED inageuka kuwa bluu. Wakati mfumo umewekwa katika hali ya 'Away' LED inageuka kuwa kijani. Wakati photocell inayotumiwa kama sensorer ya mwendo imepigwa, taa huangaza nyekundu.
  • Wiring kwa RGB LED inaweza kupatikana katika majaribio 3 ya Mwongozo wa Jaribio la SIK.

Hatua ya 5: Sensorer ya joto

  • Sensor ya joto ni sehemu kuu ya kuhifadhi nishati katika nyumba nzuri.
  • Mkazi anaweza kuingiza joto linalotarajiwa kwa nyumba yao wakati nyumba nzuri inatumika.
  • Sensor ya joto ni jinsi mfumo unajua jinsi joto halisi lilivyo mbali na joto linalohitajika.
  • Usanidi wa sensorer ya joto unaweza kupatikana katika jaribio la 9 la Mwongozo wa Jaribio la SIK.

Hatua ya 6: DAGU Gearmotor

DAGU Gearmotor
DAGU Gearmotor
  • Magari inaruhusu nyumba nzuri kudhibiti joto ndani ya nyumba kulingana na hali ya joto inayotakiwa na usomaji wa sensorer ya joto.
  • Kaimu kama kitengo cha AC nyumbani, motor itazunguka kwa kasi tofauti kulingana na kiwango cha juu cha joto halisi kuliko joto linalotakiwa. Tofauti kubwa zaidi, anaongeza kasi ya spoti.
  • Wiring kwa motor inaweza kupatikana katika Mwongozo wa Majaribio chini ya jaribio 11.

Hatua ya 7: Kanuni

  • Nambari ya nyumba yenye busara inajumuisha viunganisho vingi vya watumiaji ambayo inaruhusu mkazi kuelewa kwa urahisi jinsi inavyofanya kazi na kubadilisha kwa urahisi mipangilio.
  • Pamoja na mfumo mzuri wa nyumba, mkazi atapokea na arifu ya barua pepe ikiwa sensorer ya mwendo imewekwa mbali wakiwa mbali.
  • Mabadiliko pekee ambayo yanahitaji kufanywa ni kuingiza habari kwa barua pepe ya mtumaji na anwani ya barua pepe ya mpokeaji.

wazi a; wazi s; wazi m; clc; funga zote; Futa vigeuzi vya arduino na servo ili viweze kufafanuliwa kila wakati ili nambari iendeshe vyema ("wazi m" ni muhimu kwa moja ya vitanzi vya wakati kufanya kazi vizuri) a = arduino (); Weka tofauti ya arduino

s = servo (a, 'D6'); Weka ubadilishaji wa servo

Anzisha vigeuzi vya barua pepe kwa barua pepe ya onyo la mfumo wa usalama

barua pepe = {'ingiza anwani ya mpokeaji'}; Mpangilio wa barua pepe kutumwa barua pepe ya usalama

Mipangilio ya upendeleo wa barua pepe muhimu kwa kutumia Gmail kutuma barua kutoka

setpref ('Mtandao', 'E_mail', 'anwani ya barua pepe ya mtumaji');

setpref ('Internet', 'SMTP_Username', 'jina la mtumiaji la mtumaji');

setpref ('Mtandao', 'SMTP_Password', 'nywila ya mtumaji');

props = java.lang. System.getProperties;

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

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

Masomo ya barua pepe na anuwai ya maandishi

subj = 'Tahadhari ya Waingiaji Nyumbani Mwako';

text = 'Halo, huu ndio mfumo wako wa usalama wa Smart Home unaokujulisha kuwa kumekuwa na mwendo uliogunduliwa nje ya nyumba yako. Tumechukua hatua zinazohitajika na kuwasiliana na mamlaka kwako. Kaa salama. ';

wakati ni kweli

haraka = {'Ingiza joto la nyumbani linalotarajiwa (kati ya 65F na 85F):'}; Haraka kwa menyu ya uingizaji ya mtumiaji

dlgtitle = 'Chagua Joto'; % Kichwa cha menyu ya uingizaji ya mtumiaji

hupunguza = [1 30]; Vipimo kwa menyu ya uingizaji ya mtumiaji

ufafanuzi = {'72'}; Ingizo chaguomsingi ambalo linaonekana wakati menyu inafunguliwa kwanza

tempsel_array = inputdlg (haraka, dlgtitle, dims, ufafanuzi); Menyu ya pembejeo ya mtumiaji ambayo itaokoa nambari iliyoingizwa kwenye safu

if ~ isempty (tempsel_array)% Ikiwa safu sio Tupu

tempsel_char = seli2mat (tempsel_array); Kubadilisha safu kuwa kamba ya tabia

tempsel = str2 mara mbili (tempsel_char); Badilisha kamba ya herufi iwe nambari

kituSpeakWrite (chID, tempsel, 'AndikaKey', andikaKey, 'Mashamba', 1); Andika joto lililochaguliwa kwenye kituo chako cha ThingSpeak

kuvunja% Kuvunja kutoka kitanzi cha wakati ili menyu isitoke mara kadhaa

vingine% Ikiwa mtumiaji anabofya ghairi badala ya kuingia kwenye joto

msg1 = msgbox ('Hakuna joto lililochaguliwa, linaloshindwa kuwa 85F', 'Onyo!'); Ujumbe unaonyeshwa kwa mtumiaji baada ya kubofya kughairi

subiri (msg1); Subiri kisanduku cha ujumbe kifungwe kabla ya kuendelea

tempsel = 85; Weka joto kwa kile kilichoelezwa kwenye kisanduku cha ujumbe

kituSpeakWrite (chID, tempsel, 'AndikaKey', andikaKey, 'Mashamba', 1); Andika joto lililochaguliwa kwenye kituo chako cha ThingSpeak

kuvunja% Kuvunja kutoka kitanzi cha wakati ili menyu isitoke mara kadhaa

mwisho

mwisho

wakati ni kweli

CHID = 745517; Kitambulisho cha Kituo cha ThingSpeak

kuandikaKey = 'G9XOQTP8KOVSCT0N'; Ufunguo wa ufikiaji wa Kituo cha ThingSpeak

Anzisha sensorer kuleta data

tempread = kusomaVoltage (a, 'A3'); Soma voltage ya sensorer ya joto

lightl1 = soma Voltage (a, 'A2'); Kiwango cha nuru kwa mpiga picha anayeenda kwenye LED nyekundu

lightl2 = soma Voltage (a, 'A5'); Kiwango cha mwanga kwa mpiga picha anayeenda kwenye mfumo wa usalama

switchv = somaVoltage (a, 'A0'); % Thamani ya swichi

Badilisha data ya joto kutoka kwa voltage hadi digrii Fahrenheit

tempC = (tembe - 0.5) * 100; Kubadilisha voltage kuwa joto katika Celsius

tempF = (tempC * 9/5) + 32; Badilisha joto katika Celsius hadi joto katika Fahrenheit

Anzisha nambari za pini kwa LED nyingi

redp = 'D9'; Piga taa nyekundu kutoka kwa LED

kijanip = 'D10'; Piga taa ya kijani kutoka kwa LED

bluep = 'D11'; Piga taa ya bluu kutoka kwa LED

ikiwa tempsel <tempF% Ikiwa hali ya joto iliyochaguliwa ni kubwa kuliko joto la chumba

nafasi ya kuandika (s, 1); Servo itaanza kusonga

pause (10)% Servo itaendelea kuzunguka kwa sekunde 10 kuwakilisha kwamba AC itazimwa baada ya muda maalum

nafasi ya kuandika (s, 0); Zima shabiki kwa kusudi la kuendelea na nambari bila shabiki

tempsel = 150; Badilisha bei ya joto ikatoke kitanzi baada ya shabiki kuzima, tena tu kwa kusudi la kuendelea na nambari

mwisho

ikiwa lightl1 <= 3% Ikiwa mpiga picha wa kwanza atagundua kiwango cha chini cha mwangaza

andikaDigitalPin (a, 'A1', 1); Washa LED nyekundu ambayo inawakilisha taa za nje

Kama% kiwango cha mwanga kiko juu tena

andikaDigitalPin (a, 'A1', 0); Zima LED nyekundu wakati kiwango cha mwanga kiko juu tena vya kutosha

mwisho

ikiwa switchv> 3% Ikiwa swichi imewashwa

= Zipo ('m', 'var'); % Angalia uwepo wa 'm' inayobadilika, hii itaanza kwa kitanzi cha wakati na iiruhusu ivunjwe wakati kipengee cha menyu kinachaguliwa (ndio sababu m wazi lazima ifanyike mwanzoni mwa nambari)

wakati A == 0% Kitanzi kitatekeleza hadi kutofautiana kwa 'm' kuweko

menutext = 'Ungependa kuingia katika hali gani ya usalama?'; Nakala ya menyu dukizi ya usalama

uchaguzi = {'Nyumbani', 'Mbali'}; Chaguzi kwa menyu ya kidukizo cha usalama

m = menyu (menutext, uchaguzi); Menyu ibukizi ya njia za mfumo wa usalama

Inahakikisha kwamba kitanzi cha wakati kimevunjwa ili menyu isitoke mara kadhaa

mwisho

ikiwa m == 1% Ikiwa hali ya 'Nyumbani' imechaguliwa

andikaDigitalPin (a, bluep, 1); Washa taa ya samawati tu kwenye rangi inayobadilisha LED

andikaDigitalPin (a, redp, 0);

andikaDigitalPin (a, greenp, 0);

elseif m == 2% Ikiwa hali ya 'Kuondoka' imechaguliwa

andikaDigitalPin (a, bluep, 0);

andikaDigitalPin (a, redp, 0);

andikaDigitalPin (a, greenp, 1); Washa taa ya kijani kibichi kwenye rangi inayobadilisha LED

ikiwa light22

sendmail (barua pepe, subj, maandishi); Tuma barua pepe na mali zilizoelezewa hapo awali writeDigitalPin (a, greenp, 0); Washa na uzime rangi nyekundu mara 2

andikaDigitalPin (a, redp, 1);

pumzika (0.3)

andikaDigitalPin (a, redp, 0);

pumzika (0.3)

andikaDigitalPin (a, redp, 1);

pumzika (0.3)

andikaDigitalPin (a, redp, 0);

pumzika (0.3)

andikaDigitalPin (a, redp, 1); Maliza na nyekundu nyekundu baada ya kuangaza kuonyesha kuna mwendo mpaka kiwango cha taa kinarudi juu

msg2 = msgbox ('Mwingilizi amegunduliwa na mfumo wa usalama, barua pepe imetumwa kwa wamiliki wa nyumba kuwajulisha.', 'ONYO!'); Sanduku la ujumbe kumjulisha mtumiaji wa mwendo na kufahamisha juu ya barua pepe iliyotumwa kusubiri (msg2)% Subiri kisanduku cha ujumbe kifungwe kabla ya kuendelea

mwingine

andikaDigitalPin (a, greenp, 1); Kiwango cha mwangaza kinapoinuka tena kitarudi kuwa kijani kibichi

mwisho

mwisho

elseif switchv <3.3% Ikiwa swichi imezimwa

andikaDigitalPin (a, bluep, 0); Zima LED kabisa kuonyesha mfumo wa usalama umezimwa

andikaDigitalPin (a, redp, 0);

andikaDigitalPin (a, greenp, 0);

mwisho

mwisho

Ilipendekeza: