TP M1 Percobaan 6

 




 1. Prosedur  [kembali]

  1. 1. Persiapan Alat dan Bahan

  • STM32F103C8T6

  • 1 buah Infra Red Sensor

  • 2 buah push button

  • 1 buah Buzzer

  • 1 buah LED RGB

  • 4 buah Resistor

  • Kabel jumper

  • Aplikasi Proteus 8.17

            

  1. 2. Perakitan Rangkaian

Inisialisasi Sistem:

  • Atur semua pin GPIO sesuai fungsinya:

    • PA0 dan PA1 sebagai input

    • PB0, PB1, PB10 sebagai output

Kondisi Awal:

  • Tidak ada objek terdeteksi → IR OUT = HIGH

  • Push button tidak ditekan → PA1 = HIGH (karena konfigurasi pull-up)

Pengujian Sensor IR:

  • Letakkan objek di depan sensor IR

  • Jika objek terdeteksi → IR OUT menjadi LOW

    • MCU membaca kondisi ini pada PA0

    • Aktifkan LED merah (PB0 = HIGH)

    • Aktifkan buzzer (PB10 = HIGH)

Pengujian Push Button:

  • Tekan tombol

  • Pin PA1 akan membaca LOW

    • MCU mendeteksi tombol ditekan

    • Aktifkan LED biru (PB1 = HIGH)

    • Aktifkan buzzer (PB10 = HIGH)

Kondisi Gabungan:

  • Jika keduanya aktif (sensor mendeteksi dan tombol ditekan)

    • LED merah dan biru bisa dinyalakan bersamaan (tergantung implementasi)

    • Buzzer tetap aktif

Jika tidak ada input:

  • Semua LED dan buzzer mati

2. Hardware dan Diagram Blok [kembali]


 2.1 Daftar Komponen

  • 1 × Mikrokontroler STM32F103C8T6

Otak utama sistem, memproses input dari sensor dan tombol lalu mengontrol output (LED dan buzzer).
Gambar STM32F103C8T6

Spesifikasi Mikrokontroler STM32F103C8T6

  • 1 × Buzzer (aktif atau pasif — rekomendasi: buzzer aktif 3.3V)

Gambar Buzzer


  • 1 × Sensor IR Obstacle

Mendeteksi objek di depan sensor, memberikan sinyal logika (LOW saat objek terdeteksi).
Gambar IR Sensor


  • 2 × Push button (tact switch)

Digunakan sebagai input manual dari pengguna.
Gambar Push Button (tact Switch)

  • LED RGB (Common Cathode) 

Menampilkan warna berdasarkan kondisi input.


  • Resistor (R1, R2, R3, R4)

Pembatas arus untuk LED dan tombol, mencegah kerusakan komponen.


  • Kabel Jumper

Gambar Kabel Jumper

2.2 Diagram Blok




       

3. Rangkaian Simulasi dan Prinsip Kerja [kembali]

3.1 Rangkaian Simulasi


Gambar Rangkaian Percobaan 6

3.2 Prinsip Kerja

Prinsip kerja rangkaian ini adalah sebagai sistem pendeteksi sederhana dengan dua input utama, yaitu sensor inframerah (IR Sensor) dan push button, serta dua output berupa LED RGB dan buzzer. Saat IR sensor mendeteksi adanya objek di depannya, sensor akan memberikan sinyal ke mikrokontroler STM32F103C8. Mikrokontroler kemudian memproses sinyal tersebut dan mengaktifkan LED RGB pada warna merah sekaligus menyalakan buzzer sebagai tanda alarm. Jika push button ditekan, mikrokontroler juga akan menerima sinyal input, lalu mengaktifkan LED RGB pada warna biru dan menyalakan buzzer. Apabila kedua input aktif secara bersamaan, maka LED RGB akan menampilkan kombinasi merah dan biru (ungu), serta buzzer tetap menyala. Dengan demikian, buzzer akan selalu aktif jika salah satu atau kedua input terpicu, sedangkan warna LED RGB menjadi indikator sumber input yang sedang aktif.


4. Flowchart dan Listing Program [kembali]
    





Listing Program
#include "main.h" 
 void SystemClock_Config(void); 
 static void MX_GPIO_Init(void); 

 int main(void) 
 { 
 HAL_Init(); 
 SystemClock_Config(); 
 MX_GPIO_Init(); 
 while (1) 
{
uint8_t button_status = HAL_GPIO_ReadPin(GPIOB, BUTTON_Pin); 
 uint8_t ir_status = HAL_GPIO_ReadPin(GPIOB, IR_Pin); 

 HAL_GPIO_WritePin(GPIOA, GREEN_Pin | RED_Pin | BUZZER_Pin, GPIO_PIN_RESET); 

 if (button_status == GPIO_PIN_SET) 
 { 
 HAL_GPIO_WritePin(GPIOA, RED_Pin, GPIO_PIN_SET); 
 HAL_GPIO_WritePin(GPIOA, BUZZER_Pin, GPIO_PIN_SET); 
 } 
 if (ir_status == GPIO_PIN_SET) 
 { 
 HAL_GPIO_WritePin(GPIOA, GREEN_Pin, GPIO_PIN_SET); 
 HAL_GPIO_WritePin(GPIOA, BUZZER_Pin, GPIO_PIN_SET); 
 } 
 HAL_Delay(100); 
 } 
 }
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_CLOCKTYPE_PCLK2; 
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; 
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; 
RCC_ClkInitStruct.APB2CLKDivider = 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_GPIOD_CLK_ENABLE(); 
  HAL_RCC_GPIOA_CLK_ENABLE(); 
  HAL_RCC_GPIOB_CLK_ENABLE(); 
 
HAL_GPIO_WritePin(GPIOA, RED_Pin|GREEN_Pin|BUZZER_Pin, GPIO_PIN_RESET); 
HAL_GPIO_WritePin(BLUE_GPIO_Port, BLUE_Pin, GPIO_PIN_RESET); 
 
GPIO_InitStruct.Pin = RED_Pin|GREEN_Pin|BUZZER_Pin; 
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 
GPIO_InitStruct.Pull = GPIO_NOPULL; 
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 

GPIO_InitStruct.Pin = BLUE_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(BLUE_GPIO_Port, &GPIO_InitStruct); GPIO_InitStruct.Pin = BUTTON_Pin|IR_Pin; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 
 } 
 void Error_Handler(void) 
 { disable_irq(); 
 while (1) 
 { 
 }
 #ifdef USE_FULL_ASSERT 
 void assert_failed(uint8_t *file, uint32_t line) 
 { 
 } 
 #endif 



5. Kondisi [kembali]
    
 Buatlah rangkaian seperti gambar pada percobaan 6 dimana jika IR Sensor mendeteksi, maka LED RGB akan menampilkan warna merah, dan jika push button ditekan LED RGB akan menampilkan warna biru. Jika salah satu input aktif atau keduanya aktif maka buzzer aktif.
    
6. Video Simulasi [kembali]   







8. Download File  [kembali]
   
   Download rangkaian simulasi [link]
    Download Video [link]
    Download Datasheet STM32F103C8T6 [link]
    Download Datasheet IR Sensor [link]
    Download Datasheet Buzzer [link]       
    Download Datasheet Push Button [link]
    Download Datasheet LED RGB [link]
    Download Datasheet Resistor [link]

Comments

Popular posts from this blog