SISTEM KENDALI RUMAH PINTAR BERBASIS RASPBERRY PI PICO DENGAN MONITORING SUHU DAN KEAMANAN MANDIRI
SISTEM KENDALI RUMAH PINTAR BERBASIS RASPBERRY PI PICO
DENGAN
MONITORING SUHU DAN KEAMANAN MANDIRI
Dosen
Pengampu :
Dr.
Samuel Beta Kuntardjo, Ing.Tech., M.T.
Disusun Oleh
Kelompok 3/ RE-3C:
|
1. |
Ahmad Abi Ridwan |
4.34.23.2.02 |
|
2. |
Fitri Aulia |
4.34.23.2.08 |
|
3. |
Muhammad Riyadh Ayyasy |
4.34.23.2.15 |
|
4. |
Rayhan Maulana Z.S |
4.34.23.2.21 |
|
|
|
|
PROGRAM
STUDI D4 TEKNOLOGI REKAYASA ELEKTRONIKA
JURUSAN
TEKNIK ELEKTRO
POLITEKNIK
NEGERI SEMARANG
2026
KATA PENGANTAR
Puji syukur kami
panjatkan kepada Tuhan Yang Maha Esa atas segala rahmat dan karunia-Nya,
sehingga kami dapat menyelesaikan proyek tugas besar ini dengan judul “Sistem
Kendali Rumah Pintar Berbasis Raspberry Pi Pico dengan Monitoring Suhu dan
Keamanan Mandiri” dengan baik. Proyek ini merupakan bagian dari upaya kami
untuk memahami dan mengaplikasikan prinsip-prinsip sistem kendali cerdas dan
embedded system yang sangat penting dalam penerapan teknologi rumah pintar
(smart home) di kehidupan sehari-hari.
Pemantauan suhu,
deteksi gerak, dan otomatisasi peralatan rumah tangga merupakan aspek krusial
dalam mewujudkan hunian yang efisien dan aman. Dengan adanya sistem kendali
yang bekerja secara otomatis, efisiensi energi dapat ditingkatkan dan tingkat
keamanan rumah dari risiko penyusupan dapat diminimalkan, tanpa memerlukan
intervensi manusia secara terus-menerus.
Tugas besar ini
tidak hanya bertujuan untuk memahami prinsip dasar sistem kendali otomatis,
tetapi juga untuk merancang dan mengimplementasikan sistem kendali rumah pintar
secara praktis menggunakan mikrokontroler Raspberry Pi Pico. Dalam
pelaksanaannya, kami memanfaatkan berbagai komponen elektronik seperti sensor
suhu, sensor gerak, relay, LCD, dan buzzer, serta mengintegrasikannya ke dalam
tiga mode operasi yang dapat dipilih pengguna melalui tombol antarmuka.
Kami menyadari
bahwa penyelesaian proyek ini tidak lepas dari bantuan dan dukungan berbagai
pihak. Oleh karena itu, kami ingin mengucapkan terima kasih yang
sebesar-besarnya kepada dosen pengampu Dr. Samuel Beta Kuntardjo, Ing.Tech.,
M.T., serta teman-teman yang telah membantu selama proses pengerjaan.
Semoga hasil
dari proyek tugas besar ini dapat memberikan kontribusi yang bermanfaat dan
menjadi referensi dalam pengembangan sistem rumah pintar di berbagai bidang.
Kami juga berharap proyek ini dapat memberikan pemahaman yang lebih dalam
mengenai teknologi kendali otomatis dan penerapannya dalam dunia nyata.
BAB I
PENDAHULUAN
1.1 Latar
Belakang
Pemborosan
energi listrik sering terjadi akibat peralatan seperti lampu yang tetap menyala
saat tidak ada penghuni di dalam ruangan. Kondisi ini menunjukkan bahwa
pengendalian peralatan rumah tangga secara manual cenderung kurang efisien,
sehingga dibutuhkan sebuah sistem yang dapat mengatur penggunaan energi secara
otomatis berdasarkan kondisi lingkungan, misalnya suhu ruangan.
Selain isu
efisiensi energi, tingkat kerentanan rumah kosong terhadap aksi penyusup juga
menjadi perhatian penting. Rumah yang ditinggalkan oleh penghuninya dalam waktu
tertentu memerlukan sistem peringatan dini yang mandiri dan dapat bekerja
secara otomatis tanpa intervensi manusia, sehingga potensi tindak kejahatan
dapat dideteksi dan diantisipasi lebih awal.
Seiring dengan
perkembangan teknologi, penggunaan mikrokontroler semakin banyak diterapkan
dalam pembuatan sistem otomatisasi rumah pintar (smart home). Salah satu
mikrokontroler yang populer dan efisien adalah Raspberry Pi Pico dengan chip
RP2040. Mikrokontroler ini memiliki kemampuan untuk membaca data dari berbagai
sensor sekaligus dan memberikan kendali otomatis pada beberapa perangkat secara
bersamaan menggunakan bahasa pemrograman MicroPython. Dalam konteks rumah
pintar, Raspberry Pi Pico dapat digunakan untuk memantau suhu ruangan secara
real-time, mendeteksi gerakan manusia, serta mengendalikan aktuator seperti
kipas dan lampu agar kondisi ruangan tetap nyaman dan aman.
1.2 Tujuan
1. Mengendalikan suhu ruangan secara otomatis
menggunakan aktuator kipas berdasarkan pembacaan sensor DHT11.
2. Meningkatkan sistem keamanan rumah dengan
deteksi pergerakan real-time menggunakan sensor PIR.
3. Menyediakan umpan balik status sistem
secara langsung kepada pengguna melalui antarmuka LCD 16x2.
1.3 Rumusan Masalah
• Bagaimana cara merancang sistem kendali
rumah pintar otomatis berbasis mikrokontroler Raspberry Pi Pico yang mampu
memantau suhu dan mendeteksi pergerakan?
• Bagaimana sistem dapat mengendalikan kipas
dan lampu secara otomatis sesuai dengan kondisi suhu dan keberadaan penghuni di
dalam ruangan?
• Bagaimana sistem dapat memberikan
peringatan dini yang akurat ketika mendeteksi adanya penyusup saat mode
keamanan mandiri diaktifkan?
BAB II
TINJAUAN PUSTAKA
2.1 Raspberry Pi Pico (RP2040)
Gambar 1. 1 Pi Pico
Raspberry Pi Pico adalah papan
mikrokontroler mungil berbasis chip RP2040 yang dikembangkan oleh Raspberry Pi
Foundation. Mikrokontroler ini memiliki prosesor dual-core ARM
Cortex-M0+, 26 pin GPIO multifungsi, serta mendukung komunikasi I2C, SPI, dan
UART. Raspberry Pi Pico dapat diprogram menggunakan bahasa MicroPython maupun
C/C++, sehingga sangat fleksibel digunakan untuk berbagai aplikasi embedded
system, termasuk sistem otomatisasi rumah pintar. Dalam sistem ini, Raspberry
Pi Pico berfungsi sebagai pengendali utama yang membaca data dari sensor DHT11,
sensor PIR, dan empat push button, kemudian mengolah data tersebut untuk
mengendalikan relay, LCD, dan buzzer.
2.2 Sensor Suhu dan Kelembapan DHT11
Gambar 1. 2 DHT11
Sensor DHT11 adalah sensor digital
yang mampu mengukur suhu dan kelembapan udara sekaligus dalam satu modul. Sensor
ini menggunakan komunikasi satu jalur (single-wire) untuk mengirimkan data
digital ke mikrokontroler, sehingga tidak memerlukan konversi analog ke digital
tambahan. DHT11 memiliki rentang pengukuran suhu sekitar 0–50°C dengan akurasi
±2°C, cukup memadai untuk aplikasi pemantauan suhu ruangan pada skala rumah
tangga. Pada sistem rumah pintar ini, DHT11 terhubung pada pin GP15 dan
digunakan untuk membaca suhu ruangan secara berkala sebagai dasar pengambilan
keputusan untuk menyalakan atau mematikan kipas pendingin pada mode otomatis.
2.3 Sensor PIR HC-SR501
Gambar 1. 3 HC-SR501
Passive Infra Red (PIR) sensor
HC-SR501 adalah sensor yang mendeteksi keberadaan makhluk hidup melalui
pancaran radiasi infra-merah tubuh. Sensor ini akan menghasilkan output
logika tinggi ketika mendeteksi adanya pergerakan dalam jangkauan deteksinya,
dan logika rendah ketika tidak ada pergerakan. HC-SR501 banyak digunakan pada
sistem keamanan otomatis karena responsnya yang cepat, konsumsi daya rendah,
dan kemudahan integrasi dengan mikrokontroler. Pada sistem ini, sensor PIR
terhubung pada pin GP11 dan menjadi komponen utama dalam mode SIAGA (mode
keamanan), di mana sistem akan membunyikan buzzer apabila terdeteksi pergerakan
saat mode tersebut aktif.
2.4 Relay 1 Channel 5V
Gambar 1. 4 Relay 2 Channel
Relay adalah
saklar elektronik yang dikendalikan oleh sinyal listrik bertegangan rendah dari
mikrokontroler untuk menghubungkan atau memutuskan rangkaian bertegangan lebih
tinggi. Modul relay 2 channel memungkinkan satu mikrokontroler mengendalikan
dua perangkat secara independen, dalam hal ini kipas DC dan lampu. Penggunaan
relay memberikan isolasi galvanis antara rangkaian kendali (Raspberry Pi Pico)
dan rangkaian beban (kipas dan lampu), sehingga aman digunakan meskipun beban
yang dikendalikan memiliki spesifikasi tegangan berbeda. Pada sistem ini, Relay
1 terhubung pada pin GP8 untuk mengendalikan kipas, sedangkan Relay 2 terhubung
pada pin GP12 untuk mengendalikan lampu.
2.5 LCD 16x2 I2C
Gambar 1. 5 LCD 2x16 I2C
LCD (Liquid
Crystal Display) 16x2 dengan modul I2C adalah layar karakter yang dapat
menampilkan dua baris teks, masing-masing terdiri dari 16 karakter. Penggunaan
modul I2C memungkinkan LCD dikendalikan hanya menggunakan dua jalur komunikasi,
yaitu SDA dan SCL, sehingga menghemat penggunaan pin GPIO pada mikrokontroler.
Pada sistem ini, LCD terhubung melalui jalur SDA pada GP1 dan SCL pada GP0, dan
berfungsi untuk menampilkan status sistem secara langsung kepada pengguna,
seperti suhu terkini, mode yang sedang aktif (AUTO/MANUAL/SIAGA), serta status
kipas dan lampu.
2.6 Buzzer
Gambar 1. 6 Buzzer
Buzzer adalah
komponen elektronik yang mengubah energi listrik menjadi getaran suara, umumnya
digunakan sebagai indikator peringatan pada sistem elektronik. Pada sistem
rumah pintar ini, buzzer terhubung pada pin GP10 dan berfungsi sebagai output
peringatan keamanan. Buzzer akan aktif secara latching (tetap berbunyi hingga
dimatikan secara manual) ketika sensor PIR mendeteksi pergerakan pada saat mode
SIAGA diaktifkan, sehingga memastikan peringatan tidak terlewat oleh pengguna.
2.7 Push Button
Gambar 1. 7 Push Button
Push button
adalah saklar tekan sederhana yang digunakan sebagai antarmuka input pengguna
pada sistem ini. Empat buah push button digunakan dan terhubung pada pin GP4,
GP9, GP5, dan GP6, masing-masing berfungsi untuk memilih mode operasi (AUTO,
MANUAL, SIAGA) serta mengendalikan kipas dan lampu secara manual. Pembacaan
input push button pada sistem ini diolah menggunakan teknik debounce berbasis
timestamp (non-blocking), bukan fungsi sleep yang bersifat blocking, sehingga
sistem tetap responsif dalam membaca sensor lain secara bersamaan.
BAB III
PERANCANGAN ALAT
3.1 Daftar
Komponen
Komponen yang digunakan dalam
perancangan alat:
1.
1 x Raspberry Pi Pico (RP2040)
2.
1 x Sensor Suhu dan Kelembapan DHT11
3.
1 x Sensor PIR HC-SR501
4.
1 x Modul Relay 2 Channel
5.
1 x LCD 16x2 I2C
6.
1 x Buzzer
7.
4 x Push Button
8.
1 x Kipas DC 12V
9.
1 x Lampu
3.2 Cara Kerja
Sistem ini
memiliki tiga mode operasi yang dapat dipilih oleh pengguna melalui push
button, yaitu mode AUTO, MANUAL, dan SIAGA. Pada mode AUTO, sistem membaca suhu
ruangan secara berkala melalui sensor DHT11. Ketika suhu yang terbaca melebihi
ambang batas yang telah ditentukan, Raspberry Pi Pico akan memberikan logika
aktif pada Relay 1 sehingga kipas DC menyala secara otomatis untuk menurunkan
suhu ruangan. Sebaliknya, ketika suhu kembali berada di bawah ambang batas,
kipas akan dimatikan secara otomatis.
Pada mode
MANUAL, pengguna dapat mengendalikan kipas dan lampu secara langsung melalui
push button tanpa dipengaruhi oleh logika otomatis pembacaan suhu. Pemisahan
logika antar mode dilakukan menggunakan struktur pemrograman yang memastikan
logika mode AUTO tidak ikut memproses input maupun output ketika sistem berada
pada mode MANUAL, sehingga kedua mode tidak saling mengganggu satu sama lain.
Pada mode SIAGA,
sistem mengaktifkan fungsi keamanan mandiri menggunakan sensor PIR HC-SR501.
Apabila sensor PIR mendeteksi adanya pergerakan selama mode SIAGA aktif, buzzer
akan menyala secara latching, yaitu tetap berbunyi secara terus-menerus
meskipun objek yang terdeteksi sudah tidak bergerak, hingga buzzer dimatikan
secara manual oleh pengguna melalui push button. Mekanisme ini memastikan
peringatan keamanan tidak terlewatkan oleh penghuni rumah.
Status suhu
ruangan, mode yang sedang aktif, serta status kipas dan lampu ditampilkan
secara real-time pada LCD 16x2 I2C, sehingga pengguna dapat memantau kondisi
sistem secara langsung tanpa perlu membuka aplikasi tambahan.
3.3 Diagram Blok
Gambar 1. 8 Diagram Blok
Sistem
3.4 Flowchart
Gambar 1. 9 Flowchart Sistem
3.5 Wiring
Gambar 1. 10 Wiring Diagram
3.6 Skematik
Gambar 1. 11 Skematik Sistem
3.7 Program
|
"""============================================================================ Pemrogram : Kelompok RE-3C/03 1. 03-Ahmad Abi
Ridwan NIM:4.34.23.2.02 2. 09-Fitri
Aulia
NIM:4.34.23.2.08 3. 15-Muhammad
Riyadh A NIM:4.24.23.2.15 4. 21-Rayhan Maulana
Zuhair Syafiq NIM:4.34.23.2.22 =============================================================================== ProyekAkhir-SmartHome SmartHome_Automation.py program otomasi rumah dengan mode Auto
(Suhu & PIR) dan mode Siaga (Penyusup) ------------------------------------------------------------------------------- Materi: -
Pemrosesan Sensor DHT11 & PIR -
Kontrol Aktuator (Relay & Buzzer PWM) -
Manajemen LCD I2C 16x2 -
Sistem Debounce & Multi-mode (Auto/Manual/Siaga) ------------------------------------------------------------------------------- Komponen: -
1x Raspberry Pi Pico -
1x Sensor Suhu & Kelembaban DHT11 -
1x Sensor Gerak PIR -
2x Modul Relay (Kipas & Lampu) -
1x Buzzer Pasif -
4x Tombol Push Button - 1x LCD 16x2 dengan Modul I2C Backpack ===========================================================================
""" # === Pustaka === import machine # Pustaka utama
hardware import time # Pustaka
manajemen waktu import dht # Pustaka
sensor dht from machine import Pin, PWM, I2C # Kelas pin, pwm, dan i2c from
pico_i2c_lcd import I2cLcd #
Driver LCD I2C # === Deklarasi Variabel & Pengesetan Awal === # Inisialisasi Hardware I2C dan LCD i2c = I2C(0, sda=Pin(4), scl=Pin(5), freq=100000)#
Setup I2C pin 4 dan 5 lcd = I2cLcd(i2c, 0x27, 2, 16) # Alamat LCD 0x27, 2x16 # Inisialisasi Sensor dan Aktuator pin_pir =
Pin(11, Pin.IN) # Sensor PIR
di pin 11 sensor_dht =
dht.DHT11(Pin(15)) # Sensor DHT11
di pin 15 relay_kipas = Pin(8,
Pin.OUT) # Relay kipas
di pin 8 relay_lampu = Pin(12, Pin.OUT) # Relay lampu di pin 12 buzzer = PWM(Pin(10)) # Buzzer PWM di pin 10 buzzer.duty_u16(0) # Matikan buzzer awal #
Inisialisasi Tombol (Pull-Up Internal) t1
= Pin(24, Pin.IN, Pin.PULL_UP) #
Tombol Auto/Manual pin 24 t2
= Pin(9, Pin.IN, Pin.PULL_UP) #
Tombol Kipas pin 9 t3
= Pin(25, Pin.IN, Pin.PULL_UP) #
Tombol Lampu pin 25 t4
= Pin(6, Pin.IN, Pin.PULL_UP) #
Tombol Siaga pin 6 RELAY_ON,
RELAY_OFF = 1, 0 # Logika
aktif relay #
Variabel Status (State Variables) mode_manual,
mode_keluar = False, False # Status mode sistem kipas_manual_on,
lampu_manual_on = False, False # Status manual perangkat penyusup_latch
= False # Kunci status
penyusup last_lcd_update
= 0 # Timer
penyegaran LCD last_pir_time
= 0 # Timer off
otomatis lampu #
=== Fungsi-Fungsi Pendukung === def
lcd_print(line1, line2): #
Fungsi cetak dua baris LCD lcd.clear() # Bersihkan layar
LCD lcd.move_to(0, 0) # Baris 1 kolom 1 lcd.putstr(line1[:16]) # Batasi maksimal 16 karakter lcd.move_to(0, 1) # Baris 2 kolom 1 lcd.putstr(line2[:16]) # Batasi maksimal 16 karakter def
set_buzzer(status): #
Fungsi kendali alarm buzzer buzzer.duty_u16(32768 if status else 0)#
Set duty cycle 50% / 0% if status: buzzer.freq(1000) # Set frekuensi ke 1 kHz def
btn_pressed(pin): #
Fungsi eliminasi bouncing if not pin.value(): # Jika tombol ditekan (LOW) time.sleep_ms(50) # Jeda penstabilan sinyal return not
pin.value() # Validasi ulang
status return False # Tombol tidak
ditekan # === Program Utama === lcd_print("SISTEM START",
"MEMUAT...") # Tampilan awal
sistem time.sleep(1) # Tunda 1 detik
awal while
True: # 1. Deteksi Tombol T4 (Siaga/Keluar
& Reset) if not t4.value(): start_press = time.ticks_ms() # Catat waktu awal tekan while
not t4.value(): #
Jika ditekan lebih dari 5 detik -> Kembali ke Auto if
time.ticks_diff(time.ticks_ms(), start_press) > 5000: mode_keluar
= False # Matikan mode siaga
penyusup_latch = False # Reset
status bahaya
set_buzzer(False) #
Matikan alarm
lcd_print("Sistem Kembali", "Ke Mode AUTO")
time.sleep(1) # Jeda
tampilan pesan
break else: #
Jika ditekan singkat (< 500ms) -> Masuk Mode Siaga if
time.ticks_diff(time.ticks_ms(), start_press) < 500: mode_keluar
= True # Aktifkan mode siaga mode_manual = False # Nonaktifkan mode manual relay_kipas.value(RELAY_OFF)#
Matikan kipas beban relay_lampu.value(RELAY_OFF)#
Matikan lampu beban lcd_print("Mode
SIAGA", "Rumah Kosong")
time.sleep(0.3) # Jeda
antarmuka # 2. Logika
Mode Siaga (Keamanan Rumah Kosong) if mode_keluar: if pin_pir.value() == 1: penyusup_latch
= True # Kunci alarm jika ada
gerak set_buzzer(penyusup_latch) # Bunyikan alarm jika positif if time.ticks_diff(time.ticks_ms(),
last_lcd_update) > 2000: lcd_print("!!! BAHAYA
!!!" if penyusup_latch else "Mode SIAGA", "PENYUSUP
!!!" if penyusup_latch else "Rumah Kosong") last_lcd_update =
time.ticks_ms()# Perbarui timer LCD continue # Lewati sisa loop
bawah # 3. Deteksi Tombol T1 (Toggle Manual /
Auto) if btn_pressed(t1): mode_manual = not mode_manual # Tukar status mode lcd_print("MODE BERUBAH",
"MANUAL" if mode_manual else "AUTO") time.sleep(0.5) # Jeda debounce visual # 4. Eksekusi Kendali Mode Manual if mode_manual: if btn_pressed(t2): # Tombol T2 kipas manual kipas_manual_on = not
kipas_manual_on relay_kipas.value(RELAY_ON if
kipas_manual_on else RELAY_OFF) if btn_pressed(t3): # Tombol T3 lampu manual lampu_manual_on = not
lampu_manual_on relay_lampu.value(RELAY_ON if
lampu_manual_on else RELAY_OFF) if time.ticks_diff(time.ticks_ms(),
last_lcd_update) > 1000: lcd_print("MODE
MANUAL", f"K:{'ON' if kipas_manual_on else 'OFF'} L:{'ON' if
lampu_manual_on else 'OFF'}") last_lcd_update =
time.ticks_ms()# Perbarui data layar # 5. Eksekusi Kendali
Mode Otomatis (Auto) else: try: sensor_dht.measure() # Pemicuan pembacaan sensor temp, hum =
sensor_dht.temperature(), sensor_dht.humidity() except: temp,
hum = 0, 0 # Fallback jika
sensor error # Logika Kipas otomatis
(Suhu > 25) relay_kipas.value(RELAY_ON if temp
> 25 else RELAY_OFF) # Logika Lampu otomatis (Gerakan
dengan Off-Delay 60s) if pin_pir.value() == 1: last_pir_time = time.ticks_ms()#
Perbarui deteksi terakhir relay_lampu.value(RELAY_ON) #
Nyalakan lampu elif time.ticks_diff(time.ticks_ms(),
last_pir_time) > 60000: relay_lampu.value(RELAY_OFF)#
Matikan sesudah 60 detik # Pembaruan Tampilan Data Sensor di
LCD if time.ticks_diff(time.ticks_ms(),
last_lcd_update) > 2000: lcd_print(f"S:{temp}C
H:{hum}%", "MODE AUTO: OK") last_lcd_update =
time.ticks_ms()# Reset timer refresh LCD time.sleep_ms(50) # Stabilitas waktu siklus
loop |
BAB IV
KESIMPULAN
Sistem kendali
rumah pintar berbasis Raspberry Pi Pico ini berhasil mengintegrasikan
monitoring suhu dan deteksi pergerakan dalam satu mikrokontroler tunggal. Fitur
otomatisasi pada kipas dan lampu yang bekerja berdasarkan pembacaan sensor
DHT11 terbukti efektif dalam menjaga kenyamanan suhu ruangan tanpa memerlukan
intervensi manual secara terus-menerus, sehingga turut berkontribusi pada
efisiensi penggunaan energi listrik.
Mode keamanan
mandiri (SIAGA) yang memanfaatkan sensor PIR HC-SR501 mampu memberikan
peringatan dini yang akurat melalui buzzer ketika mendeteksi adanya penyusup,
dengan mekanisme latching yang memastikan peringatan tidak terlewat oleh
penghuni rumah. Selain itu, pemisahan logika antar mode AUTO, MANUAL, dan SIAGA
memastikan masing-masing mode dapat berjalan sesuai fungsinya tanpa saling
mengganggu.
Antarmuka LCD
16x2 I2C mempermudah pengguna dalam memantau kondisi ruangan secara real-time,
mencakup suhu terkini, mode yang sedang aktif, serta status kipas dan lampu.
Dengan demikian, sistem ini dapat menjadi solusi yang efisien dan terjangkau
untuk penerapan konsep rumah pintar (smart home) pada skala rumah tangga,
khususnya dalam aspek efisiensi energi dan keamanan mandiri.
BAB V
LAMPIRAN
5.1. Link PPT
5.2. Link Youtube
Komentar
Posting Komentar