Laporan Akhir 1 (P1K1)

 



1. Prosedur [Kembali]

Langkah-langkah percobaan :

1. Siapkan alat dan bahan yaitu dengan komponen utama STM32F103C8, touch sensor, PIR sensor, Resistor, LED, Buzzer

2. Rangkai sesuai gambar percobaan

3. Rancang kerja rangkaian sesuai flowchart

4. Inisialisasi STM32F103C8 dengan aplikasi STM32CUBE ID

5. Setelah dapat file hex nya, masukkan file hex ke dalam stm pada proteus

6. Tekan tombol “Play” untuk menjalankan simulasi


2. Hardware [Kembali]

a. Hardware
1. STM32F103C8
TM32F103C8 adalah mikrokontroler berbasis ARM Cortex-M3 yang  dikembangkan oleh STMicroelectronics. Mikrokontroler ini sering digunakan dalam pengembangan sistem tertanam karena kinerjanya yang baik, konsumsi daya yang rendah, dan kompatibilitas dengan berbagai protokol komunikasi. Pada praktikum ini, kita menggunakan STM32F103C8 yang dapat diprogram menggunakan berbagai  metode, termasuk komunikasi serial (USART), SWD (Serial Wire Debug), atau JTAG untuk berhubungan dengan komputer maupun perangkat lain.

2. Touch Sensor

Touch sensor adalah sensor yang dapat mendeteksi sentuhan atau kontak dari jari manusia (atau objek lain) dan kemudian mengubahnya menjadi sinyal listrik.

3. PIR Sensor
PIR sensor (Passive Infrared Sensor) adalah sensor yang digunakan untuk mendeteksi pergerakan manusia atau makhluk hidup berdasarkan perubahan radiasi inframerah di sekitarnya.

4. LED

LED adalah dioda semikonduktor yang dapat memancarkan cahaya ketika dialiri arus listrik. LED digunakan dalam berbagai aplikasi seperti indikator elektronik, pencahayaan, dan display. LED hanya bekerja pada arah bias maju dan memiliki berbagai warna yang ditentukan oleh material semikonduktornya.

5. Buzzer
Buzzer adalah suatu komponen elektronika yang berfungsi untuk mengubah energi listrik menjadi energi suara (bunyi) melalui mekanisme getaran. Komponen ini termasuk dalam kategori output device karena digunakan untuk memberikan respon berupa suara terhadap suatu kondisi atau perintah dalam rangkaian elektronik.

6. Resistor 

Resistor adalah komponen elektronik pasif yang berfungsi untuk membatasi arus listrik dalam suatu rangkaian. Resistor bekerja berdasarkan hukum Ohm, yang menyatakan bahwa tegangan (V) = arus (I) × resistansi (R). Resistor memiliki satuan Ohm (Ω) dan digunakan dalam berbagai aplikasi seperti pembagian tegangan, kontrol arus, dan proteksi rangkaian elektronik.

b. Diagram Blok


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]



Prinsip Kerja :

Prinsip kerja rangkaian ini berbasis pada sistem kendali mikrokontroler STM32F103C8 yang berfungsi sebagai unit pemroses utama untuk sinyal masukan dari Sensor PIR dan Sensor Touch. Secara operasional, sensor PIR yang terhubung pada pin masukan (PA0) bertugas mendeteksi radiasi inframerah dari gerakan manusia, sementara sensor Touch pada pin (PA1) mendeteksi adanya sentuhan fisik; kedua sensor ini mengirimkan sinyal logika digital berupa HIGH (1) saat terpicu dan LOW (0) saat dalam kondisi diam. Sesuai dengan kondisi yang diinginkan, ketika kedua sensor berada dalam status LOW (tidak mendeteksi gerakan maupun sentuhan), mikrokontroler akan memproses data tersebut dan mempertahankan pin keluaran (PB0 dan PB1) pada level tegangan rendah. Akibatnya, arus listrik tidak akan mengalir menuju LED (D1) dan Buzzer (BUZ1), sehingga LED tetap dalam kondisi mati dan buzzer tidak mengeluarkan suara. Sebaliknya, jika salah satu atau kedua sensor mendeteksi input, mikrokontroler akan mengubah status pin keluaran menjadi HIGH untuk mengaktifkan perangkat output sebagai indikator peringatan.


4. Flowchart [Kembali]

  •  a. Flowchart


    Flowchart

    Listing Program:

    #include "stm32f1xx_hal.h" uint8_t system_enable = 0; uint8_t touch_last = 0; uint8_t pir_first_trigger = 1; void SystemClock_Config(void); static void MX_GPIO_Init(void); void Error_Handler(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); while (1) { uint8_t pir_now = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0); uint8_t touch_now = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1); if (touch_now == GPIO_PIN_SET && touch_last == GPIO_PIN_RESET) { system_enable = !system_enable; if (system_enable) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); HAL_Delay(100); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET); } HAL_Delay(200); } touch_last = touch_now; if (pir_now == GPIO_PIN_SET) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); if (pir_first_trigger) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); HAL_Delay(100); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET); pir_first_trigger = 0; } } else { pir_first_trigger = 1;

    if(!system_enable) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); } if(system_enable) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); } } void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) Error_Handler(); RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) Error_Handler(); } static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1, GPIO_PIN_RESET); }

    void Error_Handler(void) { __disable_irq(); while(1) { } }

5. Video Demo [Kembali]



6. Analisa [Kembali]






7. Download File [Kembali]

Rangkaian Simulasi [Klik]

Video Simulasi [Klik]


Kembali ke Halaman Atas



Komentar

Postingan populer dari blog ini