Indholdsfortegnelse:

Smart Home System: 6 trin
Smart Home System: 6 trin

Video: Smart Home System: 6 trin

Video: Smart Home System: 6 trin
Video: TechBaeLoading Diaries 👩🏾‍💻 Entry: 6 Adding Automated Light to Smart Home System 2024, November
Anonim
Smart Home System
Smart Home System

Denne instruktør hjælper med at forklare, hvordan du konfigurerer og bruger vores Smart Home System ved hjælp af Matlab -softwaren og Raspberry Pi -hardware. I slutningen af denne instruktive skal du let kunne bruge vores produkt fuldt ud!

Trin 1: Trin 1: Nødvendige dele og materialer

Trin 1: Nødvendige dele og materialer
Trin 1: Nødvendige dele og materialer
Trin 1: Nødvendige dele og materialer
Trin 1: Nødvendige dele og materialer
  • Hindbær Pi
  • Brødbræt (x2)
  • PIR Bevægelsessensor
  • LCD -modul
  • Led lys
  • Kondensator
  • Hindbær Pi kamera
  • Mikro servomotor
  • Dobbelte ledninger (20)

Trin 2: Trin 2: Problemformulering

De problemer, som vores produkt forsøger at løse, er manuelle lysstyringer, indendørs temperaturkontrol og energieffektivitet. Vi fokuserede på mængden af energi, som det gennemsnitlige hjem bruger, og vi ønskede at finde måder at reducere energiforbruget på. Lys, der forbliver tændt og unødvendige termostattemperaturer tegner sig for meget højt unødvendigt energiforbrug. Lyset vil blive bevægelsesaktiveret til det sted, hvor de slukker, når et rum er ledigt, og termostaten tilpasser sig en miljøeffektiv temperatur baseret på aflæsningen af udetemperaturen.

Trin 3: Trin 3: Konfiguration af bevægelsessensor

Trin 3: Konfiguration af bevægelsessensor
Trin 3: Konfiguration af bevægelsessensor

Bevægelsessensoren er tilsluttet en 3,3V power pin, jordstift og en digital pin efter eget valg. De er tilsluttet henholdsvis VCC-, GND- og OUT -portene på bevægelsessensoren. Bevægelsessensoren registrerer, når nogen er i nærheden, og aktiverer LED'en for at indikere, at lysene er tændt. Når bevægelse ikke længere er registreret, slukker LED'en sig selv. Koden er som følger:

mens det er sandt

motionDetected = readDigitalPin (rpi, 3);

hvis motionDetected == 1

writeDigitalPin (rpi, 16, 1)

andet

writeDigitalPin (rpi, 16, 0)

ende

ende

Trin 4: Trin 4: LCD -modulskærm

Trin 4: LCD -modulskærm
Trin 4: LCD -modulskærm

LCD -skærmen tager temperaturdataene fra oplysninger om levende vejr fra internettet. LCD -modulet viser derefter den aktuelle temperaturmåling. I Matlab læses temperaturen og går derefter gennem en if -loop for at bestemme, hvor meget temperaturindstillingen i hjemmet skal justeres. Koden er som følger:

url = 'https://forecast.weather.gov/MapClick.php? lat = 35.9606 & lon = -83.9207 & FcstType = json';

data = webread (url);

a = data.currentobservation. Temp;

fprintf ('Udetemperaturen er %s / n', a)

x = str2num (a);

hvis x> 80

fprintf ('Sænk termostaten 15 grader')

writeDigitalPin (rpi, 26, 1) %tænder lys

elseif x> 75 && x <80

fprintf ('Sluk termostaten / n')

writeDigitalPin (rpi, 26, 1) %tænder lys

ellers x 55

fprintf ('Skru termostaten op 10 grader / n')

writeDigitalPin (rpi, 26, 0) %slukker lys

ellers x 45

fprintf ('Skru termostaten op 20 grader / n')

writeDigitalPin (rpi, 26, 0) %slukker lys

ellers x 40

fprintf ('Skru termostaten op 25 grader / n')

writeDigitalPin (rpi, 26, 0) %slukker lys

ellers x 30

fprintf ('Skru termostaten op 35 grader / n')

andet

fprintf ('Drej termostaten op til 65 grader / n')

ende

Trin 5: Trin 5: Motorservomodul

Trin 5: Motorservomodul
Trin 5: Motorservomodul

Motorservomodulet skal repræsentere evnen til at åbne og lukke persienner. Når hjemmet skal afkøles, lukker persiennerne for at slippe mindre varme ind. Når hjemmet skal varmes op, åbnes persiennerne for at varme det hurtigere op. Servoen bestemmer, hvad den skal gøre ved at modtage input fra brugeren, der interagerer med en menu med muligheder. Koden til motoren er som følger:

s = servo (rpi, 3)

writeDigitalPin (rpi, 4, 1)

writePosition (r, 45)

temp_sys = menu ('Hvordan har du det?') %temp justering

hvis temp_sys == 1 %varmt

writeDigitalPin (rpi, 26, 1) %tænder lys

writePosition (s, 0) %drejer motorens CW/CCW

luk persienner, sluk lys

elseif temp_sys == 2 %kold

writeDigitalPin (rpi, 26, 0) %slukker lyset

writePosition (s, 180) %drejer motoren CCW/CW

åbne persienner, tænde lys

elseif temp_sys == 3 %helt i orden

fprintf ('Vedligeholdelse af temperaturstatus. / n')

ende

Trin 6: Trin 6: Bevægelsessensorkamera

Trin 6: Bevægelsessensorkamera
Trin 6: Bevægelsessensorkamera

Bevægelsessensorkameraet tager et foto af dem, der kommer ind i eller forlader et værelse. Vi valgte dette som en ekstra sikkerhedsfunktion for dem, der er nysgerrige efter, hvem der har været i deres hjem. Når bevægelsessensoren registrerer bevægelse, fortæller Matlab -koden kameraet at tage et billede og vise det. Koden er som følger:

jeg = 0

klart kamera

cam = cameraboard (rpi);

mens i == 0

øjebliksbillede (cam); %klar billedbuffer

img = øjebliksbillede (cam);

billederc (img);

ende

Anbefalede: