Sadržaj:

EF230 Projekt pametne kuće: 7 koraka
EF230 Projekt pametne kuće: 7 koraka

Video: EF230 Projekt pametne kuće: 7 koraka

Video: EF230 Projekt pametne kuće: 7 koraka
Video: Причины и скорая помощь при пояснично-крестцовых нарушениях. Как разобраться и стать специалистом 2024, Juli
Anonim
EF230 Projekt pametne kuće
EF230 Projekt pametne kuće

Potrebni dijelovi i materijali:

  • 1 Arduino MKR 1000
  • 3 Oglasne ploče
  • 2 mini fotoćelije
  • 1 NPN tranzistori
  • 1 Mini prekidač za napajanje
  • 1 LED - RGB (4 zupca)
  • 1 LED (boja po vašem izboru)
  • 1 dioda 1N4148
  • 1 10K ohmski otpornici
  • 5 100 Ohm Resistor
  • 1 Senzor temperature TMP36
  • 1 DAGU 48: 1 Ratio motor
  • 25 Žice kratkospojnika
  • USB kabel
  • MATLAB program
  • SIK -ov vodič za eksperimente za Arduino 101/Genuino 101 ploču - SIK -ov vodič za eksperiment

Ovaj projekt detaljno opisuje idejno rješenje sistema pametne kuće koji bi koristio podatke kako bi pomogao vlasnicima kuća da optimiziraju potrošnju energije i sigurnost. Uključuje svjetlosni senzor za uključivanje vanjskog svjetla noću, svjetlosni senzor za sigurnost, te senzor temperature i ventilator za kontrolu unutarnje temperature.

Korak 1: LED osjetljiva LED

  • LED postavka osjetljiva na svjetlo namijenjena je predstavljanju vanjskog svjetla u kući koja se pali noću.
  • Kada mini fotoćelija osjeti smanjenu količinu svjetlosti, LED će zasvijetliti.
  • Za pametnu kuću to ima energetske i sigurnosne implikacije. Uštedjet će energiju ostavljajući svjetla isključena tokom dana, a noću će biti povećana sigurnost.
  • Tačno ožičenje i postavljanje za ovaj dio projekta mogu se pronaći u eksperimentu 7 u SIK -ovom Vodiču za eksperimente.

Korak 2: Mini prekidač za napajanje

  • Prekidač je prvi korak u sigurnosnom procesu pametne kuće.
  • Kada je uključeno, prekidač će pokrenuti odgovor pitajući korisnika želi li ući u način rada „Kod kuće“ili „Odsutni“.
  • Ako je odabran način rada „Kod kuće“, sigurnost se smatra razoružanim, ali odabirom načina rada „Odsutan“aktivirat će se sigurnosni sistem.
  • Ožičenje za ovaj dio projekta može se pronaći pod eksperimentom 6 u Vodiču za eksperiment. Za potrebe pametne kuće, LED diode i njihove spojne žice pronađene u eksperimentu 6 ne moraju biti uključene.

Korak 3: Druga fotoćelija

Druga fotoćelija
Druga fotoćelija
  • Druga fotoćelija služi kao senzor pokreta za sigurnosni sistem pametne kuće.
  • Senzor se koristi samo kada je sistem u načinu rada „Odsutno“kako je opisano u prethodnom koraku.
  • Ako fotoćelija doživi smanjenje količine svjetlosti koju prima, ona to prepoznaje kao kretanje unutar kuće.
  • Postavke za ovaj dio projekta mogu se pronaći pod eksperimentom 7 u SIK -ovom Vodiču za eksperimente. Međutim, samo fotoćelija i njene spojne žice moraju biti uključene u ožičenje.

Korak 4: RGB LED

  • RGB LED se koristi zajedno sa mini prekidačem napajanja i drugom fotoćelijom za sigurnosni sistem pametne kuće.
  • Tri različite boje koriste se kao pokazatelji za stanovnike pametne kuće.
  • Kada je sistem postavljen u 'Home' način rada, LED svijetli plavo. Kada se sistem prebaci u način rada „Odsutno“, LED svijetli zeleno. Kada se aktivira fotoćelija koja se koristi kao senzor pokreta, svjetlo treperi crveno.
  • Ožičenje za RGB LED može se pronaći u eksperimentu 3 SIK -ovog Vodiča za eksperimente.

Korak 5: Senzor temperature

  • Senzor temperature glavni je dio očuvanja energije u pametnoj kući.
  • Stanar može unijeti željenu temperaturu za svoj dom dok se pametna kuća koristi.
  • Senzor temperature pokazuje kako sistem zna koliko je stvarna temperatura udaljena od željene temperature.
  • Postavljanje senzora temperature može se pronaći u eksperimentu 9 SIK -ovog Vodiča za eksperimente.

Korak 6: DAGU Gearmotor

DAGU Gearmotor
DAGU Gearmotor
  • Motor omogućuje pametnoj kući da regulira temperaturu u kući na temelju željene temperature i očitanja senzora temperature.
  • Djelujući kao AC jedinica u kući, motor će se vrtjeti različitim brzinama ovisno o tome koliko je stvarna temperatura viša od željene temperature. Što je razlika veća, motor se brže okreće.
  • Ožičenje motora može se pronaći u Vodiču za eksperiment pod eksperimentom 11.

Korak 7: Kodirajte

  • Kôd za pametnu kuću uključuje više korisničkih sučelja koji omogućuju stanovniku da lako razumije kako radi i da lako promijeni postavke.
  • Sa sistemom pametne kuće, stanovnik će primiti upozorenje putem e -pošte ako je senzor pokreta isključen dok su odsutni.
  • Jedina promjena koju je potrebno napraviti je umetanje podataka za e -poštu pošiljatelja i e -adresu primatelja.

clear a; clear s; jasan m; clc; zatvori sve; % Očistite arduino i servo varijable tako da se mogu redefinirati svaki put kako bi se kôd učinkovito izvodio ("clear m" je potrebno za jednu od while petlji da pravilno funkcionira) a = arduino (); % Postavite arduino varijablu

s = servo (a, 'D6'); % Postavite servo varijablu

% Pokretanje varijabli e -pošte za upozorenje e -pošte sa sigurnosnim sistemom

e -poruke = {'umetni adresu primaoca'}; % Niz e -poruka na koje se šalje sigurnosna e -poruka

% Postavke e -pošte potrebne za korištenje Gmaila za slanje pošte

setpref ('Internet', 'E_mail', 'e -adresa pošiljaoca');

setpref ('Internet', 'SMTP_Korisničko ime', 'korisničko ime pošiljaoca');

setpref ('Internet', 'SMTP_Password', 'lozinka pošiljaoca');

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');

% Predmet i tekstualne varijable e -pošte

subj = 'Upozorenje protiv uljeza u vašem domu';

text = 'Zdravo, ovo je vaš sigurnosni sistem Smart Home koji vas obavještava da je otkriveno kretanje izvan vašeg doma. Preduzeli smo potrebne mjere i za vas smo kontaktirali nadležne organe. Čuvaj se. ';

dok je istina

prompt = {'Unesite željenu kućnu temperaturu (između 65F i 85F):'}; % Upit za meni za unos korisnika

dlgtitle = 'Odabir temperature'; % Naslov za meni za unos korisnika

dims = [1 30]; % Dimenzije menija za unos korisnika

definput = {'72'}; % Zadani ulaz koji se prikazuje pri prvom otvaranju izbornika

tempsel_array = inputdlg (prompt, dlgtitle, dims, definput); % Skočni izbornik za korisnički unos koji će spremiti uneseni broj u niz

if ~ isempty (tempsel_array) % Ako niz NIJE prazan

tempsel_char = cell2mat (tempsel_array); % Pretvorite niz u niz znakova

tempsel = str2double (tempsel_char); % Pretvorite niz znakova u brojeve

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Upišite odabranu temperaturu na svoj ThingSpeak kanal

break % Prekid od while petlje tako da se meni neće pojavljivati više puta

else % Ako korisnik klikne otkaži umjesto unosa temperature

msg1 = msgbox ('Nije odabrana temperatura, zadana vrijednost je 85F', 'Upozorenje!'); % Poruka prikazana korisniku nakon što klikne na dugme otkaži

waitfor (msg1); % Sačekajte da se okvir za poruku zatvori pre nego što nastavite

tempsel = 85; % Podesite temperaturu na ono što je navedeno u okviru za poruku

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Upišite odabranu temperaturu na svoj ThingSpeak kanal

break % Prekid od while petlje tako da se meni neće pojavljivati više puta

kraj

kraj

dok je istina

chID = 745517; % ThingSpeak ID kanala

writeKey = 'G9XOQTP8KOVSCT0N'; % Ključ za pristup ThingSpeak kanalu

% Inicijalizacija senzora za dohvaćanje podataka

tempread = readVoltage (a, 'A3'); % Očitajte napon senzora temperature

lightl1 = readVoltage (a, 'A2'); % Nivo svjetlosti foto otpornika ide do crvene LED diode

lightl2 = readVoltage (a, 'A5'); % Nivo svjetla za fotootpornik koji ide u sigurnosni sistem

switchv = readVoltage (a, 'A0'); % Vrijednost za prekidač

% Pretvorite podatke o temperaturi iz napona u stupnjeve Fahrenheita

tempC = (tempread - 0,5) * 100; % Pretvorite napon u temperaturu u Celzijusima

tempF = (tempC * 9/5) + 32; % Pretvorite temperaturu u Celzijusima u temperaturu u Fahrenheitu

% Inicirajte brojeve pinova za višebojnu LED diodu

redp = 'D9'; % Pin za crveno svetlo od LED diode

greenp = 'D10'; % Pin za zeleno svetlo od LED diode

bluep = 'D11'; % Pin za plavo svetlo od LED diode

if tempsel <tempF % Ako je odabrana temperatura veća od sobne temperature

writePosition (s, 1); % Servo će se početi kretati

pause (10) % Servo će se vrtjeti 10 sekundi kako bi pokazao da će se AC isključiti nakon određenog vremena

writePosition (s, 0); % Isključite ventilator radi nastavka koda bez uključenog ventilatora

tempsel = 150; % Promijenite vrijednost temperature da biste izašli iz petlje nakon isključivanja ventilatora, opet samo u svrhu nastavka koda

kraj

if lightl1 <= 3 % Ako prvi fotootpornik otkrije slab nivo svjetlosti

writeDigitalPin (a, 'A1', 1); % Uključite crvenu LED lampicu koja predstavlja spoljna svetla

else % Ako je nivo svetlosti ponovo visok

writeDigitalPin (a, 'A1', 0); % Isključite crvenu LED lampicu kada je nivo svetlosti ponovo dovoljno visok

kraj

ako je prekidačv> 3 % Ako je prekidač uključen

A = postoje ('m', 'var'); % Provjerite postoji li varijabla 'm', ovo će inicijalizirati while petlju i omogućiti njezino prekidanje pri odabiru stavke izbornika (zato se brisanje m mora učiniti na početku koda)

dok je A == 0 % Petlja će se izvršavati sve dok ne postoji varijabla 'm'

menutext = 'U koji sigurnosni način rada želite ući?'; % Tekst za iskačući meni sigurnosti

choices = {'Kod kuće', 'Odsutan'}; % Izbori za skočni izbornik sigurnosti

m = meni (tekst menija, izbori); % Skočni meni za načine rada sigurnosnog sistema

break % Osigurava da je while petlja prekinuta tako da se izbornik neće pojavljivati više puta

kraj

if m == 1 % Ako je odabran način rada 'Home'

writeDigitalPin (a, bluep, 1); % Uključite samo plavo svjetlo u LED diodi za promjenu boje

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

elseif m == 2 % Ako je odabran način rada 'Odsutan'

writeDigitalPin (a, bluep, 0);

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 1); % Uključite samo zeleno svjetlo LED diode za promjenu boje

if lightl2 <= 3 % Ako je nivo svjetlosti u drugom fotootporniku nizak, predstavlja pokret koji je otkrio sigurnosni sistem

sendmail (e -pošta, subj, tekst); % Slanje e -pošte s prethodno definiranim svojstvima e -pošte writeDigitalPin (a, greenp, 0); % Crveno bljeskalica se uključuje i isključuje 2 puta

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); % Završite neprekidno crvenom bojom nakon treptanja da pokažete da ima pokreta dok se nivo svetlosti ne vrati nazad

msg2 = msgbox ('Sigurnosni sistem otkrio uljeza, vlasnicima kuća je poslana e -poruka da ih obavijesti.', 'UPOZORENJE!'); % Okvir za poruku da obavijesti korisnika o kretanju i obavijesti o poslanoj e -pošti waitfor (msg2) % Sačekajte da se okvir za poruku zatvori prije nego nastavite

else

writeDigitalPin (a, greenp, 1); % Kada nivo svjetlosti ponovo poraste, ponovo će se pretvoriti u zeleno

kraj

kraj

elseif switchv <3,3 % Ako je prekidač isključen

writeDigitalPin (a, bluep, 0); % Potpuno isključite LED da pokažete da je sigurnosni sistem isključen

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

kraj

kraj

Preporučuje se: