Laporan Akhir 2



                                        Laporan Akhir 2 Modul 1 - General Input Output

1. Prosedur[Kembali]

  1. Pahami terlebih dahulu kondisi yang akan digunakan
  2. Buka web Wokwi
  3. Persiapkan alat dan bahan
  4. Buat rangkaian sesuai dengan kondisi dan modul
  5. Buat kode program untuk mengoperasikan rangkaian tersebut sesuai dengan kondisi 
  6. Jalankan simulasi rangkaian.  
  7. Proses selesai

2. Hardware dan Diagram Blok[Kembali]

    a. Hardware


STM32 NUCLEO-G474RE


Flame Sensor


Buzzer



LED Red


Resistor 1k dan 220 ohm


Relay

Float Sensor

Breadboard

Rangkaian


Diagram Blok


3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]

Rangkaian Simulasi



Prinsip Kerja
1. Kondisi awal, Saat sistem dinyalakan:
 
STM32 menjalankan:
1. HAL_Init() → inisialisasi sistem
2. SystemClock_Config() → menggunakan clock HSI internal
3. MX_GPIO_Init() → konfigurasi semua pin
Konfigurasi pin:

    FLAME_PIN & FLOAT_PIN → INPUT (pull-down)
       LED_PIN, BUZZER_PIN, RELAY_PIN → OUTPUT
2. Pembacaan Sensor (Loop Utama). Di dalam loop while(1):
Sistem membaca dua input:
        Flame sensor (push button 1) → simulasi deteksi api
        Float sensor (push button 2) → simulasi level air
Karena menggunakan pull-down:
                Tidak ditekan → LOW (0)
                Ditekan → HIGH (1)
3. Logika Kondisi Sistem
    Kondisi aman saat: if (flame_state == GPIO_PIN_RESET && float_state == GPIO_PIN_RESET)
    Artinya tidak ada api (Flame berlogika low) dan level air aman (Float sensor low)

4. Output Sistem
    Kondisi aman terpenuhi saat kondisi berikut terpenuhi:
    LED Mati, Buzzer Mati, Relay menyala

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)
{
  GPIO_PinState flame_state;
  GPIO_PinState float_state;
 
  flame_state = HAL_GPIO_ReadPin(FLAME_PORT, FLAME_PIN);
  float_state = HAL_GPIO_ReadPin(FLOAT_PORT, FLOAT_PIN);
 
  /* ===== FLAME SENSOR ===== */
  if (flame_state == GPIO_PIN_SET)
  {
    /* Api terdeteksi */
    HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET);
    HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, GPIO_PIN_SET);
  }
  else
  {
    HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_RESET);
    HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, GPIO_PIN_RESET);
  }
 
  /* ===== RELAY / POMPA ===== */
  if ((flame_state == GPIO_PIN_SET) || (float_state == GPIO_PIN_SET))
  {
    /* Api ATAU tangki penuh → pompa MATI */
    HAL_GPIO_WritePin(RELAY_PORT, RELAY_PIN, GPIO_PIN_RESET);
  }
  else
  {
    /* Aman & tangki belum penuh → pompa HIDUP */
    HAL_GPIO_WritePin(RELAY_PORT, RELAY_PIN, GPIO_PIN_SET);
  }
 
  HAL_Delay(100);
}
 
}
 
static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
 
  __HAL_RCC_GPIOA_CLK_ENABLE();
 
  /* INPUT */
  GPIO_InitStruct.Pin = FLAME_PIN | FLOAT_PIN;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 
  /* OUTPUT */
  GPIO_InitStruct.Pin = LED_PIN | BUZZER_PIN | RELAY_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);
 
  /* Relay default ON */
  HAL_GPIO_WritePin(RELAY_PORT, RELAY_PIN, GPIO_PIN_SET);
}
 
void SystemClock_Config(void)
{
  /* Clock default CubeIDE */
}
 
void Error_Handler(void)
{
  while (1) {}
}

5. Video Demo[Kembali]




6. Kondisi[Kembali]

Buatlah rangkaian seperti pada gambar percobaan 4 dengan kondisi ketika flame sensor tidak mendeteksi api dan float switch tidak mendeteksi tangki penuh, maka pompa menyala dan LED serta buzzer dalam kondisi mati.

8. Download File[Kembali]
Rangkaian dan Program Wokwi (Klik Disini)

Video Simulasi (Klik Disini)

Download HTML (Klik Disini)

Download Datasheet STM32 Nucleo-G474RE (klik disini)

Download Datasheet Flame Sensor (klik disini)

Download Datasheet Float Sensor (klik disini)

Download Datasheet Resistor (klik disini)

Download Datasheet LED (klik disini)

Download Datasheet Buzzer (klik disini)

Soal Analisa





Tidak ada komentar:

Posting Komentar

  BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA 2024 OLEH: Hafiz Fadli Al Anshor 2310951034 Dosen Pengampu: Darwison, M.T Referensi:  1. Da...