Kazalo:
- 1. korak: LED občutljiva LED
- 2. korak: Mini stikalo za vklop
- 3. korak: Druga fotocelica
- 4. korak: LED RGB
- 5. korak: Temperaturni senzor
- 6. korak: DAGU Gearmotor
- 7. korak: Koda
Video: Projekt pametnega doma EF230: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Potrebni deli in materiali:
- 1 Arduino MKR 1000
- 3 deske
- 2 mini fotocelice
- 1 NPN tranzistorji
- 1 Mini stikalo za vklop
- 1 LED - RGB (4 rog)
- 1 LED (barva po vaši izbiri)
- 1 dioda 1N4148
- 1 10K ohmski upori
- 5 100 ohmski upor
- 1 Temperaturni senzor TMP36
- 1 DAGU Ratio motor z razmerjem 48: 1
- 25 mostičnih žic
- USB kabel
- Program MATLAB
-
Eksperimentalni vodnik SIK za ploščo Arduino 101/Genuino 101 - Povezava do vodiča za eksperiment SIK
Ta projekt podrobno opisuje idejno zasnovo sistema pametnega doma, ki bi uporabil podatke za pomoč lastnikom stanovanj pri optimizaciji porabe energije in varnosti. Vključuje svetlobni senzor za vklop zunanjih luči ponoči, svetlobni senzor za varnost ter temperaturni senzor in ventilator za nadzor notranje temperature.
1. korak: LED občutljiva LED
- Svetlobno občutljiva LED nastavitev naj bi predstavljala zunanje luči v hiši, ki prižge ponoči.
- Ko mini fotocelica zazna zmanjšano količino svetlobe, zasveti LED.
- Za pametni dom to vpliva na energijo in varnost. Prihranil bo energijo tako, da bo dan ugasnil luči, ponoči pa bo povečal varnost.
- Natančno ožičenje in nastavitev za ta del projekta najdete v 7. poskusu v SIK -ovem eksperimentalnem vodniku.
2. korak: Mini stikalo za vklop
- Stikalo je prvi korak v varnostnem procesu pametnega doma.
- Ko je vklopljeno, stikalo sproži odgovor, ki uporabnika vpraša, ali želi vstopiti v način "Doma" ali "Zunaj".
- Če je izbran način "Doma", se varnost šteje za razoroženo, vendar če izberete način "Odsoten", bo varnostni sistem aktiviran.
- Ožičenje za ta del projekta je mogoče najti v poskusu 6 v Vodniku za poskus. Za namene pametnega doma LED in njihovih povezovalnih žic, najdenih v poskusu 6, ni treba vključiti.
3. korak: Druga fotocelica
- Druga fotocelica služi kot senzor gibanja za varnostni sistem pametnega doma.
- Tipalo se uporablja samo, ko je sistem v načinu 'stran', kot je opisano v prejšnjem koraku.
- Če fotocelica zazna zmanjšanje količine svetlobe, ki jo prejme, to prepozna kot gibanje v hiši.
- Nastavitve tega dela projekta najdete v 7. poskusu v SIK -ovem vodniku za eksperimente. Vendar je treba v ožičenje vključiti le fotocelico in njene povezovalne žice.
4. korak: LED RGB
- LED RGB se uporablja skupaj z mini stikalom za vklop in drugo fotocelico za varnostni sistem pametnega doma.
- Tri različne barve se uporabljajo kot kazalci za prebivalce pametnega doma.
- Ko je sistem v načinu 'Home', LED sveti modro. Ko je sistem v načinu "stran", LED sveti zeleno. Ko se sproži fotocelica, ki se uporablja kot senzor gibanja, lučka utripa rdeče.
- Ožičenje za RGB LED najdete v poskusu 3 SIK -ovega eksperimentalnega vodnika.
5. korak: Temperaturni senzor
- Senzor temperature je glavni del varčevanja z energijo v pametnem domu.
- Stanovalec lahko vnese želeno temperaturo za svoj dom, ko je pametni dom v uporabi.
- Senzor temperature je način, kako sistem ve, kako daleč je dejanska temperatura od želene temperature.
- Nastavitev temperaturnega senzorja najdete v poskusu 9 SIK -ovega eksperimentalnega vodnika.
6. korak: DAGU Gearmotor
- Motor omogoča pametnemu domu, da uravnava temperaturo v hiši glede na želeno temperaturo in odčitke temperaturnega senzorja.
- Motor, ki deluje kot enota za izmenični tok v domu, se vrti z različnimi hitrostmi glede na to, koliko je dejanska temperatura višja od želene temperature. Večja kot je razlika, hitreje se motor vrti.
- Ožičenje motorja najdete v vodniku za poskus v okviru poskusa 11.
7. korak: Koda
- Koda za pametni dom vključuje več uporabniških vmesnikov, ki stanovalcu omogočajo enostavno razumevanje njegovega delovanja in enostavno spreminjanje nastavitev.
- S sistemom pametnega doma bodo stanovalci prejeli e -poštno opozorilo, če je senzor gibanja izklopljen, medtem ko so odsotni.
- Edina sprememba, ki jo je treba narediti, je vstavljanje podatkov o pošiljateljevem e -poštnem naslovu in e -poštnem naslovu prejemnika.
počisti a; jasno s; jasen m; clc; zaprite vse; % Počistite arduino in servo spremenljivke, tako da jih lahko vsakič znova določite, da bo koda delovala učinkovito ("clear m" je potrebno za pravilno delovanje ene od zank while) a = arduino (); % Nastavite spremenljivko arduino
s = servo (a, 'D6'); % Nastavite servo spremenljivko
% Inicializirajte e -poštne spremenljivke za e -poštno sporočilo varnostnega sistema
e -poštna sporočila = {'vstavi naslov prejemnika'}; % Niz e -poštnih sporočil, na katera je treba poslati varnostno e -poštno sporočilo
% Nastavitve e -pošte, potrebne za uporabo Gmaila za pošiljanje pošte
setpref ('Internet', 'E_mail', 'e -poštni naslov pošiljatelja');
setpref ('Internet', 'SMTP_Username', 'uporabniško ime pošiljatelja');
setpref ('Internet', 'SMTP_Password', 'geslo pošiljatelja');
rekviziti = 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');
% Spremenljivke teme in besedila e -pošte
subj = 'Opozorilo vsiljivca na vašem domu';
text = 'Pozdravljeni, to je vaš varnostni sistem Smart Home, ki vas obvešča, da je bilo zaznano gibanje zunaj vašega doma. Sprejeli smo potrebne ukrepe in se obrnili na vas. Ostani varen.';
medtem ko je res
prompt = {'Vnesite želeno temperaturo doma (med 65F in 85F):'}; % Poziv za vnos uporabniškega menija
dlgtitle = 'Izbira temperature'; % Naslov menija za vnos uporabnika
dims = [1 30]; % Dimenzije menija za vnos uporabnika
definput = {'72'}; % Privzeti vnos, ki se prikaže ob prvem odpiranju menija
tempsel_array = inputdlg (poziv, dlgtitle, dims, definicija); % Pojavni meni za vnos uporabnika, ki shrani vneseno številko v matriko
if ~ isempty (tempsel_array) % Če polje NI prazno
tempsel_char = celica2mat (matrika_predstavka); % Pretvori matriko v niz znakov
tempsel = str2double (tempsel_char); % Pretvorite niz znakov v številke
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Izbrano temperaturo zapišite v kanal ThingSpeak
break % Prekinitev zanke while, da se meni ne prikaže večkrat
else % Če uporabnik namesto vnosa temperature klikne preklic
msg1 = msgbox ('Ni izbrane temperature, privzeto nastavljeno na 85F', 'Pozor!'); % Sporočilo, prikazano uporabniku po kliku preklica
waitfor (msg1); % Počakajte, da se polje s sporočilom zapre, preden nadaljujete
tempsel = 85; % Nastavite temperaturo, kot je navedeno v polju za sporočila
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Izbrano temperaturo zapišite v kanal ThingSpeak
break % Prekinitev zanke while, da se meni ne prikaže večkrat
konec
konec
medtem ko je res
chID = 745517; % ThingSpeak ID kanala
writeKey = 'G9XOQTP8KOVSCT0N'; % Ključ za dostop do kanala ThingSpeak
% Inicializirajte senzorje za pridobivanje podatkov
tempread = readVoltage (a, 'A3'); % Preberite napetost temperaturnega tipala
lightl1 = readVoltage (a, 'A2'); % Raven svetlobe za foto upor do rdeče LED
lightl2 = readVoltage (a, 'A5'); % Raven svetlobe za fotorezistor, ki gre v varnostni sistem
switchv = readVoltage (a, 'A0'); % Vrednost za stikalo
% Pretvorite podatke o temperaturi iz napetosti v stopinje Fahrenheita
tempC = (tempread - 0,5) * 100; % Pretvorite napetost v temperaturo v Celzijah
tempF = (tempC * 9/5) + 32; % Pretvorite temperaturo v Celzijah v temperaturo v Fahrenheitu
% Inicializirajte številke pinov za večbarvno LED
redp = 'D9'; % Pin za rdečo luč iz LED
greenp = 'D10'; % Pin za zeleno luč iz LED
bluep = 'D11'; % Pin za modro svetlobo iz LED
če tempsel <tempF % Če je izbrana temperatura višja od sobne temperature
writePosition (s, 1); % Servo se bo začel premikati
pause (10) % Servo se bo še naprej vrtelo 10 sekund, kar pomeni, da bi se AC po določenem času izklopil
writePosition (s, 0); % Za nadaljevanje kode brez ventilatorja izklopite ventilator
tempsel = 150; % Spremenite temperaturno vrednost, da se izklopi iz zanke po izklopu ventilatorja, samo za nadaljevanje kode
konec
če je lightl1 <= 3 % Če prvi fotootpornik zazna nizko stopnjo svetlobe
writeDigitalPin (a, 'A1', 1); % Vklopite rdečo LED, ki predstavlja zunanje luči
else % Če je raven svetlobe spet visoka
writeDigitalPin (a, 'A1', 0); % Ko je raven svetlobe spet dovolj visoka, izklopite rdečo LED
konec
če je stikalov> 3 % Če je stikalo vklopljeno
A = obstaja ('m', 'var'); % Preverite obstoj spremenljivke 'm', to se bo inicializiralo za zanko while in omogočilo njeno prekinitev, ko je izbran element menija (zato je treba na začetku kode počistiti m)
medtem ko se A == 0 % Loop izvaja, dokler ne obstaja spremenljivka 'm'
menutext = 'V kateri varnostni način želite vstopiti?'; % Besedilo za pojavni meni zaščite
choices = {'Doma', 'Zdoma'}; % Izbira pojavnega menija zaščite
m = meni (besedilo menija, izbire); % Pojavni meni za načine varnostnega sistema
break % Zagotavlja, da je zanka while prekinjena, zato se meni ne prikaže večkrat
konec
if m == 1 % Če je izbran način 'Home'
writeDigitalPin (a, bluep, 1); % Vklopite samo modro svetlobo v LED za spreminjanje barve
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Če je izbran način 'Away'
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Vklopite samo zeleno luč LED za spreminjanje barve
če je lightl2 <= 3 % Če je raven svetlobe v drugem fotorezistorju nizka, predstavlja gibanje, ki ga zazna varnostni sistem
sendmail (e -poštna sporočila, subj, besedilo); % Pošlji e -poštno sporočilo s predhodno določenimi lastnostmi e -pošte writeDigitalPin (a, greenp, 0); % 2 -krat vklop in izklop rdeče barve
writeDigitalPin (a, redp, 1);
premor (0,3)
writeDigitalPin (a, redp, 0);
premor (0,3)
writeDigitalPin (a, redp, 1);
premor (0,3)
writeDigitalPin (a, redp, 0);
premor (0,3)
writeDigitalPin (a, redp, 1); % Po utripanju zaključite z rdečo, da pokažete gibanje, dokler se raven svetlobe ne dvigne
msg2 = msgbox ('Varnostni sistem je odkril vsiljivca, lastnikom stanovanj je bilo poslano e -poštno sporočilo, da jih obvesti.', 'OPOZORILO!'); % Sporočilo za obveščanje uporabnika o gibanju in obveščanje o poslanem e -poštnem naslovu waitfor (msg2) % Počakajte, da se polje za sporočila zapre, preden nadaljujete
drugače
writeDigitalPin (a, greenp, 1); % Ko se raven svetlobe ponovno dvigne, bo spet postala zelena
konec
konec
elseif switchv <3,3 % Če je stikalo izklopljeno
writeDigitalPin (a, bluep, 0); % Popolnoma izklopite LED, da pokažete, da je varnostni sistem izklopljen
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
konec
konec
Priporočena:
Naredite nadzorni sistem pametnega doma na disku STONE HMI: 23 korakov
Ustvarite sistem za nadzor pametnega doma na disku STONE HMI: Uvod v projekt Naslednja vadnica vam prikazuje, kako z uporabo modula na dotik STONE STVC050WT-01 narediti preprost sistem za upravljanje gospodinjskih aparatov
SmartBox - sistem pametnega doma za vašo sobo: 6 korakov
SmartBox - sistem pametnega doma za vašo sobo: Pozdravljeni! V tem navodilu vam bom razložil, kako narediti sistem pametne sobe. Ta sistem vsebuje dve napravi: splošno napravo s senzorjem vlažnosti in temperaturnim senzorjem, ki meri trenutno kakovost bivanja v vaši sobi. Ti boš
Arduino sistem pametnega doma: 7 korakov
Arduino Smart Home System: V tem navodilu vam bomo pokazali, kako z MATLAB -jevim oblikovalcem aplikacij z rdečo ploščo Sparkfun ustvarite lasten sistem pametnega doma. Ta Instructable lahko uporabite za lažje razumevanje oblikovalca aplikacij MATLAB, pa tudi z uporabo fotoreporterja
Sistem pametnega doma: 6 korakov
Sistem pametnega doma: Ta navodila vam bodo pomagala razložiti, kako nastaviti in uporabljati naš sistem pametnega doma z uporabo programske opreme Matlab in strojne opreme Raspberry Pi. Na koncu tega navodila bi morali z lahkoto v celoti uporabljati naš izdelek
Poceni in enostaven sistem pametnega doma: 7 korakov
Poceni in enostaven sistem pametnega doma: Pozdravljeni, jaz sem Ed, star sem 15 let in se navdušujem nad računalništvom, programiranjem in elektrotehniko. Ker sem precej mlad, živim v hiši svojih staršev. Ta projekt se je začel, ko sem se odločil preseliti v mansardno/ podstrešno sobo, v postopku oblikovanja