TP Percobaan 1 Kondisi 7
DAFTAR ISI
1. Prosedur[Kembali ke Daftar Isi]
Tahap Persiapan
Masukkan File Program (Firmware): Sebelum simulasi bisa berjalan, mikrokontroler STM32F103C8 (U1) harus diisi dengan program. Klik dua kali pada komponen mikrokontroler tersebut, cari kolom "Program File", lalu masukkan file berektensi
.hexatau.elfhasil kompilasi kode Anda.Mulai Simulasi: Klik tombol Play (biasanya ikon panah hijau di pojok kiri bawah antarmuka Proteus) untuk menjalankan simulasi.
Tahap Pengujian Kondisi 7
Untuk mencapai kondisi "PIR mendeteksi gerakan dan sensor Touch tidak mendeteksi sentuhan", Anda perlu menggunakan komponen Logic State (ikon lingkaran dengan angka 0 atau 1 di dalamnya) yang terhubung ke pin TestPin masing-masing sensor:
Atur Sensor Touch (Tidak ada sentuhan): * Cari Logic State yang terhubung ke sensor TOUCH1.
Klik hingga menunjukkan angka 0 (lingkaran berwarna biru). Ini menginstruksikan modul simulasi bahwa tidak ada sentuhan yang terjadi.
Atur Sensor PIR (Ada gerakan):
Cari Logic State yang terhubung ke sensor PIR1.
Klik hingga menunjukkan angka 1 (lingkaran berwarna merah). Ini menginstruksikan modul simulasi bahwa gerakan sedang terdeteksi.
Observasi Hasil
Setelah kedua input diatur seperti di atas (Touch = 0, PIR = 1):
Amati Buzzer: Perhatikan komponen BUZ1. Sesuai dengan instruksi teks berwarna merah pada gambar, Buzzer seharusnya menyala. Anda biasanya akan melihat titik indikator logika pada pin buzzer berubah menjadi merah muda/merah, dan Anda mungkin mendengar suara jika output audio simulator diaktifkan.
Tahap Akhir
Hentikan Simulasi: Setelah selesai mengamati, klik tombol Stop (ikon kotak biru di pojok kiri bawah) sebelum mengubah rangkaian atau melakukan rebuild pada kode program.
2. Hardware dan Diagram Blok[Kembali ke Daftar Isi]
Daftar Hardware/Komponen Utama:
Mikrokontroler: Modul STM32F103C8 (sebagai otak/pusat pemrosesan data).
Sensor Input 1: Modul Sensor PIR (mendeteksi adanya gerakan).
Sensor Input 2: Modul Sensor Touch / Sentuh (mendeteksi adanya sentuhan fisik).
Aktuator/Output: Buzzer (sebagai indikator suara) dan LED (sebagai indikator cahaya tambahan).
Komponen Pendukung: Resistor, Push Button, dan Logic State (khusus untuk input simulasi Proteus).
Penjelasan Diagram Blok (Sistem Kontrol): (Secara teknis, sistem ini adalah sistem Open-Loop / Loop Terbuka karena output dari buzzer tidak memberikan umpan balik (feedback) kembali ke sensor. Namun, jika asisten meminta "loop tertutup" dalam konteks alur kerja program, ini berarti siklus pembacaan sensor berulang secara terus-menerus).
Blok Input: Sensor PIR (Pin PA0) & Sensor Touch (Pin PA1) membaca kondisi lingkungan (gerakan & sentuhan) dan mengirimkan sinyal logika (1 atau 0) ke mikrokontroler.
Blok Proses: Mikrokontroler STM32 memproses data dari kedua sensor secara bersamaan (AND logic). Jika PIR = 1 (Aktif) DAN Touch = 0 (Tidak Aktif), mikrokontroler akan mengeksekusi perintah selanjutnya.
Blok Output: Mikrokontroler mengirimkan sinyal logika HIGH (1) ke pin PA9 untuk menyalakan Buzzer.
3. Rangkaian Simulasi dan Prinsip Kerja[Kembali ke Daftar Isi]
Fokus utama pada gambar ini ada pada teks merah: "kondisi ketika PIR mendeteksi gerakan dan sensor Touch tidak mendeteksi sentuhan, maka Buzzer menyala".
Jika kita melihat indikator logic probe (titik merah/biru pada jalur kabel) di gambar, sistem bekerja dengan urutan logika sebagai berikut:
Membaca Sensor PIR: Sensor PIR menangkap pergerakan, sehingga ia mengirimkan sinyal HIGH (Logika 1) ke pin PA0 mikrokontroler. (Terlihat pada kotak merah berangka '1' di output PIR).
Membaca Sensor Sentuh: Di saat yang bersamaan, sensor Touch tidak sedang disentuh, sehingga ia mengirimkan sinyal LOW (Logika 0) ke pin PA1 mikrokontroler. (Terlihat pada kotak biru berangka '0' di output Touch).
Pemrosesan Logika (Mikrokontroler): Program di dalam STM32 membaca kedua kondisi tersebut menggunakan logika AND. Karena syaratnya terpenuhi (PIR = 1 DAN Touch = 0), mikrokontroler akan mengeksekusi perintah selanjutnya.
Aktuasi Output: Sebagai hasil dari terpenuhinya kondisi di atas, mikrokontroler mengirimkan tegangan HIGH ke pin PA2, yang membuat Buzzer menyala/berbunyi.
4. Flowchart dan Listing Program[Kembali ke Daftar Isi]
Listing Program:
/* USER CODE BEGIN WHILE */ while (1) { // 1. Baca status Switch Power (PA0) // Diasumsikan Switch menggunakan Pull-down (High saat ditekan) if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_SET) { // 2. Jika Sistem ON, Baca Sensor IR (PA1) // Sensor IR biasanya Active Low (0 = Ada Objek, 1 = Kosong) if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1) == GPIO_PIN_RESET) { // --- KONDISI: ADA HALANGAN (BAHAYA) --- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); // LED Merah ON HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET); // LED Hijau OFF // Membuat Buzzer berbunyi "Beep" (On-Off) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // Buzzer ON HAL_Delay(100); // Bunyi cepat HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // Buzzer OFF HAL_Delay(100); } else { // --- KONDISI: AMAN --- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET); // LED Merah OFF HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET); // LED Hijau ON HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // Buzzer OFF } } else { // --- KONDISI: SISTEM MATI (SWITCH OFF) --- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2, GPIO_PIN_RESET); } /* USER CODE END WHILE */ }


Komentar
Posting Komentar