Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Instruksi ini akan membantu menjelaskan cara mengatur dan menggunakan Sistem Rumah Pintar kami dengan menggunakan perangkat lunak Matlab dan perangkat keras Raspberry Pi. Di akhir instruksi ini, Anda seharusnya dapat sepenuhnya menggunakan produk kami dengan mudah!
Langkah 1: Langkah 1: Bagian dan Bahan yang Dibutuhkan
- Raspberry Pi
- Papan tempat memotong roti (x2)
- Sensor gerak PIR
- Modul LCD
- Lampu LED
- Kapasitor
- Kamera Raspberry Pi
- Motor Servo Mikro
- Kabel Berakhir Ganda (20)
Langkah 2: Langkah 2: Pernyataan Masalah
Masalah yang coba diatasi oleh produk kami adalah kontrol lampu manual, kontrol suhu dalam ruangan, dan efisiensi energi. Kami berfokus pada jumlah energi yang digunakan rata-rata rumah, dan kami ingin menemukan cara untuk mengurangi penggunaan energi. Lampu yang dibiarkan menyala dan suhu termostat yang tidak perlu menyebabkan penggunaan energi yang tidak perlu sangat tinggi. Lampu akan diaktifkan gerak ke tempat mereka mati saat ruangan kosong, dan termostat menyesuaikan ke suhu yang efisien lingkungan berdasarkan pembacaan suhu di luar ruangan.
Langkah 3: Langkah 3: Konfigurasi Sensor Gerak
Sensor gerak terhubung ke pin daya 3.3V, pin ground, dan pin digital pilihan Anda. Masing-masing terhubung ke port VCC, GND, dan OUT pada sensor gerak. Sensor gerak akan mendeteksi ketika seseorang berada di dekat dan mengaktifkan LED untuk menunjukkan bahwa lampu menyala. Setelah gerakan tidak lagi terdeteksi, LED akan mati dengan sendirinya. Kodenya adalah sebagai berikut:
sementara benar
motionDetected = readDigitalPin(rpi, 3);
jika gerakan Terdeteksi == 1
tulisDigitalPin(rpi, 16, 1)
lain
tulisDigitalPin(rpi, 16, 0)
akhir
akhir
Langkah 4: Langkah 4: Tampilan Modul LCD
LCD mengambil data suhu dari informasi cuaca langsung yang disediakan dari internet. Modul LCD kemudian menampilkan pembacaan suhu saat ini. Di Matlab, suhu dibaca dan kemudian melalui loop if untuk menentukan berapa banyak untuk menyesuaikan pengaturan suhu di rumah. Kodenya adalah sebagai berikut:
url='https://forecast.weather.gov/MapClick.php?lat=35.9606&lon=-83.9207&FcstType=json';
data = webread(url);
a = data.currentobservation. Temp;
fprintf('Suhu luar ruangan adalah %s\n', a)
x = str2num(a);
jika x > 80
fprintf('Turunkan termostat 15 derajat')
writeDigitalPin(rpi, 26, 1) %menyalakan lampu
jika x > 75 && x < 80
fprintf('Matikan termostat \n')
writeDigitalPin(rpi, 26, 1) %menyalakan lampu
jika tidak x 55
fprintf('Naikkan termostat 10 derajat \n')
writeDigitalPin(rpi, 26, 0) %mematikan lampu
jika tidak x 45
fprintf('Naikkan termostat 20 derajat \n')
writeDigitalPin(rpi, 26, 0) %mematikan lampu
jika tidak x 40
fprintf('Naikkan termostat 25 derajat \n')
writeDigitalPin(rpi, 26, 0) %mematikan lampu
jika tidak x 30
fprintf('Naikkan termostat 35 derajat \n')
lain
fprintf('Putar termostat hingga 65 derajat \n')
akhir
Langkah 5: Langkah 5: Modul Servo Motor
Modul Motor Servo adalah untuk mewakili kemampuan membuka dan menutup tirai. Saat rumah perlu didinginkan, kerai akan menutup agar lebih sedikit panas yang masuk. Saat rumah perlu dihangatkan, kerai akan terbuka untuk menghangatkannya lebih cepat. Servo memutuskan mana yang harus dilakukan dengan menerima masukan dari pengguna yang berinteraksi dengan menu opsi. Kode untuk motor adalah sebagai berikut:
s = servo(rpi, 3)
tulisDigitalPin(rpi, 4, 1)
tulisPosisi(s, 45)
temp_sys = menu('Bagaimana perasaanmu?') %penyetel suhu
jika temp_sys == 1% panas
writeDigitalPin(rpi, 26, 1) %menyalakan lampu
writePosition(s, 0) %memutar motor CW/CCW
tutup gorden, matikan lampu
elseif temp_sys == 2% dingin
writeDigitalPin(rpi, 26, 0) %mematikan lampu
writePosition(s, 180) %memutar motor CCW/CW
buka tirai, nyalakan lampu
elseif temp_sys == 3% tepat
fprintf('Mempertahankan status suhu.\n')
akhir
Langkah 6: Langkah 6: Kamera Sensor Gerak
Kamera sensor gerak mengambil foto mereka yang masuk atau keluar ruangan. Kami memilih ini sebagai fitur keamanan tambahan bagi mereka yang ingin tahu siapa yang telah berada di rumah mereka. Ketika sensor gerak mendeteksi gerakan, kode Matlab memberitahu kamera untuk mengambil gambar dan menampilkannya. Kodenya adalah sebagai berikut:
saya=0
kamera bening
cam = papan kamera (rpi);
sementara saya==0
snapshot (kamera); %hapus buffer gambar
img = foto(kamera);
gambarc(img);
akhir