Modul 1 : Tugas Pendahuluan 2

[KEMBALI KE MENU SEBELUMNYA]



Tugas Pendahuluan 2 Modul 1
(Percobaan 3 Kondisi 1)

1. Prosedur 
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Buat program untuk mikrokontroler STM32F103C8 di software STM32 CubeIDE.
3. Compile program dalam format hex, lalu upload ke dalam mikrokontroler.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
5. Selesai.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

a) Mikrokontroler STM32F103C8










2. Infrared Sensor

Infrared Sensor Module



3. Buzzer


4. Power Supply

 
5. RGB LED
Jual LED RGB 4 PIN WARNA MERAH HIJAU BIRU 5mm ( ARDUINO ) - Common Cathode  - Jakarta Barat - Ardushop-id | Tokopedia

6. Resistor 1k Ohm dan 220 ohm



7. Switch



8. Adaptor



9. Breadboard



Diagram Blok  :


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:






Rangkaian Simulasi Setelah dirunning:
 






Prinsip Kerja : 

Mekanisme Kerja Sistem Alarm Perimeter Pintu

Sistem keamanan ini berbasis mikrokontroler STM32F103C8T6 yang mengintegrasikan dua jenis sensor sebagai unit masukan digital pada pin PA0 dan PA1. Operasional perangkat ini bergantung pada sinyal dari sensor inframerah (IR) dan sensor sentuh (touch sensor) untuk mengendalikan aktuator peringatan.

1. Peran Sensor dan Input Digital

  • Sensor IR (Deteksi Intrusi): Terkoneksi pada pin PA0, sensor ini memantau kontinuitas pancaran cahaya inframerah. Apabila terdapat objek yang memotong jalur transmisi, sensor akan mengirimkan sinyal berlogika HIGH ke mikrokontroler sebagai indikasi adanya pelanggaran perimeter.

  • Sensor Sentuh (Kendali Sistem): Dihubungkan ke pin PA1, komponen ini berfungsi sebagai sakelar toggle. Setiap input sentuhan akan memanipulasi variabel internal system_enable. Mekanisme ini memungkinkan pengguna untuk melakukan aktivasi atau deaktivasi (ARM/DISARM) seluruh sistem alarm secara manual.

2. Logika Pemrosesan dan Output

Mikrokontroler mengeksekusi instruksi di dalam main loop menggunakan STM32 HAL Library. Logika keputusan sistem mengikuti kondisi berikut:

  • Kondisi Aktif: Jika variabel system_enable bernilai 1 (aktif) dan sensor IR mendeteksi objek (PA0 = HIGH), maka pin PB0 dan PB1 akan dipicu ke level HIGH. Hal ini secara simultan mengaktifkan LED sebagai peringatan visual dan Buzzer sebagai alarm audio.

  • Kondisi Standby/Nonaktif: Sistem akan memutus aliran arus (output LOW) ke indikator jika salah satu syarat tidak terpenuhi (baik karena perimeter bersih atau sistem sengaja dinonaktifkan via sensor sentuh).

3. Pemantauan Kontinu

Seluruh proses pembacaan status pin masukan dan penulisan status pin keluaran dilakukan secara iteratif tanpa henti. Hal ini memastikan sistem memiliki responsivitas yang tinggi terhadap setiap perubahan status pada area pintu yang dijaga.

4. Flowchart dan Listing Program [Kembali]

Flowchart :



Listing Program :
A. Main. C:

/* USER CODE BEGIN Header */

/**

******************************************************************************

* @file : main.c

* @brief : Main program body

******************************************************************************

*/

/* USER CODE END Header */


#include "main.h"

#include "gpio.h"


/* USER CODE BEGIN 0 */

uint8_t mode_system = 1;

uint8_t prev_touch = 0;

/* USER CODE END 0 */


void SystemClock_Config(void);


int main(void)

{

HAL_Init();


SystemClock_Config();


MX_GPIO_Init();


while (1)

{

uint8_t touch = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1);


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

{

mode_system = !mode_system;

HAL_Delay(150);

}


prev_touch = touch;


if (mode_system == 1)

{

uint8_t sensor = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0);


if (sensor == GPIO_PIN_SET)

{

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);

}

else

{

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);

}

}

else

{

HAL_GPIO_WritePin(GPIOB,

GPIO_PIN_0 | GPIO_PIN_1,

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)

{

}

}


5. Kondisi [Kembali]

Percobaan 3 Kondisi 1
Buatlah rangkaian seperti pada gambar percobaan 3 dengan kondisi ketika Infrared sensor mendeteksi benda dan sensor Touch tidak mendeteksi sentuhan, maka LED menyala
6. Video Simulasi [Kembali]








7. Download File [Kembali]

Download HTML [Download]
Download File Rangkaian [Download]
Download Video Simulasi [Download]
Download Listing Program [Download]
Datasheet Mikrokontroler STM32F103C8 [Download]
Datasheet Sensor Infrared [Download]
Datasheet Sensor Touch [Download]
Datasheet RGB LED [Download]

Comments

Popular posts from this blog

Tugas Elektronika