Percobaan 2 Kondisi 4



1. Prosedur [kembali]

  1. Memahami kondisi atau skenario yang akan digunakan pada percobaan.
  2. Setelah itu, buka website Wokwi.
  3. Siapkan alat dan bahan yang diperlukan.
  4. Buat rangkaian sesuai dengan kondisi yang diinginkan dan mengikuti modul yang ada.
  5. Tulis kode program sesuai instruksi untuk menjalankan rangkaian.
  6. Jalankan simulasi untuk melihat apakah rangkaian sudah bekerja dengan baik.
  7. Jika semua langkah sudah dilakukan, maka proses selesai.

2. Hardware dan Diagram Blok [kembali]

A. Hardware

     1. Mikrokontroler STM32 NUCLEO-G474RE

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

7. Switch

8. Adaptor

9. Breadboard


B. Diagram Blok

3. Rangkaian Simulasi dan Prinsip Kerja [kembali]

Prinsip Kerja

Sistem ini menggunakan sensor infrared (IR) untuk mendeteksi keberadaan benda dan sebuah tombol (switch) sebagai pengontrol. Kedua input bekerja dalam logika aktif LOW, sehingga kondisi aktif terjadi saat bernilai RESET.

LED hijau akan menyala ketika sensor infrared tidak mendeteksi benda (output LOW) dan tombol dalam kondisi ON (LOW). Jika salah satu kondisi tidak terpenuhi, maka LED hijau akan mati. Dengan demikian, LED hanya menyala ketika tidak ada objek yang terdeteksi oleh sensor infrared dan switch dalam keadaan aktif.

4. Flowchart dan Listing Program [kembali]

Flowchart:

Listing Program:

A.    main.c

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

    {

        if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1) == GPIO_PIN_RESET &&

            HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_RESET)

        {

            HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);

        }

        else

        {

            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;

 

    HAL_RCC_OscConfig(&RCC_OscInitStruct);

 

    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;

 

    HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0);

}

 

static void MX_GPIO_Init(void)

{

    GPIO_InitTypeDef GPIO_InitStruct = {0};

 

    __HAL_RCC_GPIOA_CLK_ENABLE();

    __HAL_RCC_GPIOB_CLK_ENABLE();

 

    GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1;

    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

    GPIO_InitStruct.Pull = GPIO_NOPULL;

    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

 

    GPIO_InitStruct.Pin = GPIO_PIN_0;

    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

}

 

void Error_Handler(void)

{

    while (1)

    {

    }

}

 

B.    main.h

#ifndef __MAIN_H

#define __MAIN_H

 

#ifdef __cplusplus

extern "C" {

#endif

 

#include "stm32c0xx_hal.h"

 

/* Function prototype */

void Error_Handler(void);

 

/* INPUT */

#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

 

/* OUTPUT */

#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 /* __MAIN_H */

 

5. Video Demo [kembali]

6. Kondisi [kembali]

Percobaan 2 Kondisi 4

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

7. Video Simulasi [kembali]

8. Download File [kembali]

Rangkaian Wokwi [Download]

Vidio Rangkaian [Download]

Datasheet STM32 NUCLEO-G474RE [Download]

Datasheet Infrared Sensor [Download]

Datasheet Buzzer [Download]

Datasheet RGB LED [Download]

HTML [Download]


















Comments

Popular posts from this blog