Tugas Pendahuluan 1 ( Mikro M1 )

Tugas Pendahuluan Modul 1 Percobaan 1 kondisi 9


 1. Prosedur [Kembali]

  1. Menyiapkan alat dan bahan.
  2. Merangkai komponen pada breadboard sesuai dengan gambar rangkaian percobaan.
  3. Menghubungkan masing masing pin input output.
  4. Mengunggah program menggunakan ST-LINK ke mikrokontroler.
  5. Jalankan Rangkaian

  • Hardware
  • 1. STM32F103C8





    2. Touch Sensor



    3. PIR Sensor



    4. LED



    5. Buzzer



    6. Resistor 


    • Diagram Blog


    Rangkaian ini bekerja menggunakan mikrokontroler STM32F103C8 sebagai pusat kendali yang menerima masukan dari dua sensor, yaitu sensor sentuh dan sensor PIR. Sensor sentuh berfungsi mendeteksi adanya sentuhan, sedangkan sensor PIR mendeteksi gerakan berdasarkan perubahan radiasi inframerah dari tubuh manusia. Kedua sensor menghasilkan sinyal digital berupa logika 0 atau 1 yang kemudian dibaca oleh mikrokontroler untuk diproses sesuai program yang telah dibuat.

    Berdasarkan kondisi input tersebut, mikrokontroler mengendalikan dua output yaitu LED dan buzzer. Jika salah satu sensor atau keduanya aktif (logika 1), maka LED akan menyala sebagai indikator visual dan buzzer berbunyi sebagai alarm suara. Jika kedua sensor tidak aktif (logika 0), maka LED dan buzzer tetap mati. Dengan prinsip ini, rangkaian dapat digunakan sebagai sistem keamanan atau pendeteksi keberadaan manusia secara sederhana.


Flowchart



Listing Program

#include "main.h"


/* Variabel */

uint8_t touch_last = 0;


/* Prototype */

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 = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0); // IR sensor

uint8_t touch = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1); // Touch sensor


/* =========================

LOGIKA UTAMA

========================= */

if (ir == GPIO_PIN_SET && touch == GPIO_PIN_RESET)

{

// IR deteksi & Touch tidak disentuh → LED MATI

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);

}

else

{

// Selain kondisi itu → LED NYALA

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);

}


HAL_Delay(50);

}

}

static void MX_GPIO_Init(void)

{

GPIO_InitTypeDef GPIO_InitStruct = {0};


__HAL_RCC_GPIOA_CLK_ENABLE();

__HAL_RCC_GPIOB_CLK_ENABLE();


/* INPUT: IR dan Touch */

GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1;

GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

GPIO_InitStruct.Pull = GPIO_PULLDOWN;

HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


/* OUTPUT: LED */

GPIO_InitStruct.Pin = GPIO_PIN_0;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct.Pull = GPIO_NOPULL;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);


/* Default LED OFF */

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);

}

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

}

}

void Error_Handler(void)

{

__disable_irq();

while (1)

{

}

}





6. Kondisi [Kembali]

Percobaan 1 Kondisi 9
Buatlah rangkaian seperti pada gambar percobaan 1 dengan kondisi ketika sensor touch disentuh kembali setelah mode manual aktif, maka sistem kembali ke mode otomatis, buzzer berhenti berbunyi, dan sensor PIR kembali aktif mendeteksi gerakan.

7. Video Simulasi [Kembali]


8. Download File [Kembali]












Comments

Popular posts from this blog

Mikroprosesor dan Mikrokontroler

UTS