Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico

 Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico

Alfi Nurul Huda1, Fitra Reza Fadhilah2, Naufal Luthfi Aziz3, Salsa Triya Rahma Itsnani4, Samuel Beta Kuntardjo5
Jurusan Teknik Elektro, D4 Teknologi Rekayasa Elektronika, Politeknik Negeri Semarang
Jl. Prof. Soedarto, Tembalang, Kec, Tembalang, Kota Semarang, Jawa Tengah, 50275




ABSTRAK

    Perlintasan kereta api merupakan salah satu titik yang memiliki tingkat risiko kecelakaan cukup tinggi, terutama pada perlintasan yang belum dilengkapi sistem pengamanan otomatis. Oleh karena itu, diperlukan suatu sistem yang mampu meningkatkan keselamatan pengguna jalan melalui proses deteksi dan pengendalian palang pintu secara otomatis. Pada penelitian ini dirancang dan dibuat sebuah prototipe palang pintu kereta otomatis berbasis Raspberry Pi Pico sebagai pengendali utama. Sistem bekerja dengan memanfaatkan sensor untuk mendeteksi keberadaan kereta yang mendekati maupun meninggalkan area perlintasan. Berdasarkan data yang diterima, Raspberry Pi Pico akan mengendalikan motor servo untuk membuka dan menutup palang pintu secara otomatis, serta dapat dilengkapi dengan indikator berupa lampu LED dan buzzer sebagai peringatan kepada pengguna jalan. Metode yang digunakan meliputi tahap perancangan perangkat keras, pengembangan perangkat lunak, perakitan sistem, dan pengujian fungsional. Hasil pengujian menunjukkan bahwa prototipe mampu mendeteksi kedatangan kereta dan mengoperasikan palang pintu secara otomatis sesuai dengan kondisi yang telah diprogram. Dengan demikian, sistem ini dapat menjadi alternatif penerapan teknologi otomasi pada perlintasan kereta api skala prototipe yang sederhana, efisien, dan berbiaya relatif rendah, serta dapat dikembangkan lebih lanjut untuk implementasi pada sistem yang lebih kompleks.
Kata Kunci: Raspberry Pi Pico, Palang Pintu Kereta Otomatis, Sistem Otomasi, Sensor, Motor Servo, Perlintasan Kereta Api.

I. PENDAHULUAN

A. Latar Belakang

 Perlintasan kereta api merupakan salah satu area yang memiliki tingkat risiko kecelakaan cukup tinggi, terutama pada perlintasan sebidang yang masih menggunakan sistem pengamanan manual atau belum dilengkapi dengan palang pintu otomatis. Kesalahan manusia, kurangnya kewaspadaan pengguna jalan, serta keterlambatan dalam menutup maupun membuka palang pintu menjadi beberapa faktor yang dapat menyebabkan terjadinya kecelakaan. Seiring dengan perkembangan teknologi di bidang otomasi dan sistem kendali, penggunaan mikrokontroler sebagai pusat pengendali dapat menjadi solusi untuk meningkatkan keamanan dan efisiensi pada perlintasan kereta api. Dengan sistem otomatis, proses deteksi kedatangan kereta dan pengoperasian palang pintu dapat dilakukan secara cepat, tepat, dan mengurangi ketergantungan terhadap operator.
    Berdasarkan permasalahan tersebut, pada laporan ini dirancang sebuah prototipe Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico. Raspberry Pi Pico dipilih karena memiliki kemampuan pemrosesan yang baik, mudah diprogram, serta mendukung integrasi dengan berbagai sensor dan aktuator, seperti motor servo, LED, dan buzzer. Sistem ini bekerja dengan mendeteksi keberadaan kereta menggunakan sensor, kemudian Raspberry Pi Pico mengolah data tersebut untuk mengendalikan buka-tutup palang pintu secara otomatis serta memberikan peringatan kepada pengguna jalan. Diharapkan prototipe ini dapat menjadi media pembelajaran mengenai penerapan sistem otomasi berbasis mikrokontroler sekaligus menjadi referensi dalam pengembangan sistem pengamanan perlintasan kereta api yang lebih efektif dan andal.

B. RUMUSAN MASALAH

1. Bagaimana merancang sistem palang pintu kereta otomatis berbasis Raspberry Pi Pico?
2. Bagaimana mengintegrasikan sensor, Raspberry Pi Pico, dan motor servo agar dapat bekerja sebagai satu sistem yang terkoordinasi?
3. Bagaimana cara kerja sistem dalam mendeteksi kedatangan dan keberangkatan kereta sehingga palang pintu dapat beroperasi secara otomatis?
4. Bagaimana hasil pengujian terhadap kinerja prototipe palang pintu kereta otomatis berbasis Raspberry Pi Pico?

C. TUJUAN

1. Merancang dan membangun prototipe palang pintu kereta otomatis berbasis Raspberry Pi Pico.
2. Mengimplementasikan sistem deteksi kereta menggunakan sensor yang terhubung dengan Raspberry Pi Pico.
3. Mengembangkan sistem kendali otomatis yang dapat mengoperasikan motor servo untuk membuka dan menutup palang pintu sesuai kondisi yang terdeteksi.
4. Menguji dan mengevaluasi kinerja prototipe untuk mengetahui tingkat keberhasilan dan keandalan sistem dalam bekerja secara otomatis.

II. METODOLOGI

    Metode yang digunakan dalam pembuatan Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico adalah metode Research and Development (R&D), yaitu metode penelitian yang berfokus pada proses perancangan, pembuatan, dan pengujian suatu produk. Penelitian diawali dengan mengidentifikasi permasalahan pada sistem palang pintu kereta yang masih dioperasikan secara manual, kemudian dilakukan analisis kebutuhan sistem agar dapat bekerja secara otomatis. Selanjutnya dilakukan perancangan perangkat keras yang meliputi Raspberry Pi Pico sebagai pengendali utama, sensor sebagai pendeteksi kedatangan kereta, motor servo sebagai penggerak palang pintu, serta LED dan buzzer sebagai indikator peringatan. Setelah itu, perangkat lunak dikembangkan menggunakan bahasa pemrograman MicroPython untuk mengendalikan seluruh komponen sesuai dengan logika kerja yang telah dirancang.
    Setelah proses perancangan selesai, seluruh komponen dirakit dan diintegrasikan menjadi sebuah prototipe yang kemudian dilakukan pengujian. Pengujian dilakukan dengan mensimulasikan kondisi kereta yang mendekati dan meninggalkan perlintasan untuk mengetahui respons sensor, kinerja Raspberry Pi Pico dalam memproses data, serta kemampuan motor servo dalam membuka dan menutup palang pintu secara otomatis. Selain itu, dilakukan evaluasi terhadap fungsi LED dan buzzer sebagai sistem peringatan. Hasil pengujian digunakan untuk mengetahui tingkat keberhasilan sistem serta menjadi dasar dalam melakukan penyempurnaan agar prototipe dapat bekerja secara optimal sesuai dengan tujuan yang telah ditetapkan.

III. KAJIAN PUSTAKA

A. KOMPONEN
1)  Raspberry Pi Pico

Gambar 1. Raspberry Pi Pico
    Raspberry Pi Pico merupakan papan mikrokontroler yang dikembangkan oleh Raspberry Pi Foundation dan menggunakan chip RP2040 sebagai prosesor utamanya. Mikrokontroler ini dirancang untuk berbagai kebutuhan sistem tertanam (embedded system) dan aplikasi otomasi karena memiliki kinerja yang tinggi dengan konsumsi daya yang relatif rendah. RP2040 dilengkapi dengan prosesor Arm Cortex-M0+ dual-core yang dapat beroperasi hingga 133 MHz, memori SRAM sebesar 264 KB, serta memori flash eksternal yang umumnya berkapasitas 2 MB untuk menyimpan program. Raspberry Pi Pico juga menyediakan sebanyak 26 pin General Purpose Input/Output (GPIO) yang dapat digunakan untuk menghubungkan berbagai perangkat eksternal, seperti sensor, motor servo, LED, buzzer, LCD, maupun modul komunikasi. Selain itu, papan ini mendukung berbagai antarmuka komunikasi, antara lain UART, I²C, SPI, PWM, dan ADC sehingga memudahkan proses integrasi dengan berbagai komponen elektronika. Raspberry Pi Pico dapat diprogram menggunakan beberapa bahasa pemrograman, seperti MicroPython dan C/C++, sehingga memberikan fleksibilitas bagi pengguna dalam mengembangkan suatu sistem. Ukurannya yang ringkas, harga yang terjangkau, kemudahan dalam proses pemrograman, serta dokumentasi yang lengkap menjadikan Raspberry Pi Pico banyak digunakan dalam bidang pendidikan, penelitian, Internet of Things (IoT), robotika, dan sistem otomasi. Pada penelitian ini, Raspberry Pi Pico berperan sebagai pusat kendali yang menerima data dari sensor pendeteksi kereta, kemudian memproses data tersebut untuk mengendalikan motor servo sebagai penggerak palang pintu, serta mengaktifkan LED dan buzzer sebagai indikator peringatan. Dengan kemampuan tersebut, Raspberry Pi Pico menjadi komponen utama yang mendukung kinerja sistem palang pintu kereta otomatis agar dapat bekerja secara efisien, akurat, dan andal.

2)  Sensor Inframerah
Gambar 2. Sensor Inframerah

Sensor inframerah merupakan sensor elektronik yang bekerja dengan memanfaatkan pancaran dan penerimaan sinar inframerah untuk mendeteksi keberadaan suatu objek. Sensor ini umumnya terdiri atas dua komponen utama, yaitu pemancar inframerah (infrared emitter) dan penerima inframerah (infrared receiver). Ketika terdapat objek yang menghalangi atau memantulkan sinar inframerah, penerima akan mendeteksi perubahan intensitas cahaya sehingga menghasilkan sinyal yang dapat diproses oleh mikrokontroler. Sensor inframerah banyak digunakan pada berbagai aplikasi otomasi karena memiliki waktu respons yang cepat, konsumsi daya yang rendah, ukuran yang kecil, serta harga yang relatif terjangkau. Dalam sistem palang pintu kereta otomatis berbasis Raspberry Pi Pico, sensor inframerah berfungsi sebagai pendeteksi kedatangan dan keberangkatan kereta. Data hasil deteksi kemudian dikirimkan ke Raspberry Pi Pico untuk diproses sehingga sistem dapat mengendalikan motor servo dalam membuka atau menutup palang pintu serta mengaktifkan indikator peringatan sesuai dengan kondisi yang telah diprogram.

3)  Bel Pasif
Gambar 3. Bel Pasif
    Bel pasif merupakan komponen elektronika yang berfungsi menghasilkan bunyi sebagai media peringatan atau indikator suara. Berbeda dengan bel aktif yang telah memiliki osilator internal, bel pasif memerlukan sinyal pulsa atau gelombang dengan frekuensi tertentu dari mikrokontroler agar dapat menghasilkan suara. Oleh karena itu, buzzer pasif memiliki fleksibilitas yang lebih tinggi karena dapat menghasilkan berbagai variasi nada sesuai dengan frekuensi sinyal yang diberikan. Komponen ini banyak digunakan pada sistem alarm, perangkat elektronik, sistem keamanan, dan berbagai aplikasi berbasis mikrokontroler. Pada sistem palang pintu kereta otomatis berbasis Raspberry Pi Pico, bel pasif digunakan sebagai alarm yang memberikan peringatan suara ketika sensor mendeteksi kedatangan kereta. Bunyi yang dihasilkan bertujuan untuk meningkatkan kewaspadaan pengguna jalan sehingga mereka mengetahui bahwa palang pintu akan segera menutup dan kereta akan melintas.

4)  Motor Servo
Gambar 4. Motor Servo SG90
    Motor servo merupakan aktuator yang dirancang untuk menghasilkan gerakan sudut dengan tingkat presisi yang tinggi. Komponen ini terdiri atas motor DC, rangkaian pengendali, sistem roda gigi (gear), dan sensor posisi yang bekerja secara terintegrasi sehingga mampu mengatur posisi poros sesuai dengan sinyal kendali yang diterima. Pengendalian motor servo umumnya menggunakan sinyal Pulse Width Modulation (PWM) yang dikirimkan oleh mikrokontroler. Besar lebar pulsa menentukan sudut putaran servo, yang pada umumnya berada pada rentang 0° hingga 180°. Karena memiliki tingkat akurasi yang baik, motor servo banyak diterapkan pada bidang robotika, otomasi, sistem kendali, dan berbagai proyek elektronika. Dalam penelitian ini, motor servo digunakan sebagai penggerak utama palang pintu kereta. Raspberry Pi Pico mengirimkan sinyal PWM kepada motor servo berdasarkan data yang diterima dari sensor inframerah, sehingga palang pintu dapat membuka dan menutup secara otomatis sesuai dengan kondisi perlintasan. Penggunaan motor servo dipilih karena mampu menghasilkan gerakan yang stabil, presisi, dan mudah dikendalikan melalui pemrograman.

5) Lampu Indikator
Gambar 5. Lampu Kuning Indikator
    Lampu indikator merupakan salah satu komponen elektronika yang berfungsi memberikan informasi atau peringatan secara visual mengenai kondisi suatu sistem. Pada umumnya, lampu indikator menggunakan Light Emitting Diode (LED) karena memiliki konsumsi daya yang rendah, umur pakai yang panjang, respons yang cepat, dan mudah dikendalikan oleh mikrokontroler. Dalam sistem Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico, digunakan lampu indikator berwarna kuning sebagai tanda peringatan bahwa kereta akan melintas dan pengguna jalan harus meningkatkan kewaspadaan. Lampu indikator dikendalikan langsung oleh Raspberry Pi Pico melalui pin GPIO sesuai dengan logika program yang telah dirancang. Ketika sensor inframerah mendeteksi kedatangan kereta, Raspberry Pi Pico akan mengaktifkan lampu indikator kuning bersamaan dengan buzzer dan proses penutupan palang pintu oleh motor servo. Setelah kereta melewati perlintasan dan kondisi kembali aman, lampu indikator akan dimatikan secara otomatis. Dengan demikian, penggunaan lampu indikator warna kuning berperan penting dalam memberikan informasi visual kepada pengguna jalan sehingga dapat meningkatkan keselamatan dan mendukung kinerja sistem palang pintu kereta otomatis.

B. BLOK DIAGRAM


    Blok diagram merupakan representasi sederhana yang menggambarkan hubungan antara komponen penyusun suatu sistem serta aliran data dari masukan hingga menghasilkan keluaran. Pada sistem Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico, blok diagram terdiri dari tiga bagian utama, yaitu masukan (input), proses (process), dan keluaran (output). Bagian masukan menggunakan sensor inframerah yang berfungsi mendeteksi keberadaan kereta saat mendekati maupun meninggalkan area perlintasan. Sinyal hasil deteksi dari sensor kemudian dikirimkan ke Raspberry Pi Pico sebagai pusat pemrosesan data. Raspberry Pi Pico akan mengolah informasi tersebut berdasarkan program yang telah ditanamkan, kemudian mengirimkan sinyal kendali ke perangkat keluaran. Bagian keluaran terdiri atas lampu LED, buzzer pasif, dan motor servo. Lampu LED berfungsi sebagai indikator visual yang memberikan peringatan kepada pengguna jalan, buzzer pasif menghasilkan bunyi sebagai alarm ketika kereta akan melintas, sedangkan motor servo berfungsi menggerakkan palang pintu untuk membuka dan menutup secara otomatis. Dengan adanya pembagian blok menjadi masukan, proses, dan keluaran, alur kerja sistem menjadi lebih mudah dipahami karena menunjukkan bagaimana data dari sensor diproses oleh Raspberry Pi Pico hingga menghasilkan respons berupa aktifnya indikator dan pergerakan palang pintu secara otomatis.

C. DIAGRAM ALIR

    Program diawali dengan proses inisialisasi seluruh komponen yang digunakan, yaitu sensor inframerah sebagai masukan, motor servo sebagai penggerak palang, dua buah LED sebagai indikator, buzzer pasif sebagai alarm, serta konfigurasi variabel-variabel yang diperlukan. Pada tahap ini motor servo diatur pada posisi awal 0° sehingga palang berada dalam kondisi terbuka, sedangkan LED dan buzzer berada dalam keadaan mati.
    Setelah proses inisialisasi selesai, program masuk ke dalam perulangan (loop) utama untuk membaca kondisi sensor inframerah secara terus-menerus. Apabila sensor tidak mendeteksi adanya kereta, sistem tetap berada pada kondisi aman sehingga palang tetap terbuka, LED dan buzzer tidak aktif, serta program kembali melakukan pembacaan sensor. Sebaliknya, apabila sensor mendeteksi adanya kereta, Raspberry Pi Pico mencatat waktu awal pendeteksian dan mengaktifkan mode peringatan. Pada kondisi ini buzzer langsung berbunyi dengan pola dua frekuensi secara bergantian, sedangkan kedua LED berkedip secara bergantian sebagai tanda peringatan kepada pengguna jalan.
    Selanjutnya sistem melakukan pengecekan waktu sejak kereta pertama kali terdeteksi. Jika waktu peringatan belum mencapai 2 detik, palang tetap dipertahankan pada posisi terbuka sehingga kendaraan yang berada di sekitar perlintasan masih memiliki kesempatan untuk melewati jalur dengan aman. Setelah waktu peringatan mencapai 2 detik, Raspberry Pi Pico mengubah target sudut motor servo menjadi 90°, sehingga palang mulai bergerak menutup secara bertahap. Pergerakan servo dilakukan sedikit demi sedikit sesuai nilai kecepatan yang telah ditentukan agar gerakan palang lebih halus dan tidak terjadi perubahan posisi secara mendadak.
    Selama kereta masih terdeteksi oleh sensor atau masih berada dalam waktu tenggang 2 detik setelah sensor tidak lagi mendeteksi objek, buzzer dan LED tetap aktif sebagai sistem peringatan, sedangkan palang tetap berada pada posisi tertutup. Setelah kereta benar-benar meninggalkan area perlintasan dan waktu tenggang telah berakhir, Raspberry Pi Pico menonaktifkan buzzer dan LED, kemudian mengubah target sudut servo kembali ke 0° sehingga palang bergerak membuka secara bertahap. Setelah palang kembali terbuka, sistem kembali ke kondisi awal dan mengulangi proses pembacaan sensor secara terus-menerus selama catu daya masih diberikan.

D. DIAGRAM SKEMATIK


    Diagram skematik merupakan gambar yang menunjukkan hubungan antar komponen elektronika dalam suatu rangkaian beserta koneksi pin yang digunakan. Pada sistem Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico, Raspberry Pi Pico berfungsi sebagai pengendali utama yang menghubungkan seluruh komponen input dan output. Sensor inframerah dihubungkan ke pin GP0 sebagai masukan untuk mendeteksi keberadaan kereta, sedangkan motor servo SG90 dihubungkan ke pin GP1 yang menghasilkan sinyal Pulse Width Modulation (PWM) untuk mengatur sudut putaran servo sebagai penggerak palang pintu. Dua buah lampu LED dihubungkan ke pin GP2 dan GP3 sebagai indikator visual yang menyala secara bergantian ketika sistem berada pada kondisi peringatan. Buzzer pasif dihubungkan ke pin GP4 yang juga menggunakan sinyal PWM sehingga dapat menghasilkan variasi nada alarm. Seluruh komponen memperoleh catu daya dari Raspberry Pi Pico, dengan masing-masing terminal VCC terhubung ke sumber tegangan dan terminal GND dihubungkan menjadi ground bersama agar rangkaian memiliki referensi tegangan yang sama. Ketika sensor inframerah mendeteksi adanya kereta, sinyal dikirimkan ke Raspberry Pi Pico untuk diproses sesuai program yang telah dibuat. Selanjutnya Raspberry Pi Pico mengaktifkan LED dan buzzer sebagai peringatan serta mengendalikan motor servo untuk menutup palang pintu. Setelah kereta melewati area perlintasan, Raspberry Pi Pico mematikan LED dan buzzer, kemudian menggerakkan servo kembali ke posisi awal sehingga palang pintu terbuka. Dengan demikian, diagram skematik memperlihatkan hubungan kelistrikan antar komponen serta jalur komunikasi yang memungkinkan seluruh sistem bekerja secara terintegrasi.

E. DIAGRAM PENGAWATAN


    Diagram pengawatan merupakan gambar yang menunjukkan hubungan fisik antar komponen berdasarkan pin yang digunakan pada mikrokontroler. Pada sistem Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico, sensor inframerah dihubungkan ke pin GP0 sebagai masukan untuk mengirimkan sinyal deteksi kereta ke Raspberry Pi Pico. Motor servo SG90 dihubungkan ke pin GP1 sebagai pin keluaran PWM untuk mengendalikan pergerakan palang pintu. Dua buah lampu LED dihubungkan ke pin GP2 dan GP3 sebagai indikator visual yang menyala secara bergantian ketika sistem mendeteksi kedatangan kereta. Buzzer pasif dihubungkan ke pin GP4 sebagai keluaran PWM untuk menghasilkan bunyi alarm dengan variasi frekuensi. Seluruh komponen memperoleh sumber tegangan dari pin 3,3 V atau VBUS 5 V pada Raspberry Pi Pico sesuai kebutuhan masing-masing komponen, sedangkan seluruh pin GND dihubungkan menjadi satu (common ground) agar sistem memiliki referensi tegangan yang sama. Dengan pengawatan tersebut, sensor inframerah dapat mengirimkan data ke Raspberry Pi Pico untuk diproses, kemudian Raspberry Pi Pico memberikan sinyal kendali kepada motor servo, LED, dan buzzer sehingga seluruh komponen dapat bekerja secara terintegrasi dalam mengoperasikan sistem palang pintu kereta otomatis.

F. DESKRIPSI KERJA

    Sistem palang pintu kereta otomatis bekerja dengan memanfaatkan sensor inframerah sebagai pendeteksi keberadaan kereta dan Raspberry Pi Pico sebagai pusat pengendali seluruh proses. Saat sistem dinyalakan, Raspberry Pi Pico melakukan inisialisasi seluruh komponen, yaitu sensor inframerah, motor servo, dua lampu LED, dan buzzer pasif. Pada kondisi awal, motor servo berada pada sudut 0° sehingga palang pintu dalam keadaan terbuka, sedangkan LED dan buzzer berada dalam kondisi mati.
    Ketika sensor inframerah mendeteksi adanya kereta yang melintas, sensor mengirimkan sinyal ke Raspberry Pi Pico. Setelah menerima sinyal tersebut, Raspberry Pi Pico langsung mengaktifkan dua lampu LED yang berkedip secara bergantian serta buzzer pasif yang mengeluarkan bunyi alarm dengan dua variasi frekuensi sebagai tanda peringatan kepada pengguna jalan. Pada tahap ini, palang pintu belum langsung ditutup, tetapi sistem memberikan waktu tunda selama 2 detik agar kendaraan yang masih berada di area perlintasan memiliki kesempatan untuk melintas dengan aman.
    Setelah waktu tunda 2 detik berakhir, Raspberry Pi Pico mengirimkan sinyal PWM ke motor servo sehingga servo bergerak secara bertahap dari posisi 0° menuju 90°. Pergerakan yang dilakukan secara bertahap membuat palang pintu menutup dengan lebih halus dan stabil. Selama kereta masih terdeteksi oleh sensor atau masih berada dalam waktu tenggang setelah sensor tidak lagi mendeteksi objek, lampu LED dan buzzer tetap aktif sebagai peringatan, sedangkan palang pintu tetap berada pada posisi tertutup.
    Setelah kereta melewati area perlintasan dan sensor tidak lagi mendeteksi objek selama waktu tenggang yang telah ditentukan, Raspberry Pi Pico menonaktifkan buzzer dan lampu LED, kemudian menggerakkan motor servo secara bertahap kembali ke posisi 0° sehingga palang pintu terbuka. Setelah seluruh komponen kembali ke kondisi awal, sistem akan terus melakukan pembacaan sensor secara berulang untuk mendeteksi kedatangan kereta berikutnya. Dengan mekanisme tersebut, sistem mampu memberikan peringatan kepada pengguna jalan dan mengoperasikan palang pintu secara otomatis sehingga meningkatkan keamanan pada perlintasan kereta api.

G. PROGRAM

"""============================================================================
 Pemrogram      : Kelompok RE-3B / 4
  1. 04-Alfi Nurul Huda         NIM:4.34.23.1.05
  2. 10-Fitra Reza Fadhilah     NIM:4.34.23.1.11
  3. 16-Naufal Luthfi Aziz      NIM:4.34.23.1.17
  4. 22-Salsa Triya R.I         NIM:4.34.23.1.23

===============================================================================
Project Akhir Sistem Terbenam
Kendali Palang Kereta Otomatis Menggunakan Servo
-------------------------------------------------------------------------------
Komponen:
- 1x Raspberry Pico
- 2x LED
- 1x Motor Servo SG90
- 1x Buzzer Pasif
- 1x Sensor IR
=========================================================================== """

import machine
import utime

# === Konfigurasi Awal Komponen ===
# Sensor inframerah diletakkan pada GP0
sensor_ir = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP)

# Konfigurasi Pin Motor Servo (GP1) untuk modulasi lebar pulsa
servo = machine.PWM(machine.Pin(1))
servo.freq(50)  # Standardisasi frekuensi kerja servo 50Hz

# Prosedur pemetaan derajat komponen servo
def set_servo_angle(angle):
    min_duty = 1638  
    max_duty = 8192  
    duty = int(min_duty + (angle / 180) * (max_duty - min_duty))
    servo.duty_u16(duty)

# Alokasi Pin output untuk sepasang LED tanda peringatan
led1 = machine.Pin(2, machine.Pin.OUT)
led2 = machine.Pin(3, machine.Pin.OUT)

# Alokasi Pin untuk elemen audio alarm (Buzzer Pasif)
buzzer = machine.PWM(machine.Pin(4))
buzzer.duty_u16(0)  # Kondisi awal tanpa suara

# === Registrasi Variabel Sistem ===
set_servo_angle(0)  # Menyetel posisi awal fisik: 0 derajat (Aman/Terbuka)
led1.value(0)
led2.value(0)
led_state = False

rekam_waktu_ir = 0
rekam_waktu_led = 0
waktu_awal_peringatan = 0  # NEW: Mencatat kapan peringatan dimulai
sedang_peringatan = False  # NEW: Status apakah sistem sedang dalam mode waspada

pola_nada = True 

# Variabel pembantu untuk memantau transisi state pada print terminal
# 0 = Terbuka, 1 = Peringatan (Sirine Nyala), 2 = Tertutup
status_palang = 0 

# --- VARIABEL PENGATUR KECEPATAN SERVO ---
sudut_sekarang = 0      
sudut_target = 0        
kecepatan_servo = 3     # Kecepatan putar servo (1 lambat, 5 cepat)

print("---            Project Sistem Terbenam             ---")
print("---              Kelompok 4 / RE - 3B              ---")
print("--- Perangkat Palang Pintu Otomatis Siap Digunakan ---")

# === Pola Operasi Berulang ===
while True:
    waktu_sekarang = utime.ticks_ms()
    
    # 1. Membaca input sensor (bernilai 0 apabila mendeteksi objek)
    if sensor_ir.value() == 0:
        rekam_waktu_ir = waktu_sekarang
        
        # Jika ini deteksi pertama kali, catat waktu awalnya
        if not sedang_peringatan:
            waktu_awal_peringatan = waktu_sekarang
            sedang_peringatan = True
            if status_palang == 0:
                print("Pemberitahuan: Kereta terdeteksi! Sirine menyala, palang akan menutup dalam 2 detik...")
                status_palang = 1
                
    # 2. Evaluasi Kondisi Bahaya: Objek terdeteksi ATAU masa tenggang 2000ms setelah kereta pergi masih aktif
    if sensor_ir.value() == 0 or utime.ticks_diff(waktu_sekarang, rekam_waktu_ir) < 2000:
        
        # A. Manajemen intermiten LED dan variasi frekuensi suara alarm (LANGSUNG AKTIF)
        if utime.ticks_diff(waktu_sekarang, rekam_waktu_led) > 300:
            led_state = not led_state
            led1.value(led_state)
            led2.value(not led_state)
            
            pola_nada = not pola_nada
            if pola_nada:
                buzzer.freq(800)   
            else:
                buzzer.freq(1200)  
                
            buzzer.duty_u16(32768) 
            rekam_waktu_led = waktu_sekarang 
            
        # B. Logika Jeda Palang Menutup (Tunggu 2 detik sejak peringatan pertama)
        if utime.ticks_diff(waktu_sekarang, waktu_awal_peringatan) >= 2000:
            sudut_target = 90  # Ubah target jadi menutup
            if status_palang == 1:
                print("Pemberitahuan: Waktu habis, posisi palang TERTUTUP.")
                status_palang = 2
        else:
            sudut_target = 0   # Tahan palang agar tetap terbuka sementara
            
    # 3. Evaluasi Kondisi Aman
    else:
        # Reset seluruh variabel sistem peringatan
        sudut_target = 0 
        sedang_peringatan = False
        
        buzzer.duty_u16(0)   # Menonaktifkan output suara
        led1.value(0)        # Mematikan seluruh indikator visual
        led2.value(0)
        
        # Memunculkan pemberitahuan pembukaan palang ke terminal
        if status_palang != 0:
            print("Pemberitahuan: Kondisi aman, posisi palang TERBUKA.")
            status_palang = 0
            
    # =========================================================================
    # LOGIKA GERAKAN HALUS SERVO (Perubahan Sudut Bertahap)
    # =========================================================================
    if sudut_sekarang < sudut_target:
        sudut_sekarang += kecepatan_servo
        if sudut_sekarang > sudut_target:
            sudut_sekarang = sudut_target  
        set_servo_angle(sudut_sekarang)
        
    elif sudut_sekarang > sudut_target:
        sudut_sekarang -= kecepatan_servo
        if sudut_sekarang < sudut_target:
            sudut_sekarang = sudut_target  
        set_servo_angle(sudut_sekarang)
    # =========================================================================
        
    utime.sleep(0.05)  # Interval monitoring pembacaan loop (50ms)

IV. HASIL DAN PEMBAHASAN

    Hasil dari penelitian ini adalah sebuah prototipe Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico yang mampu bekerja sesuai dengan fungsi yang telah dirancang. Sistem terdiri atas Raspberry Pi Pico sebagai pengendali utama, sensor inframerah sebagai pendeteksi kereta, motor servo SG90 sebagai penggerak palang pintu, dua buah lampu LED sebagai indikator visual, dan buzzer pasif sebagai alarm suara. Seluruh komponen telah dirangkai dan diprogram menggunakan MicroPython sehingga dapat bekerja secara terintegrasi. Berdasarkan hasil pengujian, ketika sensor inframerah mendeteksi adanya kereta, Raspberry Pi Pico segera memproses sinyal masukan dan mengaktifkan lampu LED secara berkedip bergantian serta buzzer pasif dengan dua variasi frekuensi sebagai tanda peringatan kepada pengguna jalan. Setelah peringatan berlangsung selama 2 detik, motor servo bergerak secara bertahap dari sudut 0° menuju 90° sehingga palang pintu menutup dengan halus. Selama kereta masih terdeteksi atau masih berada dalam waktu tenggang yang telah ditentukan, palang tetap berada pada posisi tertutup dan sistem peringatan tetap aktif. Setelah kereta meninggalkan area perlintasan dan sensor tidak lagi mendeteksi objek, sistem tetap mempertahankan kondisi peringatan selama waktu tenggang untuk memastikan kereta benar-benar telah melewati perlintasan. Setelah waktu tersebut berakhir, Raspberry Pi Pico mematikan buzzer dan lampu LED, kemudian menggerakkan motor servo kembali ke posisi 0° secara bertahap sehingga palang pintu terbuka. Proses pembukaan berlangsung dengan stabil tanpa perubahan posisi yang mendadak karena program menerapkan pergerakan servo secara bertahap.
    Secara keseluruhan, hasil pengujian menunjukkan bahwa sistem telah mampu menjalankan fungsi utama sesuai dengan tujuan perancangan, yaitu mendeteksi kedatangan kereta, memberikan peringatan melalui lampu LED dan buzzer, serta mengendalikan buka-tutup palang pintu secara otomatis. Integrasi antara sensor inframerah, Raspberry Pi Pico, motor servo, LED, dan buzzer berjalan dengan baik sehingga sistem bekerja secara berurutan dan responsif. Meskipun demikian, penggunaan satu sensor inframerah menyebabkan jangkauan deteksi masih terbatas sehingga pengembangan selanjutnya dapat dilakukan dengan menambahkan lebih dari satu sensor atau menggunakan jenis sensor lain yang memiliki jangkauan dan akurasi lebih baik agar sistem semakin andal saat diterapkan pada kondisi nyata.

V. KESIMPULAN

    Berdasarkan hasil perancangan, pembuatan, dan pengujian yang telah dilakukan, dapat disimpulkan bahwa prototipe Palang Pintu Kereta Otomatis Berbasis Raspberry Pi Pico berhasil direalisasikan dan mampu bekerja sesuai dengan tujuan yang telah ditetapkan. Raspberry Pi Pico berfungsi sebagai pengendali utama yang memproses data dari sensor inframerah untuk mengendalikan motor servo, lampu LED, dan buzzer pasif secara otomatis. Sistem mampu mendeteksi keberadaan kereta menggunakan sensor inframerah, kemudian memberikan peringatan melalui lampu LED yang berkedip dan buzzer pasif sebelum palang pintu ditutup. Setelah waktu tunda selama 2 detik, motor servo bergerak secara bertahap untuk menutup palang pintu, kemudian membuka kembali setelah kereta melewati area perlintasan dan kondisi dinyatakan aman. Seluruh komponen bekerja secara terintegrasi sesuai dengan logika program yang telah dirancang. Berdasarkan hasil pengujian, sistem menunjukkan kinerja yang baik dalam mengotomatisasi proses buka-tutup palang pintu serta memberikan peringatan kepada pengguna jalan. Dengan demikian, prototipe ini dapat dijadikan sebagai media pembelajaran mengenai penerapan sistem tertanam berbasis Raspberry Pi Pico dan menjadi dasar pengembangan sistem palang pintu kereta otomatis yang lebih akurat, andal, dan siap diterapkan pada skala yang lebih besar.

LINK PPT
https://drive.google.com/file/d/1DaAcN6xVkjgX5aWv_HbmLOW0wAIksWMm/view?usp=sharing

LINK YouTube
https://youtu.be/E2HoFo1d0N4?si=1GLD1JvWJMO-0UYG


DAFTAR PUSTAKA

Marulitua, E., & Setiawan, F. B. (2025). Pengendalian AGV Menggunakan Raspberry Pi dan Motor DC dengan Sistem Pengenalan Lintasan Menggunakan Kamera dan Sensor Inframerah. Transmisi: Jurnal Ilmiah Teknik Elektro, 27(2), 70–76.

Irianto, J., Winarno, & Novianti, T. (2020). Rancang Bangun Sistem Keamanan Rumah Menggunakan Sensor PIR Berbasis Raspberry Pi. Computing Insight: Journal of Computer Science, 2(1).

Salman Al Farizi, Kurniawan, E., Nurdiansari, H., & Dirhamsyah. (2025). Autonomous Fire Extinguisher on the Ship Using Raspberry Pi Pico. Jurnal Ilmiah Teknik Informatika dan Komunikasi, 5(1), 1–27.

Avreliyanda, G. D., & Astutik, R. P. (2025). Fire Alarm System Design Based on PLC Pi Pico at MCC XYZ Company. Jurnal Riset Rekayasa Elektro, 6(2).

Kusumawati, I. R., Untoro, F. X. W. Y., & Untoro, W. Y. (2022). Sistem Notifikasi Buka/Tutup Pelindung untuk Tanaman Hidroponik Berbasis Rain Sensor Menggunakan Raspberry Pi Pico RP2040. Melek IT: Information Technology Journal, 8(1).

Abrar, A., Akbar, S., & Tukino. (2024). Rancang Bangun Sistem Kontrol Motor Listrik Berbasis Raspberry Pi. Jurnal Ilmiah Informatika, 11(1).

Sembiring, H., Thantowi, Y. D., & Tamba, C. A. S. (2021). Perancangan Robot Lengan Pemindah Barang Berdasarkan Ukuran Berbasis Arduino dengan Sensor Ping HC-SR04 dan Sensor Inframerah. Jurnal Teknik Informatika UNIKA Santo Thomas, 6(1).

Zulkarnain, Saputra, W., Saputra, M. A. A., & Novianty, I. (2024). Sistem Pelacakan Objek Menggunakan Sensor Ultrasonik dan Inframerah untuk Mobile Robot di Lingkungan Dinamis. Jurnal Rekayasa Mesin, 24(2), 93–100.

Putra, A. A., & Irawan, D. (2026). Sistem Pendeteksi Dini Banjir Berbasis Raspberry Pi Pico W dengan Sensor Ketinggian Air dan Notifikasi SMS. INTECOMS: Journal of Information Technology and Computer Science, 9(2).

Prasetiyo, D., Minggu, D., & Anwar, M. (2021). Pressure and Temperature Monitoring System of Rocket Motorcycle Combustion Based on Raspberry Pi 4.0. Jurnal Telkommil, 2(2), 11–19.




Komentar

Postingan populer dari blog ini

SISTEM KONVEYOR OTOMATIS DENGAN SENSOR INFRARED DAN KONTROL MANUAL

Pompa Air Otomatis Berbasis ATMega8535

SISTEM PEMANTAUAN SUHU DAN KELEMBABAN PADA SUATU RUANGAN MENGGUNAKAN SENSOR DHT22 BERBASIS MIKROKONTROLLER ARDUINO UNO ATMEGA328P