Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu təlimat, Matlab proqramı və Raspberry Pi aparatından istifadə edərək Ağıllı Ev Sistemimizin necə qurulacağını və istifadəsini izah etməyə kömək edəcək. Bu təlimatın sonunda məhsulumuzu rahatlıqla tam olaraq istifadə etməyi bacarmalısınız!
Addım 1: Adım 1: Lazım olan hissələr və materiallar
- Moruq Pi
- Çörək paneli (x2)
- PIR Hərəkət sensoru
- LCD modulu
- LED İşıq
- Kondansatör
- Raspberry Pi Kamera
- Mikro Servo Motor
- İki uclu tellər (20)
Adım 2: Adım 2: Problem Bildirimi
Məhsulumuzun həll etməyə çalışdığı məsələlər əl işığı tənzimləmələri, otaq istiliyinə nəzarət və enerji səmərəliliyidir. Ortalama bir evin istifadə etdiyi enerji miqdarına diqqət yetirdik və enerji istifadəsini azaltmağın yollarını tapmaq istədik. İşıqların qalması və lazımsız termostatın istiliyi çox yüksək lazımsız enerji istifadəsini təşkil edir. İşıq, bir otaq boş olduqda söndürüldükləri yerə hərəkətə keçəcək və termostat xarici istiliyin oxunmasına əsaslanaraq ekoloji cəhətdən səmərəli bir temperatura uyğunlaşacaq.
Addım 3: Adım 3: Hərəkət Sensorunun Konfiqurasiyası
Hərəkət sensoru, seçdiyiniz 3.3V güc pininə, torpaq pininə və rəqəmsal bir pinə bağlıdır. Onlar müvafiq olaraq hərəkət sensoru üzərindəki VCC, GND və OUT portlarına bağlıdır. Hərəkət sensoru kiminsə yaxın olduğunu algılar və işıqların yandığını göstərmək üçün LED -i aktivləşdirir. Hərəkət artıq aşkar edilmədikdə, LED özünü söndürəcək. Kod aşağıdakı kimidir:
doğru olarkən
motionDetected = readDigitalPin (rpi, 3);
Əgər motionDetected == 1
writeDigitalPin (rpi, 16, 1)
başqa
writeDigitalPin (rpi, 16, 0)
bitmək
bitmək
Addım 4: Adım 4: LCD Modulu Ekranı
LCD, internetdən verilən canlı hava məlumatlarından temperatur məlumatlarını alır. LCD modulu daha sonra mövcud temperaturun oxunmasını göstərir. Matlab -da, temperatur oxunur və sonra evdəki temperaturun nə qədər tənzimlənəcəyini təyin etmək üçün if döngəsindən keçir. Kod aşağıdakı kimidir:
url = 'https://forecast.weather.gov/MapClick.php? lat = 35.9606 & lon = -83.9207 & FcstType = json';
data = webread (url);
a = data.currentobservation. Temp;
fprintf ('Xarici temperatur %s / n', a)
x = str2 sayı (a);
x> 80 olarsa
fprintf ('Termostatı 15 dərəcə aşağı çevirin')
writeDigitalPin (rpi, 26, 1) %işıqları yandırır
başqa x> 75 && x <80
fprintf ('Termostatı söndür / n')
writeDigitalPin (rpi, 26, 1) %işıqları yandırır
başqa x 55
fprintf ('Termostatı 10 dərəcə yuxarı çevirin / n')
writeDigitalPin (rpi, 26, 0) %işıqları söndürür
başqa x 45
fprintf ('Termostatı 20 dərəcə yuxarı çevirin / n')
writeDigitalPin (rpi, 26, 0) %işıqları söndürür
başqa x 40
fprintf ('Termostatı 25 dərəcə yuxarı çevirin / n')
writeDigitalPin (rpi, 26, 0) %işıqları söndürür
başqa x 30
fprintf ('Termostatı 35 dərəcə yuxarı çevirin / n')
başqa
fprintf ('Termostatı 65 dərəcəyə çevirin / n')
bitmək
Adım 5: Adım 5: Motor Servo Modulu
Motor Servo Modulu, pərdələri açmaq və bağlamaq qabiliyyətini təmsil edir. Evin soyudulması lazım olduqda, pərdələr daha az istiliyin daxil olması üçün bağlanacaq. Evin istiləşməsi lazım olduqda, daha tez istilənmək üçün pərdələr açılacaq. Seçimlər menyusu ilə qarşılıqlı əlaqədə olan istifadəçidən giriş alaraq servo nə edəcəyinə qərar verir. Motorun kodu belədir:
s = servo (rpi, 3)
writeDigitalPin (rpi, 4, 1)
yazma Vəzifəsi (lər, 45)
temp_sys = menyu ('Necəsən?') %temp tənzimləyicisi
temp_sys == 1 %isti olarsa
writeDigitalPin (rpi, 26, 1) %işıqları yandırır
writePosition (s, 0) %motoru CW/CCW -ə çevirir
pərdələri bağlayın, işıqları söndürün
başqa temp_sys == 2 %soyuq
writeDigitalPin (rpi, 26, 0) %işıqları söndürür
writePosition (s, 180) %motoru CCW/CW çevirir
pərdələri açın, işıqları yandırın
elseif temp_sys == 3 %doğru
fprintf ('Temperaturun saxlanması. / n')
bitmək
Addım 6: Adım 6: Hərəkət Sensor Kamerası
Hərəkət sensoru kamerası bir otağa girən və ya çıxanların şəklini çəkir. Bunu evlərində kimlərin olduğu ilə maraqlananlar üçün əlavə bir təhlükəsizlik xüsusiyyəti olaraq seçdik. Hərəkət sensoru hərəkəti algıladığında, Matlab kodu kameraya bir şəkil çəkib göstərməsini bildirir. Kod aşağıdakı kimidir:
i = 0
aydın kamera
cam = kamera lövhəsi (rpi);
mən isə == 0
anlıq görüntü (kamera); %aydın görüntü tamponu
img = anlıq görüntü (cam);
imagesc (img);
bitmək