Personal BLOG Adnan Kasogi

SELAMAT DATANG DI BLOG ADNAN KASOGI

ELEKTRO UNAND ANGKATAN 23

2310952044--BLOG KULIAH

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Senin, 20 April 2026

Percobaan 2



Sistem Kontrol Otomatis Tangki Minyak

a. Prosedur [Kembali]

1. Buka web WOKWI.COM dan cari STM 32 NUCLEO C031C6

2. Rangkai komponen sesuai dengan gambar rangkaian di modul

3. Klik pada Library Manager untuk membuat file baru yang bernama main.h dan main.c

4. Masukan program yang telah di buat sesuai kondisi pada kedua file tersebut

5. simulasikan

b. Hardware dan Diagram Blok [Kembali]

  • Hardware

 1. STM32 NUCLEO-G474RE



2. Float Switch



3. Flame Sensor



4. Relay



5. Buzzer



6. LED 

7. Push Button


  • Diagram Blog




c. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

  • Rangkaian Simulasi




  • Prinsip kerja

Rangkaian ini menggunakan mikrokontroler (STM32 Nucleo C031C6) sebagai pengendali utama yang menerima input dari infrared sensor dan switch, serta mengontrol output berupa LED hijau sebagai indikator.

Pada kondisi awal, ketika tidak ada benda yang terdeteksi oleh infrared sensor dan switch dalam keadaan OFF, maka kedua input berada pada kondisi LOW sehingga LED dalam keadaan mati. Sistem akan terus memantau perubahan kondisi dari kedua input tersebut secara real-time.

Ketika switch diaktifkan (ON), mikrokontroler akan menerima sinyal HIGH dari switch sebagai tanda bahwa sistem diizinkan untuk bekerja. Selanjutnya, apabila infrared sensor mendeteksi adanya benda di depannya, sensor akan mengirimkan sinyal HIGH ke mikrokontroler. Kombinasi kedua kondisi ini, yaitu switch dalam keadaan ON dan infrared sensor mendeteksi benda, memenuhi logika yang telah ditentukan dalam sistem.

Sebagai respon terhadap kondisi tersebut, mikrokontroler akan:

  • Mengaktifkan LED hijau sebagai indikator bahwa benda terdeteksi dan sistem dalam kondisi aktif

Sebaliknya, apabila salah satu kondisi tidak terpenuhi, misalnya switch dalam keadaan OFF atau infrared sensor tidak mendeteksi benda, maka mikrokontroler tidak akan mengaktifkan LED sehingga LED tetap dalam keadaan mati.

Dengan demikian, LED hijau hanya akan menyala ketika sistem diaktifkan melalui switch dan infrared sensor berhasil mendeteksi objek, sehingga sistem bekerja berdasarkan kombinasi logika AND dari kedua input tersebut.

d. Flowchart dan Listing Program [Kembali]

  • Flowchart


  • Listing Program

a. main h
#ifndef __MAIN_H
#define __MAIN_H
 
#ifdef __cplusplus
extern "C" {
#endif
 
#include "stm32c0xx_hal.h"
 
void Error_Handler(void);
 
#define BUTTON_REVERSE_Pin       GPIO_PIN_0
#define BUTTON_REVERSE_GPIO_Port GPIOA
 
#define IR_SENSOR_Pin            GPIO_PIN_1
#define IR_SENSOR_GPIO_Port      GPIOA
#define LED_GREEN_Pin            GPIO_PIN_0
#define LED_GREEN_GPIO_Port      GPIOB
 
#define LED_RED_Pin              GPIO_PIN_1
#define LED_RED_GPIO_Port        GPIOB
 
#define BUZZER_Pin               GPIO_PIN_2
#define BUZZER_GPIO_Port         GPIOB
 
#ifdef __cplusplus
}
#endif
 
#endif
b. main.c
#include "main.h"

// Deklarasi fungsi
void SystemClock_Config(void);
static void MX_GPIO_Init(void);

int main(void)
{
  // Inisialisasi HAL Library
  HAL_Init();

  // Konfigurasi sistem clock
  SystemClock_Config();

  // Inisialisasi GPIO
  MX_GPIO_Init();

  // Loop utama
  while (1)
  {
    /*
       Kondisi:
       - Switch ON
       - Infrared sensor mendeteksi benda
       Maka LED Hijau ON
    */
    if ((HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_SET) &&
        (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1) == GPIO_PIN_SET))
    {
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // LED Hijau ON
    }
    else
    {
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // LED Hijau OFF
    }

    HAL_Delay(50);
  }
}

// ==========================================
// FUNGSI KONFIGURASI SYSTEM CLOCK
// ==========================================
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;

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

// ==========================================
// FUNGSI INISIALISASI GPIO
// ==========================================
static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();

  // PA0 = Switch, PA1 = Infrared sensor
  GPIO_InitStruct.Pin = BUTTON_REVERSE_Pin | IR_SENSOR_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

  // PB0 = LED Hijau
  GPIO_InitStruct.Pin = LED_GREEN_Pin;
  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);

  // Kondisi awal LED mati
  HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_RESET);
}

// ==========================================
// ERROR HANDLER
// ==========================================
void Error_Handler(void)
{
  __disable_irq();
  while (1)
  {
  }
}

e. Video Demo [Kembali]


f. Kondisi [Kembali]

Buatlah rangkaian seperti pada gambar percobaan 2 dengan kondisi ketika Infrared sensor mendeteksi benda dan switch on, maka LED menyala hijau

g. Video Simulasi [Kembali]



h. Download File [Kembali]

File TP [Klik disini]

Video Simulasi [klik disini]



Kembali ke Halaman Atas