Innholdsfortegnelse:

Smart Home System: 6 trinn
Smart Home System: 6 trinn

Video: Smart Home System: 6 trinn

Video: Smart Home System: 6 trinn
Video: Экосистемы умного дома: подробный обзор и особенности, всё, что Вы должны знать 2024, Juli
Anonim
Smart Home System
Smart Home System

Denne instruksen vil hjelpe deg med å forklare hvordan du konfigurerer og bruker vårt Smart Home System ved å bruke Matlab -programvaren og Raspberry Pi -maskinvaren. På slutten av denne instruksen, bør du enkelt kunne bruke produktet vårt fullt ut!

Trinn 1: Trinn 1: Nødvendige deler og materialer

Trinn 1: Nødvendige deler og materialer
Trinn 1: Nødvendige deler og materialer
Trinn 1: Nødvendige deler og materialer
Trinn 1: Nødvendige deler og materialer
  • Bringebær Pi
  • Brødbrett (x2)
  • PIR bevegelsessensor
  • LCD -modul
  • LED lys
  • Kondensator
  • Raspberry Pi -kamera
  • Mikro servomotor
  • Doble ledninger (20)

Trinn 2: Trinn 2: Problemerklæring

Problemene som produktet vårt prøver å løse er manuelle lysstyringer, innetemperaturkontroll og energieffektivitet. Vi fokuserte på mengden energi som det gjennomsnittlige hjemmet bruker, og vi ønsket å finne måter å redusere energiforbruket på. Lys som tennes og unødvendige termostattemperaturer står for svært høyt unødvendig energiforbruk. Lyset vil bli bevegelsesaktivert til der de slås av når et rom er ledig, og termostaten justerer seg til en miljøeffektiv temperatur basert på avlesning av utetemperaturen.

Trinn 3: Trinn 3: Bevegelsessensorkonfigurasjon

Trinn 3: Bevegelsessensorkonfigurasjon
Trinn 3: Bevegelsessensorkonfigurasjon

Bevegelsessensoren er koblet til en 3.3V strømpinne, jordet pinne og en digital pinne du velger. De er koblet til henholdsvis VCC-, GND- og OUT -portene på bevegelsessensoren. Bevegelsessensoren vil oppdage når noen er i nærheten og aktiverer LED -en for å indikere at lysene er slått på. Når bevegelse ikke lenger blir oppdaget, vil LED -en slå seg av. Koden er som følger:

mens det er sant

motionDetected = readDigitalPin (rpi, 3);

hvis motionDetected == 1

writeDigitalPin (rpi, 16, 1)

ellers

writeDigitalPin (rpi, 16, 0)

slutt

slutt

Trinn 4: Trinn 4: LCD -modulskjerm

Trinn 4: LCD -modulvisning
Trinn 4: LCD -modulvisning

LCD -skjermen tar temperaturdataene fra liveværinformasjonen fra internett. LCD -modulen viser deretter gjeldende temperaturavlesning. I Matlab leses temperaturen og går deretter gjennom en if -sløyfe for å bestemme hvor mye temperaturinnstillingen 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 ('Utetemperaturen er %s / n', a)

x = str2num (a);

hvis x> 80

fprintf ('Skru ned termostaten 15 grader')

writeDigitalPin (rpi, 26, 1) %tenner lys

elseif x> 75 && x <80

fprintf ('Slå av termostaten / n')

writeDigitalPin (rpi, 26, 1) %tenner lys

annet x 55

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

writeDigitalPin (rpi, 26, 0) %slår av lys

annet x 45

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

writeDigitalPin (rpi, 26, 0) %slår av lys

annet x 40

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

writeDigitalPin (rpi, 26, 0) %slår av lys

annet x 30

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

ellers

fprintf ('Skru termostaten opp til 65 grader / n')

slutt

Trinn 5: Trinn 5: Motorservomodul

Trinn 5: Motorservomodul
Trinn 5: Motorservomodul

Motorservomodulen skal representere evnen til å åpne og lukke persienner. Når hjemmet må avkjøles, vil persiennene stenge for å slippe inn mindre varme. Når hjemmet må varmes, åpnes persiennene for å varme det opp raskere. Servoen bestemmer hva som skal gjøres ved å motta input fra brukeren som samhandler med en meny med alternativer. Koden for motoren er som følger:

s = servo (rpi, 3)

writeDigitalPin (rpi, 4, 1)

writePosition (s, 45)

temp_sys = meny ('Hvordan føler du deg?') %temp justerer

hvis temp_sys == 1 %varmt

writeDigitalPin (rpi, 26, 1) %tenner lys

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

lukk persienner, slå av lys

elseif temp_sys == 2 %kaldt

writeDigitalPin (rpi, 26, 0) %slår av lys

writePosisjon (er, 180) %svinger motoren CCW/CW

åpne persienner, slå på lys

elseif temp_sys == 3 %akkurat

fprintf ('Opprettholder temperaturstatus. / n')

slutt

Trinn 6: Trinn 6: Bevegelsessensorkamera

Trinn 6: Bevegelsessensorkamera
Trinn 6: Bevegelsessensorkamera

Bevegelsessensorkameraet tar et bilde av de som kommer inn eller ut av et rom. Vi valgte dette som en ekstra sikkerhetsfunksjon for de som er nysgjerrige på hvem som har vært i hjemmet sitt. Når bevegelsessensoren oppdager bevegelse, ber Matlab -koden kameraet om å ta et bilde og vise det. Koden er som følger:

jeg = 0

klar kamera

cam = kamerabord (rpi);

mens i == 0

øyeblikksbilde (kamera); %klar bildebuffer

img = øyeblikksbilde (kamera);

imagesc (img);

slutt

Anbefalt: