TP2_M1

 




1. Prosedur
[Kembali]

- Rangkaian

    Rangkaian ini terdiri dari sensor inframerah (IR), sensor sentuh, mikrokontroler STM32F103C8, dan LED indikator. Sensor IR mendeteksi keberadaan objek berdasarkan pantulan sinyal inframerah, sedangkan sensor sentuh merespons ketika disentuh. Kedua sensor ini memberikan sinyal keluaran yang dihubungkan ke pin GPIO mikrokontroler STM32, yang kemudian memproses sinyal tersebut untuk mengendalikan LED indikator. Jika salah satu sensor mendeteksi perubahan kondisi, STM32 akan mengaktifkan atau menonaktifkan LED melalui resistor pembatas arus. Rangkaian ini mendapatkan tegangan +5V untuk mengoperasikan komponen-komponennya, dengan jalur GND sebagai referensi potensial.


2. Hardware dan Diagram Blok [Kembali]

STM32F103C8 sebagai mikrokontroler utama untuk mengontrol input dari sensor dan output ke LED.



Sensor inframerah (IR) digunakan untuk mendeteksi objek berdasarkan pantulan sinyal IR


- Touch Sensor berfungsi sebagai saklar digital yang aktif saat disentuh. 




- LED indikator menyala sebagai respons terhadap sinyal dari mikrokontroler. 



Resistor pembatas arus digunakan untuk melindungi LED dan memastikan operasi yang stabil.


- GND sebagai referensi tegangan.


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

- Rangkaian


- Prinsip kerja

Rangkaian ini bekerja dengan memanfaatkan sensor inframerah (IR) dan sensor sentuh sebagai input untuk mengendalikan LED melalui mikrokontroler STM32F103C8. Sensor inframerah mendeteksi keberadaan objek berdasarkan pantulan sinyal IR. Ketika sebuah objek berada dalam jangkauan sensor, modul IR akan mengirimkan sinyal digital ke mikrokontroler melalui salah satu pin GPIO. Begitu juga dengan sensor sentuh, yang akan memberikan sinyal digital ketika disentuh.

Mikrokontroler STM32F103C8 memproses sinyal dari kedua sensor dan menentukan apakah LED harus menyala atau mati. Jika salah satu sensor aktif, STM32 akan mengaktifkan pin output yang terhubung ke LED. Arus yang mengalir ke LED dikontrol oleh resistor pembatas arus, yang bertujuan untuk melindungi LED dari arus berlebih dan memastikan nyala LED yang stabil.

Sumber daya +5V digunakan untuk memberi daya ke seluruh rangkaian, termasuk sensor IR, sensor sentuh, dan mikrokontroler. GND berfungsi sebagai referensi tegangan untuk memastikan rangkaian bekerja dengan benar. Dengan demikian, rangkaian ini memungkinkan pendeteksian objek melalui sensor IR serta aktivasi LED melalui sentuhan pada sensor sentuh, menjadikannya sistem sederhana untuk kontrol berbasis sensor.


4. Flowchart dan Listing Program [Kembali]

- flowchart

- 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 ir_status = HAL_GPIO_ReadPin(GPIOB, IR_Pin);  // Membaca IR sensor

(PB10)

   uint8_t touch_status = HAL_GPIO_ReadPin(GPIOB, TOUCH_Pin); // Membaca

Touch Sensor (PB6)

 

   // LED Biru menyala jika IR aktif

   HAL_GPIO_WritePin(BLUE_GPIO_Port, BLUE_Pin, ir_status);

 

   // LED Hijau menyala jika Touch aktif

   HAL_GPIO_WritePin(GPIOA, GREEN_Pin, touch_status);

 

   // LED Merah menyala jika tidak ada sensor yang aktif

   if (ir_status == GPIO_PIN_RESET && touch_status == GPIO_PIN_RESET) {

       HAL_GPIO_WritePin(GPIOA, RED_Pin, GPIO_PIN_SET);  // Nyalakan LED

RED

   } else {

       HAL_GPIO_WritePin(GPIOA, RED_Pin, GPIO_PIN_RESET); // Matikan LED

RED

   }

HAL_Delay(10); // Delay kecil untuk stabilisasi pembacaan sensor

}

}

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();

}

static void MX_GPIO_Init(void)

{

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();

}

}

GPIO_InitTypeDef GPIO_InitStruct = {0};

__HAL_RCC_GPIOD_CLK_ENABLE();

__HAL_RCC_GPIOA_CLK_ENABLE();

__HAL_RCC_GPIOB_CLK_ENABLE();

/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(GPIOA, RED_Pin|GREEN_Pin, GPIO_PIN_RESET);

/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(BLUE_GPIO_Port, BLUE_Pin, GPIO_PIN_RESET);

/*Configure GPIO pins : RED_Pin GREEN_Pin */

GPIO_InitStruct.Pin = RED_Pin|GREEN_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);

/*Configure GPIO pin : BLUE_Pin */

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);

void Error_Handler(void)

{

/*Configure GPIO pins : IR_Pin TOUCH_Pin */

GPIO_InitStruct.Pin = IR_Pin|TOUCH_Pin;

GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

GPIO_InitStruct.Pull = GPIO_NOPULL;

HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

}


5. Video Demo [Kembali]





6. Kondisi [Kembali]

Kondisi 7
Buatlah rangkaian seperti gambar percobaan 2 dengan kondisi ketika sensor infrared mendeteksi gerakan dan sensor touch tidak mendeteksi sentuhan maka LED RGB akan menampilkan warna hijau

7. Video Simulasi [Kembali]





8. Download File[Kembali]

Rangkaian [disini]
Listing Program [disini]
Video [disini]
Datasheet Sensor Infrared [disini]

Datasheet Touch Sensor [disini]

Datasheet STM32103C8 [disini]




















Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA 2022 Disusun oleh : M. Radhi Azmi (2210952058) Dosen Pengampu : Dr. Darwison, M.T Referensi: ...