MODUL 1
LAPORAN AKHIR 1
1. Prosedur [kembali]
Siapkan seluruh komponen sesuai daftar (STM32, Sensor IR, Sensor Sentuh, Buzzer, LED, dan Resistor).
Hubungkan ST-LINK ke komputer dan ke pin pemrograman pada STM32 (GND, SWCLK, SWDIO, 3.3V).
Susunlah komponen pada breadboard mengikuti skema pada Gambar 5:
Sensor Sentuh (Touch Sensor): Hubungkan pin VCC ke 5V/3.3V, GND ke Ground, dan pin OUT ke salah satu pin input digital STM32 (misal: PA0).
Sensor IR (Infrared Sensor): Hubungkan pin VCC ke 5V, GND ke Ground, dan pin OUT ke pin input digital (misal: PA1).
Output (LED & Buzzer): * Hubungkan pin output STM32 (misal: PA2) ke Resistor 220 Ohm, kemudian ke kaki Anoda LED.
Hubungkan Buzzer secara paralel atau pada pin output yang ditentukan.
Pastikan semua kaki Katoda LED dan Ground Buzzer terhubung ke Ground rangkaian.
Coding: Buatlah program pada IDE (seperti STM32CubeIDE atau Arduino IDE) dengan logika:
Jika Sensor IR mendeteksi halangan (pintu terbuka/terlewati) DAN/ATAU Sensor Sentuh ditekan, maka nyalakan LED dan Buzzer.
Upload: Lakukan Compile dan Flash program ke dalam mikrokontroler menggunakan ST-LINK.
Uji Coba:
Lewati sensor IR untuk memastikan alarm berbunyi saat perimeter ditembus.
Sentuh sensor sentuh untuk memastikan fungsi pemicu manual/tambahan bekerja.
Pastikan LED menyala terang dan Buzzer mengeluarkan suara peringatan.
2. Hardware dan Diagram Blok [kembali]
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
Prinsip kerja:Prinsip kerja sistem Alarm Perimeter Pintu ini didasarkan pada mekanisme kontrol loop tertutup yang memantau keamanan area secara real-time. Sistem dimulai dari Masukan Reference, di mana kondisi "Aman" ditetapkan sebagai standar (sensor tidak terdeteksi). Mikrokontroler STM32F103C8 bertindak sebagai pengendali utama yang secara kontinu memproses sinyal dari Unit Sensor yang terdiri dari sensor IR dan sensor sentuh. Sensor IR berfungsi memantau perimeter fisik (misalnya jika ada orang melewati pintu), sementara sensor sentuh berfungsi sebagai pemicu manual atau deteksi fisik pada unit.
Jika salah satu atau kedua sensor mendeteksi adanya gangguan, elemen umpan balik akan mengirimkan sinyal ke pengontrol yang menciptakan "sinyal error" terhadap kondisi referensi aman. Sebagai respon, mikrokontroler akan mengaktifkan Output System berupa Buzzer untuk peringatan suara dan LED untuk peringatan visual. Selama kondisi di area perimeter (Proses/Plant) masih terdeteksi adanya gangguan oleh sensor, sistem akan terus mempertahankan alarm dalam kondisi aktif. Alarm hanya akan berhenti jika sensor kembali mengirimkan umpan balik bahwa kondisi telah sesuai dengan referensi aman yang ditentukan, sehingga menciptakan siklus pemantauan yang mandiri dan responsif.
4. Flowchart dan Listing Program[kembali]
Kode program tersebut merupakan bagian dari struktur inisialisasi pada mikrokontroler STM32 untuk sistem Alarm Perimeter Pintu. Baris #include "main.h" berfungsi memanggil pustaka dasar, sementara variabel system_enable dan touch_last digunakan sebagai penanda (flag) global untuk mengaktifkan sistem serta menyimpan status terakhir dari sensor sentuh agar pembacaan input menjadi stabil.
Selain itu, terdapat prototipe fungsi SystemClock_Config yang bertugas mengatur frekuensi kerja (detak) jantung mikrokontroler, serta MX_GPIO_Init yang berfungsi mengonfigurasi pin-pin spesifik agar dapat berkomunikasi dengan sensor IR, sensor sentuh, LED, dan buzzer sesuai dengan skema rangkaian yang telah dirancang.
Kode program ini merupakan fungsi utama (main loop) yang mengontrol logika operasional sistem alarm secara berulang. Pertama, sistem menggunakan Sensor Sentuh pada pin PA1 sebagai sakelar toggle untuk menyalakan atau mematikan seluruh sistem (system_enable) dengan cara mendeteksi perubahan status tekan. Jika sistem dalam kondisi aktif (system_enable = 1), mikrokontroler akan membaca data dari Sensor IR pada pin PA0; apabila sensor mendeteksi gangguan (status SET), maka program akan menyalakan LED dan Buzzer pada pin PB0 dan PB1. Sebaliknya, jika sensor tidak mendeteksi apa pun atau jika sistem sedang dinonaktifkan, maka seluruh output alarm akan dipaksa mati (RESET).
Fungsi SystemClock_Config ini bertanggung jawab untuk mengatur sistem detak (clock) utama pada mikrokontroler STM32 dengan menggunakan HSI (High Speed Internal) sebagai sumber oscilator. Program mengonfigurasi oscilator internal tersebut agar aktif tanpa menggunakan fitur PLL, kemudian mendistribusikan frekuensinya ke berbagai bus sistem seperti SYSCLK, HCLK, PCLK1, dan PCLK2 tanpa pembagian nilai (divider 1). Jika terjadi kegagalan dalam proses konfigurasi oscilator maupun distribusi clock ke bus sistem, program secara otomatis akan memicu fungsi Error_Handler sebagai langkah preventif kegagalan sistem.
Fungsi MX_GPIO_Init ini digunakan untuk menginisialisasi pin-pin kontrol pada STM32 dengan terlebih dahulu mengaktifkan detak (clock) pada port GPIOA, GPIOB, dan GPIOD. Program mengonfigurasi pin PA0 dan PA1 (jalur sensor) sebagai input dengan resistor pull-down internal agar pembacaan sinyal lebih stabil, serta mengatur pin PB0 dan PB1 (jalur LED dan Buzzer) sebagai output push-pull berkecepatan rendah yang diinisialisasi dalam kondisi mati (RESET). Selain itu, terdapat fungsi Error_Handler yang berfungsi untuk menghentikan seluruh instruksi dan mematikan interupsi jika sistem mendeteksi kegagalan konfigurasi yang fatal.
Potongan kode merupakan blok pendeteksi kesalahan (debugging) yang hanya akan aktif jika makro USE_FULL_ASSERT didefinisikan dalam konfigurasi proyek. Fungsi assert_failed dirancang untuk menangkap laporan kesalahan parameter pada pustaka HAL (Hardware Abstraction Layer) dengan mencatat lokasi file dan baris kode tempat terjadinya kesalahan tersebut. Hal ini sangat berguna bagi pengembang untuk mengidentifikasi bug pada tahap pengembangan, meskipun pada potongan kode ini isinya masih kosong dan biasanya perlu diisi dengan logika tambahan seperti pengiriman pesan error melalui Serial/UART atau penyalaan lampu indikator LED secara statis.
5. Video Demo[kembali]
6. Kondisi [kembali]
Percobaan 3: Alarm Perimeter Pintu
7. Video Simulasi [kembali]
...
8. Download File [kembali]
Tidak ada komentar:
Posting Komentar