Sisukord:
- Samm: valgustundlik LED
- Samm: väike toitelüliti
- 3. samm: teine fotoelement
- Samm: RGB LED
- Samm: temperatuuriandur
- 6. samm: DAGU käigumootor
- Samm: kood
Video: EF230 nutika kodu projekt: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Vajalikud osad ja materjalid:
- 1 Arduino MKR 1000
- 3 leiba
- 2 mini fotoelementi
- 1 NPN transistor
- 1 mini toitelüliti
- 1 LED - RGB (4 haruga)
- 1 LED (teie valitud värv)
- 1 diood 1N4148
- 1 10K oomi takistid
- 5 100 oomi takisti
- 1 temperatuuriandur TMP36
- 1 DAGU 48: 1 suhteline reduktormootor
- 25 Jumper Traadid
- USB juhe
- MATLAB programm
-
SIK katsete juhend Arduino 101/Genuino 101 tahvlile - SIK -i katsejuhendi link
See projekt kirjeldab nutika kodu süsteemi kontseptuaalset disaini, mis kasutaks andmeid, et aidata majaomanikel oma energiatarbimist ja turvalisust optimeerida. See sisaldab valgusandurit, mis lülitab öösel sisse välisvalgustid, valgusandurit turvalisuse tagamiseks ning temperatuuriandurit ja ventilaatorit sisetemperatuuri reguleerimiseks.
Samm: valgustundlik LED
- Valgustundlik LED -seade on mõeldud öösel süttiva maja välisvalgustite kujutamiseks.
- Kui mini -fotoelement tuvastab vähendatud valguse, süttib LED.
- Nutika kodu jaoks on sellel energia- ja julgeolekumõjud. See säästab energiat, jättes päevasel ajal tuled välja ja tagab suurema turvalisuse öösel.
- Projekti selle osa täpse juhtmestiku ja seadistuse leiate SIK katsejuhendi 7. eksperimendi alt.
Samm: väike toitelüliti
- Lüliti on nutikodu turvaprotsessi esimene samm.
- Kui see on sisse lülitatud, käivitab lüliti vastuse, küsides kasutajalt, kas ta soovib siseneda režiimi Kodus või Eemal.
- Kui valite režiimi „Kodus”, loetakse turvafunktsioon valvest välja, kuid režiimi „Eemal” valimine lülitab turvasüsteemi sisse.
- Projekti selle osa juhtmestiku leiate katsejuhendi katse 6 alt. Nutika kodu jaoks ei ole vaja lisada katsel 6 leitud valgusdioode ja nende ühendusjuhtmeid.
3. samm: teine fotoelement
- Teine fotoelement on nutika kodu turvasüsteemi liikumisandur.
- Andurit kasutatakse ainult siis, kui süsteem on eelmine režiim, nagu eelmises etapis kirjeldatud.
- Kui fotoelement tunneb vastuvõetud valguse hulga vähenemist, tunneb see selle ära kui liikumist majas.
- Projekti selle osa seadistused leiate SIK katsejuhendi 7. eksperimendi alt. Kuid juhtmestikku tuleb lisada ainult fotoelement ja selle ühendusjuhtmed.
Samm: RGB LED
- RGB LED -i kasutatakse koos väikese toitelüliti ja nutika kodu turvasüsteemi teise fotosilmaga.
- Neid kolme erinevat värvi kasutatakse nutika kodu elaniku indikaatoritena.
- Kui süsteem on režiimis „Kodu“, muutub LED siniseks. Kui süsteem on režiimis „Eemal”, muutub LED roheliseks. Kui liikumisandurina kasutatav fotoelement käivitub, vilgub tuli punaselt.
- RGB LED -i juhtmestiku leiate SIK -i katsejuhendi eksperimendist 3.
Samm: temperatuuriandur
- Temperatuuriandur on nutika kodu energia säästmise peamine osa.
- Elanik saab nutika kodu kasutamisel sisestada oma kodu jaoks soovitud temperatuuri.
- Temperatuuriandur on see, kuidas süsteem teab, kui kaugel tegelik temperatuur soovitud temperatuurist on.
- Temperatuurianduri seadistused leiate SIK katsejuhendi katsest 9.
6. samm: DAGU käigumootor
- Mootor võimaldab nutikodul reguleerida maja temperatuuri soovitud temperatuuri ja temperatuurianduri näitude põhjal.
- Olles kodus vahelduvvoolu seade, pöörleb mootor erinevatel kiirustel sõltuvalt sellest, kui palju tegelik temperatuur on soovitud temperatuurist kõrgem. Mida suurem on erinevus, seda kiiremini mootor pöörleb.
- Mootori juhtmestiku leiate katsejuhendist katse 11 all.
Samm: kood
- Nutikodu kood sisaldab mitmeid kasutajaliideseid, mis võimaldavad elanikul hõlpsasti aru saada, kuidas see töötab, ja hõlpsasti seadeid muuta.
- Nutika kodu süsteemiga saab elanik e -posti teel märguande, kui liikumisandur on nende eemaloleku ajal välja lülitatud.
- Ainus muudatus, mida tuleb teha, on saatja e -posti ja saaja e -posti aadressi teabe sisestamine.
selge a; selge s; selge m; clc; sulgege kõik; % Tühjenda arduino ja servo muutujad, et neid saaks iga kord uuesti määratleda, nii et kood töötaks tõhusalt ("selge m" on vajalik, et mõni aeg -ahel korralikult toimiks) a = arduino (); % Määra arduino muutuja
s = servo (a, 'D6'); % Määra servomuutuja
% Initsialiseeri e -posti muutujad turvasüsteemi hoiatusmeilide jaoks
e -kirjad = {'sisestage adressaadi aadress'}; % E -kirjade massiiv, kuhu turvameil saata
% Gmaili kasutamiseks e -kirjade saatmiseks vajalikud e -posti eelistuste seaded
setpref ('Internet', 'E_mail', 'saatja e -posti aadress');
setpref ('Internet', 'SMTP_kasutajanimi', 'saatja kasutajanimi');
setpref ('Internet', 'SMTP_Password', 'saatja parool');
rekvisiidid = 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');
% Saada teema ja teksti muutujad
subj = 'Sissetungijate hoiatus teie kodus';
text = 'Tere, see on teie nutika kodu turvasüsteem, mis teavitab teid, et väljaspool teie kodu on tuvastatud liikumist. Oleme võtnud vajalikud meetmed ja võtnud teiega ühendust ametiasutustega. Ole turvaline. ';
kuigi tõsi
prompt = {'Sisestage soovitud kodutemperatuur (vahemikus 65F kuni 85F):'}; % Küsi kasutaja sisestusmenüüd
dlgtitle = 'Temperatuuri valimine'; % Pealkiri kasutaja sisestusmenüüle
hämarad = [1 30]; % Kasutaja sisestusmenüü mõõtmed
definput = {'72'}; % Vaikimisi sisend, mis kuvatakse menüü esmakordsel avamisel
tempsel_array = inputdlg (viip, dlgtitle, tuhm, definput); % Kasutaja hüpikmenüü, mis salvestab sisestatud numbri massiivi
kui ~ isempty (tempsel_array) % Kui massiiv EI ole tühi
tempsel_char = cell2mat (tempsel_array); % Teisenda massiiv tähemärgiks
tempsel = str2double (tempsel_char); % Teisenda tähemärk numbriteks
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Kirjutage valitud temperatuur oma ThingSpeak kanalile
break % Break from while loop, nii et menüü ei avane mitu korda
else % Kui kasutaja klõpsab temperatuuri sisestamise asemel nupul Tühista
msg1 = msgbox ('Temperatuuri pole valitud, vaikimisi 85F', 'Hoiatus!'); % Sõnum kuvatakse kasutajale pärast tühistamise klõpsamist
oota (msg1); % Enne jätkamist oodake, kuni sõnumikast sulgub
tempel = 85; % Seadke temperatuur teadete kastis märgitule
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Kirjutage valitud temperatuur oma ThingSpeak kanalile
break % Break from while loop, nii et menüü ei avane mitu korda
lõpp
lõpp
kuigi tõsi
chID = 745517; % ThingSpeak kanali ID
writeKey = 'G9XOQTP8KOVSCT0N'; % Võti ThingSpeak kanalile juurdepääsuks
% Andmete lähtestamine andmete toomiseks
tempread = readVoltage (a, 'A3'); % Lugege temperatuurianduri pinget
lightl1 = lugemispinge (a, 'A2'); % Valgustase punasele valgusdioodile
lightl2 = lugemispinge (a, 'A5'); % Valgusturve turvasüsteemi mineva fototakisti valgustugevus
switchv = readVoltage (a, 'A0'); Lüliti väärtus
% Teisendage temperatuuriandmed pingest Fahrenheiti kraadidesse
tempC = (tempread - 0,5) * 100; % Teisenda pinge temperatuuriks Celsiuse järgi
tempF = (tempC * 9/5) + 32; % Teisenda temperatuur Celsiuse järgi Fahrenheiti temperatuuriks
% Initsialiseeri mitmevärvilise LED -i tihvtide numbrid
redp = 'D9'; % Pin LED -i punase tule jaoks
greenp = 'D10'; % Pin rohelise tule jaoks LED -ist
bluep = 'D11'; % Pin LED -i sinise valguse jaoks
kui tempel <tempF % Kui valitud temperatuur on toatemperatuurist kõrgem
writePosition (s, 1); % Servo hakkab liikuma
paus (10) % Servo pöörleb 10 sekundit, et näidata, et vahelduvvool lülitub teatud aja pärast välja
writePosition (s, 0); % Lülitage ventilaator välja, et jätkata koodi ilma ventilaatorita
tempel = 150; % Muutke temperatuuri väärtust, et pärast ventilaatori väljalülitamist tsüklist välja murda, uuesti ainult koodi jätkamise eesmärgil
lõpp
kui lightl1 <= 3 % Kui esimene fototakisti tuvastab nõrga valguse
writeDigitalPin (a, 'A1', 1); % Lülitage sisse punane LED, mis tähistab välisvalgustust
else % Kui valgustase on jälle kõrge
writeDigitalPin (a, 'A1', 0); % Lülitage punane LED välja, kui valgustase on taas piisavalt kõrge
lõpp
kui lülitiv> 3 % Kui lüliti on sisse lülitatud
A = olemas ('m', 'var'); % Kontrollige muutuja "m" olemasolu, see initsialiseerub while -tsükli jaoks ja võimaldab selle katkestada, kui valite menüüelemendi (sellepärast tuleb koodi alguses teha selge m)
samas kui A == 0 % Loop täidetakse, kuni muutuja m on olemas
menutext = 'Millisesse turvarežiimi soovite siseneda?'; % Turva hüpikmenüü tekst
options = {'Kodu', 'Eemal'}; % Turvalisuse hüpikmenüü valikud
m = menüü (menutekst, valikud); % Turvasüsteemi režiimide hüpikmenüü
break % Tagab, et while -tsükkel on katki, nii et menüü ei avane mitu korda
lõpp
kui m == 1 % Kui valitud on "Kodu" režiim
writeDigitalPin (a, bluep, 1); % Lülitage värvimuutva LED -i sisse ainult sinine tuli
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Kui valitud on režiim 'Eemal'
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Lülitage värvimuutva LED -i sisse ainult roheline tuli
kui lightl2 <= 3 % Kui teise fototakisti valgustase on madal, tähistab turvasüsteemi tuvastatud liikumist
sendmail (e -kirjad, subj, tekst); % Saada e -kiri eelnevalt määratletud e -posti atribuutidega writeDigitalPin (a, greenp, 0); % Välkpunane värv sisse ja välja 2 korda
writeDigitalPin (a, redp, 1);
paus (0,3)
writeDigitalPin (a, redp, 0);
paus (0,3)
writeDigitalPin (a, redp, 1);
paus (0,3)
writeDigitalPin (a, redp, 0);
paus (0,3)
writeDigitalPin (a, redp, 1); % Lõpeta pärast vilkumist pideva punasega, et näidata liikumist kuni valguse taseme tõusuni
msg2 = msgbox ('Turvasüsteem tuvastas sissetungija, majaomanikele on saadetud e -kiri nende teavitamiseks.', 'HOIATUS!'); % Sõnumikast kasutaja teavitamiseks liikumisest ja teavitamiseks saadetud e -kirjast ootab (msg2) % Enne jätkamist oodake, kuni sõnumikast sulgub
muidu
writeDigitalPin (a, greenp, 1); % Kui valguse tase on uuesti tõusnud, muutub see roheliseks
lõpp
lõpp
elseif lülitiv <3,3 % Kui lüliti on välja lülitatud
writeDigitalPin (a, bluep, 0); % Lülitage LED täielikult välja, et näidata turvasüsteemi väljalülitamist
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
lõpp
lõpp
Soovitan:
Tehke nutika kodu juhtimissüsteem STONE HMI displeil: 23 sammu
Tehke nutika kodu juhtimissüsteem STONE HMI Disp'is: Projekti tutvustus Järgnev õpetus näitab teile, kuidas kasutada puuteekraanimoodulit STONE STVC050WT-01 lihtsa kodumasina juhtimissüsteemi loomiseks
ForgetMeNot - nutika kodu teavitusplatvorm: 14 sammu (piltidega)
ForgetMeNot - nutika kodu teavitusplatvorm: hõivatud kolledžiõpilastena, kes liiguvad klasside, töökohtade ja perekohustuste vahel, kipume pisiasjad unustama. Sünnipäev tuleb ja läheb, ilma et me seda märkaksime, oluline tähtaeg jääb unaruse tõttu vahele ja mõnikord lihtsalt
Täielik nutika kodu lisand: 8 sammu
Täielik nutika kodu lisand: minu eelmine projekt " Täielik nutikas kodu " töötab edukalt peaaegu 5 aastat ilma probleemideta. Nüüd, kui otsustasin lisada sellele tagasisidet ilma praegust vooluahelat ja skeemi muutmata. Nii et see lisamine pro
Nutika kodu automatiseerimine Energenie pistikupesadega - läheduspesad: 4 sammu
Nutika kodu automatiseerimine Energenie pistikupesadega - läheduspesad: Sissejuhatus Seal on palju näiteid nutika kodu automatiseerimisest, kuid see on lihtne ja on minu majas aasta aega väga tõhusalt toiminud, nii et loodan, et teile meeldib see. Kui olete lõpetanud, on teil seade, mis suudab võrku skannida
[HASS.IO] Alustage oma nutika kodu ehitamist ilma kodeerimiseta, vähem kui 100 dollari eest: 6 sammu
[HASS.IO] Alustage oma nutika kodu ehitamist ilma kodeerimiseta, hinnaga alla 100 dollari: viimasel ajal olen jama ajanud ja oma maja edukalt vähem "idiootseks" muutnud. Nii et ma jagan, kuidas teha nutikas kodusüsteem madala hinnasildiga, suure ühilduvusega, mis töötaks sujuvalt ja stabiilselt