Satura rādītājs:

EF230 viedās mājas projekts: 7 soļi
EF230 viedās mājas projekts: 7 soļi

Video: EF230 viedās mājas projekts: 7 soļi

Video: EF230 viedās mājas projekts: 7 soļi
Video: Каркасный дом проект Гамма Хаус #каркасныедома #каркасныйдом #строительство #брусовыедома #дача 2024, Novembris
Anonim
EF230 viedās mājas projekts
EF230 viedās mājas projekts

Nepieciešamās detaļas un materiāli:

  • 1 Arduino MKR 1000
  • 3 maizes dēļi
  • 2 mini fotoelementi
  • 1 NPN tranzistori
  • 1 mini barošanas slēdzis
  • 1 LED - RGB (4 zari)
  • 1 LED (krāsa pēc jūsu izvēles)
  • 1 diode 1N4148
  • 1 10K omi rezistori
  • 5 100 omu rezistors
  • 1 Temperatūras sensors TMP36
  • 1 DAGU 48: 1 attiecība Pārnesumu motors
  • 25 džemperu vadi
  • USB vads
  • MATLAB programma
  • SIK eksperimenta rokasgrāmata Arduino 101/Genuino 101 dēlim - SIK eksperimenta rokasgrāmatas saite

Šis projekts sīki izstrādā viedās mājas sistēmas konceptuālo dizainu, kas izmantotu datus, lai palīdzētu māju īpašniekiem optimizēt enerģijas patēriņu un drošību. Tas ietver gaismas sensoru āra apgaismojuma ieslēgšanai naktī, gaismas sensoru drošībai, kā arī temperatūras sensoru un ventilatoru iekštelpu temperatūras kontrolei.

1. darbība: gaismas jutīga gaismas diode

  • Gaismas jutīgais LED iestatījums ir paredzēts, lai attēlotu āra apgaismojumu mājā, kas iedegas naktī.
  • Kad mini fotoelements uztvers samazinātu gaismas daudzumu, iedegsies gaismas diode.
  • Gudrai mājai tas ietekmē enerģiju un drošību. Tas ietaupīs enerģiju, atstājot gaismas izslēgtas dienas laikā, un nodrošinās lielāku drošību naktī.
  • Precīzu vadu un iestatījumus šai projekta daļai var atrast SIK eksperimenta rokasgrāmatas 7. eksperimentā.

2. darbība: mini barošanas slēdzis

  • Slēdzis ir pirmais solis viedās mājas drošības procesā.
  • Kad tas ir ieslēgts, slēdzis sāks atbildi, jautājot lietotājam, vai viņš vēlas pāriet režīmā Mājas vai Prombūtne.
  • Ja ir izvēlēts režīms “Mājas”, drošība tiek uzskatīta par deaktivizētu, bet, izvēloties režīmu “Prom”, drošības sistēma tiks aktivizēta.
  • Elektroinstalāciju šai projekta daļai var atrast eksperimenta rokasgrāmatas 6. eksperimentā. Viedās mājas vajadzībām 6. eksperimentā atrastās gaismas diodes un to savienojošie vadi nav jāiekļauj.

3. solis: otrais fotoelements

Otrais fotoelements
Otrais fotoelements
  • Otrais fotoelements kalpo kā kustības sensors viedās mājas drošības sistēmai.
  • Sensors tiek izmantots tikai tad, kad sistēma ir ieslēgta “prom” režīmā, kā aprakstīts iepriekšējā solī.
  • Ja fotoelementam samazinās saņemtā gaismas daudzums, tas to atpazīst kā kustību mājas iekšienē.
  • Šīs projekta daļas iestatījumus var atrast SIK eksperimenta rokasgrāmatas 7. eksperimentā. Tomēr elektroinstalācijā ir jāiekļauj tikai fotoelements un tā savienojošie vadi.

4. darbība: RGB gaismas diode

  • RGB gaismas diode tiek izmantota kopā ar mini barošanas slēdzi un otro fotoelementu viedās mājas drošības sistēmai.
  • Trīs dažādas krāsas tiek izmantotas kā viedās mājas iedzīvotāja rādītāji.
  • Kad sistēma ir ieslēgta “Mājas” režīmā, gaismas diode kļūst zila. Kad sistēma ir novietota “prom” režīmā, gaismas diode kļūst zaļa. Kad tiek iedarbināts fotoelements, ko izmanto kā kustības sensoru, gaisma mirgo sarkanā krāsā.
  • RGB gaismas diodes vadus var atrast SIK eksperimenta rokasgrāmatas 3. eksperimentā.

5. solis: temperatūras sensors

  • Temperatūras sensors ir galvenā daļa no enerģijas taupīšanas viedajā mājā.
  • Iedzīvotājs var ievadīt vēlamo temperatūru savai mājai, kad tiek izmantota viedā māja.
  • Temperatūras sensors ir tas, kā sistēma zina, cik tālu faktiskā temperatūra ir no vēlamās temperatūras.
  • Temperatūras sensora iestatījumus var atrast SIK eksperimenta rokasgrāmatas 9. eksperimentā.

6. darbība: DAGU pārnesumu motors

DAGU Pārnesumu motors
DAGU Pārnesumu motors
  • Motors ļauj viedajai mājai regulēt temperatūru mājā, pamatojoties uz vēlamo temperatūru un temperatūras sensora rādījumiem.
  • Darbojoties kā maiņstrāvas ierīcei mājās, motors griežas ar dažādiem ātrumiem atkarībā no tā, cik daudz augstāka ir faktiskā temperatūra nekā vēlamā temperatūra. Jo lielāka starpība, jo ātrāk motors griežas.
  • Motora vadus var atrast Eksperimenta rokasgrāmatā, 11. eksperimentā.

7. darbība: kods

  • Gudrās mājas kods ietver vairākas lietotāja saskarnes, kas ļauj iedzīvotājam viegli saprast, kā tā darbojas, un viegli mainīt iestatījumus.
  • Izmantojot viedās mājas sistēmu, iedzīvotājs saņems e -pasta brīdinājumu, ja kustības sensors ir izslēgts, kamēr viņi ir prom.
  • Vienīgās izmaiņas, kas jāveic, ir sūtītāja e -pasta informācijas un saņēmēja e -pasta adreses ievietošana.

notīrīt a; skaidrs s; skaidrs m; clc; aizvērt visu; % Notīriet arduino un servo mainīgos, lai tos varētu katru reizi no jauna definēt, lai kods darbotos efektīvi ("skaidrs m" ir nepieciešams, lai viena no cilpām darbotos pareizi) a = arduino (); % Iestatiet arduino mainīgo

s = servo (a, 'D6'); % Iestatiet servo mainīgo

% Inicializējiet e -pasta mainīgos drošības sistēmas brīdinājuma e -pastam

e -pasti = {'ievietojiet adresāta adresi'}; % E -pasta ziņojumu masīvs, uz kuriem jānosūta drošības e -pasts

% E -pasta preferenču iestatījumi, kas nepieciešami, lai Gmail izmantotu vēstuļu sūtīšanai

setpref ('Internets', 'E -pasts', 'sūtītāja e -pasta adrese');

setpref ('Internets', 'SMTP_Username', 'sūtītāja lietotājvārds');

setpref ('Internets', 'SMTP_Password', 'sūtītāja parole');

rekvizīti = java.lang. System.getProperties;

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

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

% E -pasta tēmas un teksta mainīgie

subj = 'Brīdinājums par ielaušanos jūsu mājās';

text = 'Sveiki, šī ir jūsu viedās mājas drošības sistēma, kas informē, ka ārpus jūsu mājas ir konstatēta kustība. Mēs esam veikuši nepieciešamos pasākumus un sazinājušies ar iestādēm. Esiet drošībā. ';

kamēr taisnība

prompt = {'Ievadiet vēlamo mājas temperatūru (no 65F līdz 85F):'}; % Lūdz lietotāja ievades izvēlni

dlgtitle = 'Temperatūras izvēle'; % Lietotāja ievades izvēlnes nosaukums

blāvs = [1 30]; % Lietotāja ievades izvēlnes izmēri

definput = {'72'}; % Noklusējuma ievade, kas tiek parādīta, pirmo reizi atverot izvēlni

tempsel_array = inputdlg (uzvedne, dlgtitle, dims, definput); % Uznirstošā lietotāja ievades izvēlne, kas ievadīto numuru saglabās masīvā

ja ~ isempty (tempsel_array) % Ja masīvs NAV tukšs

tempsel_char = cell2mat (tempsel_array); % Pārvērst masīvu par rakstzīmju virkni

tempsel = str2double (tempsel_char); % Pārvērst rakstzīmju virkni par cipariem

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Ierakstiet izvēlēto temperatūru savā ThingSpeak kanālā

pārtraukums % Pārtraukums no cikla cikla, lai izvēlne netiktu parādīta vairākas reizes

else % Ja lietotājs noklikšķina uz Atcelt, nevis ievada temperatūru

msg1 = msgbox ('Temperatūra nav izvēlēta, noklusējuma vērtība 85F', 'Brīdinājums!'); % Ziņojums tiek parādīts lietotājam pēc noklikšķināšanas uz Atcelt

gaidīt (ziņa1); % Pirms turpināt, pagaidiet, līdz ziņojumu lodziņš tiek aizvērts

tempsels = 85; % Iestatiet temperatūru, kas bija norādīta ziņojumu lodziņā

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Ierakstiet izvēlēto temperatūru savā ThingSpeak kanālā

pārtraukums % Pārtraukums no cikla cikla, lai izvēlne netiktu parādīta vairākas reizes

beigas

beigas

kamēr taisnība

chID = 745517; % ThingSpeak kanāla ID

writeKey = 'G9XOQTP8KOVSCT0N'; % Atslēga piekļuvei ThingSpeak kanālam

% Inicializējiet sensorus, lai iegūtu datus

tempread = readVoltage (a, 'A3'); % Nolasiet temperatūras sensora spriegumu

lightl1 = readVoltage (a, 'A2'); % Gaismas līmenis fotorezistoram, kas iedegas sarkanā gaismas diodē

lightl2 = lasīt spriegumu (a, 'A5'); % Gaismas līmenis fotorezistoram, kas dodas uz drošības sistēmu

switchv = readVoltage (a, 'A0'); Slēdža vērtība %

% Konvertējiet temperatūras datus no sprieguma uz Fārenheita grādiem

tempC = (tempread - 0,5) * 100; % Konvertējiet spriegumu par temperatūru pēc Celsija

tempF = (tempC * 9/5) + 32; % Konvertējiet temperatūru pēc Celsija uz temperatūru pēc Fārenheita

% Inicializējiet daudzkrāsainās gaismas diodes tapas

redp = 'D9'; % Piespraude sarkanai gaismai no LED

greenp = 'D10'; % Piespraude zaļajai gaismai no LED

bluep = 'D11'; % Pin zilai gaismai no LED

ja temppsel <tempF % Ja izvēlētā temperatūra ir augstāka par istabas temperatūru

writePosition (s, 1); % Servo sāks kustēties

pauze (10) % Servo turpinās griezties 10 sekundes, lai parādītu, ka pēc noteikta laika maiņstrāva tiks izslēgta

writePosition (s, 0); % Izslēdziet ventilatoru, lai turpinātu kodu bez ventilatora ieslēgšanas

tempsels = 150; % Mainiet temperatūras vērtību, lai izkļūtu no cilpas pēc ventilatora izslēgšanas, atkal tikai koda turpināšanas nolūkā

beigas

ja lightl1 <= 3 % Ja pirmais fotorezistors nosaka vāju apgaismojuma līmeni

writeDigitalPin (a, 'A1', 1); % Ieslēdziet sarkano gaismas diodi, kas apzīmē āra gaismas

cits % Ja gaismas līmenis atkal ir augsts

writeDigitalPin (a, 'A1', 0); % Izslēdziet sarkano LED, kad gaismas līmenis atkal ir pietiekami augsts

beigas

ja slēdzisv> 3 % Ja slēdzis ir ieslēgts

A = pastāv ('m', 'var'); % Pārbaudiet, vai pastāv mainīgais “m”, tas tiks inicializēts cikla ciklam un ļaus to pārtraukt, kad tiek atlasīts izvēlnes vienums (tāpēc koda sākumā ir jādara skaidrs m)

kamēr A == 0 % cilpa tiks izpildīta, līdz pastāv mainīgais “m”

menutext = 'Kuru drošības režīmu vēlaties ievadīt?'; % Teksts drošības uznirstošajai izvēlnei

options = {'Home', 'Prom'}; % Drošības uznirstošās izvēlnes izvēle

m = izvēlne (izvēlnes teksts, izvēles iespējas); % Uznirstošā izvēlne drošības sistēmas režīmiem

break % Nodrošina, ka cilpa while ir pārtraukta, tāpēc izvēlne netiks parādīta vairākas reizes

beigas

ja m == 1 % Ja ir izvēlēts režīms “Mājas”

writeDigitalPin (a, bluep, 1); % Ieslēdziet tikai zilo gaismu krāsu maiņas LED

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

elseif m == 2 % Ja ir izvēlēts režīms “Prom”

writeDigitalPin (a, bluep, 0);

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 1); % Ieslēdziet tikai zaļo gaismu krāsu maiņas LED

ja lightl2 <= 3 % Ja otrā fotorezistora gaismas līmenis ir zems, kas atspoguļo drošības sistēmas noteikto kustību

sendmail (e -pasti, apakšjoma, teksts); % Sūtīt e -pastu ar iepriekš definētiem e -pasta rekvizītiem writeDigitalPin (a, greenp, 0); % Zibspuldzes sarkana krāsa ieslēgta un izslēgta 2 reizes

writeDigitalPin (a, redp, 1);

pauze (0,3)

writeDigitalPin (a, redp, 0);

pauze (0,3)

writeDigitalPin (a, redp, 1);

pauze (0,3)

writeDigitalPin (a, redp, 0);

pauze (0,3)

writeDigitalPin (a, redp, 1); % Pabeidziet ar sarkanu krāsu pēc mirgošanas, lai parādītu kustību, līdz gaismas līmenis atkal palielināsies

msg2 = msgbox ('Drošības sistēma atklāj ielaušanos, mājas īpašniekiem ir nosūtīts e -pasts, lai viņus informētu.', 'BRĪDINĀJUMS!'); % Ziņojumu lodziņš, lai informētu lietotāju par kustību un informētu par nosūtīto e -pastu gaidot (msg2) % Pirms turpināt, pagaidiet, līdz ziņojumu lodziņš tiek aizvērts

citādi

writeDigitalPin (a, greenp, 1); % Kad gaismas līmenis atkal ir pieaudzis, tas atkal kļūs zaļš

beigas

beigas

elseif slēdzisv <3,3 % Ja slēdzis ir izslēgts

writeDigitalPin (a, bluep, 0); % Pilnībā izslēdziet LED, lai parādītu, ka drošības sistēma ir izslēgta

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

beigas

beigas

Ieteicams: