Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Ove upute pomoći će vam objasniti kako postaviti i koristiti naš sustav pametne kuće pomoću softvera Matlab i hardvera Raspberry Pi. Na kraju ovog uputstva trebali biste moći s lakoćom u potpunosti koristiti naš proizvod!
Korak 1: Korak 1: Potrebni dijelovi i materijali
- Malina Pi
- Oglasna ploča (x2)
- PIR senzor pokreta
- LCD modul
- LED svjetlo
- Kondenzator
- Raspberry Pi kamera
- Mikro servo motor
- Dvostruke žice (20)
Korak 2: Korak 2: Izjava o problemu
Problemi koje naš proizvod pokušava riješiti su ručna kontrola svjetla, kontrola unutarnje temperature i energetska učinkovitost. Usredotočili smo se na količinu energije koju prosječan dom troši i htjeli smo pronaći načine za smanjenje potrošnje energije. Ostavljena svjetla i nepotrebne temperature termostata uzrokuju vrlo veliku nepotrebnu potrošnju energije. Svjetlo će se pokretom aktivirati do mjesta na kojem se isključuju kad je soba prazna, a termostat se prilagođava okolišno učinkovitoj temperaturi na temelju očitanja vanjske temperature.
Korak 3: Korak 3: Konfiguracija senzora pokreta
Senzor pokreta spojen je na utičnicu za napajanje od 3,3 V, uzemljenje i digitalni pin prema vašem izboru. Spojeni su na VCC, GND i OUT priključke na senzoru pokreta. Senzor pokreta će otkriti kada je netko u blizini i aktivirati LED kako bi pokazao da su svjetla uključena. Kad se kretanje više ne detektira, LED će se sama isključiti. Kod je sljedeći:
dok je istina
motionDetected = readDigitalPin (rpi, 3);
ako je MotionDetected == 1
writeDigitalPin (rpi, 16, 1)
drugo
writeDigitalPin (rpi, 16, 0)
kraj
kraj
Korak 4: Korak 4: Prikaz LCD modula
LCD preuzima podatke o temperaturi iz vremenskih podataka uživo s interneta. LCD modul tada prikazuje očitavanje trenutne temperature. U Matlabu se očitava temperatura, a zatim prolazi kroz if petlju kako bi se utvrdilo koliko treba prilagoditi postavku temperature u domu. Kod je sljedeći:
url = 'https://forecast.weather.gov/MapClick.php? lat = 35.9606 & lon = -83.9207 & FcstType = json';
data = webread (url);
a = data.currentobservation. Temp;
fprintf ('Vanjska temperatura je %s / n', a)
x = str2num (a);
ako je x> 80
fprintf ('Smanji termostat za 15 stupnjeva')
writeDigitalPin (rpi, 26, 1) %uključuje svjetla
inače, ako je x> 75 && x <80
fprintf ('Isključi termostat / n')
writeDigitalPin (rpi, 26, 1) %uključuje svjetla
inače x 55
fprintf ('Okrenite termostat za 10 stupnjeva / n')
writeDigitalPin (rpi, 26, 0) %isključuje svjetla
inače x 45
fprintf ('Okrenite termostat za 20 stupnjeva / n')
writeDigitalPin (rpi, 26, 0) %isključuje svjetla
inače x 40
fprintf ('Okrenite termostat na 25 stupnjeva / n')
writeDigitalPin (rpi, 26, 0) %isključuje svjetla
inače x 30
fprintf ('Okrenite termostat za 35 stupnjeva / n')
drugo
fprintf ('Okrenite termostat do 65 stupnjeva / n')
kraj
Korak 5: Korak 5: Servo modul motora
Motorni servo modul predstavlja sposobnost otvaranja i zatvaranja roleta. Kad je potrebno rashladiti dom, rolete će se zatvoriti kako bi propustile manje topline. Kad je potrebno zagrijati dom, rolete će se otvoriti kako bi se brže zagrijale. Servo odlučuje što će učiniti primajući ulaz od korisnika u interakciji s izbornikom opcija. Kôd za motor je sljedeći:
s = servo (rpi, 3)
writeDigitalPin (rpi, 4, 1)
writePosition (s, 45)
temp_sys = izbornik ('Kako se osjećate?') %regulator temperature
ako je temp_sys == 1 %vruće
writeDigitalPin (rpi, 26, 1) %uključuje svjetla
writePosition (s, 0) %okreće motor CW/CCW
zatvorite rolete, ugasite svjetla
elseif temp_sys == 2 %hladno
writeDigitalPin (rpi, 26, 0) %isključuje svjetla
writePosition (s, 180) %okreće motor CCW/CW
otvoriti rolete, upaliti svjetla
elseif temp_sys == 3 %taman
fprintf ('Održavanje statusa temperature. / n')
kraj
Korak 6: Korak 6: Kamera sa senzorom pokreta
Kamera senzora pokreta fotografira one koji ulaze ili izlaze iz sobe. Odabrali smo ovo kao dodatnu sigurnosnu značajku za one koji su znatiželjni o tome tko je bio u njihovom domu. Kad senzor pokreta detektira kretanje, Matlab kôd govori kameri da napravi sliku i prikaže je. Kod je sljedeći:
i = 0
prozirna kamera
cam = kamera (rpi);
dok je i == 0
snimak (kamera); %čist međuspremnik slike
img = snimak (kamera);
imagesc (img);
kraj