Tugas Pendahuluan 2 M1





1. Prosedur [Kembali]

  • Menyiapkan alat dan bahan berupa STM32, infrared sensor, switch, LED RGB, resistor, breadboard, dan kabel jumper
  • Merangkai komponen sesuai dengan rangkaian percobaan 2 pada modul
  • Menghubungkan IR sensor ke pin PA1 sebagai input
  • Menghubungkan switch ke pin PA0 sebagai input
  • Menghubungkan LED RGB ke pin PB0 (hijau), PB1 (merah), dan PB2 (buzzer tidak digunakan)
  • Menghubungkan seluruh rangkaian ke sumber tegangan (VCC dan GND)
  • Melakukan konfigurasi GPIO dengan mengatur PA0 dan PA1 sebagai input pull-down serta PB0, PB1, dan PB2 sebagai output
  • Menginisialisasi sistem dengan fungsi HAL_Init(), SystemClock_Config(), dan MX_GPIO_Init()
  • Membuat program untuk membaca kondisi IR sensor dan switch menggunakan HAL_GPIO_ReadPin
  • Menentukan kondisi logika yaitu saat IR tidak mendeteksi (LOW) dan switch ON (HIGH) maka LED menyala
  • Mengatur LED merah dan hijau dalam kondisi ON sehingga menghasilkan warna orange
  • Mengatur LED dalam kondisi OFF apabila syarat tidak terpenuhi
  • Mengupload program ke mikrokontroler
  • Menjalankan sistem dan melakukan pengujian dengan mengaktifkan switch dan memastikan tidak ada objek di depan IR sensor
  • Mengamati kondisi LED apakah menyala orange sesuai dengan logika program
  • Mengubah kondisi input untuk memastikan sistem bekerja sesuai yang diharapkan
  • Mencatat hasil pengamatan dan menganalisis kesesuaian antara teori dan hasil percobaan
  • 2. Hardware dan Diagram Blok[Kembali]

    1.  NUCLEO C031C6


    Spessifikasi

    Microcontroller

    ARM Cortex-M3

    Operating Voltage

    3.3 V

    Input Voltage (recommended)

    V

    Input Voltage (limit)

    2  3.6 V

    Digital I/O Pins

    32

    PWM Digital I/O Pins

    15

    Analog Input Pins

    10 (dengan resolusi 12-bit ADC)

    DC Current per I/O Pin

    25 mA

    DC Current for 3.3V Pin

    150 mA

    Flash Memory

    64 KB

    SRAM

    20 KB

    EEPROM

    Emulasi dalam Flash

    Clock Speed

    72 MHz


    Bagian - bagian 



    2.  LED 
    Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.


    Tabel. Warna dan Material LED

    Warna
    Panjanggelombang [nm]
    Material semikonduktor

    λ > 760
    Gallium arsenide (GaAs)Aluminium gallium arsenide (AlGaAs)

    610 < Î» < 760
    Aluminium gallium arsenide (AlGaAs)Gallium arsenide phosphide (GaAsP)Aluminium gallium indium phosphide (AlGaInP)Gallium(III) phosphide (GaP)

    590 < Î» < 610
    Gallium arsenide phosphide (GaAsP)Aluminium gallium indium phosphide (AlGaInP)Gallium(III) phosphide (GaP)

    570 < Î» < 590
    Gallium arsenide phosphide (GaAsP)Aluminium gallium indium phosphide (AlGaInP)Gallium(III) phosphide (GaP)

    500 < Î» < 570
    Indium gallium nitride (InGaN) / Gallium(III) nitride (GaN)Gallium(III) phosphide (GaP)Aluminium gallium indium phosphide (AlGaInP)Aluminium gallium phosphide (AlGaP)

    450 < Î» < 500
    Zinc selenide (ZnSe)Indium gallium nitride (InGaN)

    400 < Î» < 450
    Indium gallium nitride (InGaN)

    multiple types
    Dual blue/red LEDs,
    blue with red phosphor,
    or white with purple plastic

    λ < 400
    Diamond (235 nm) Boron nitride (215 nm) Aluminium nitride (AlN) (210 nm) Aluminium gallium nitride (AlGaN)Aluminium gallium indium nitride (AlGaInN) – (down to 210 nm)

    multiple types
    Blue with one or two phosphor layers:
    yellow with red, orange or pink phosphor added afterwards,
    or white with pink pigment or dye.

    White
    Broad spectrum
    Blue/UV diode with yellow phosphor


    Bagian bagian

    Komponen LED tampak seperti lampu yang dipakai dalam sebuah rangkaian elektronika, walaupun sejatinya dia adalah Diode yang berpendar.

    Yang harus diperhatikan adalah kaki sebuah LED, dibuat berbeda panjangnya.

    Kaki yang panjang menunjukkan kutub positif, sementara yang pendek menunjukkan kutub negatif

    3. Resistor

    Resistor adalah komponen Elektronika Pasif yang memiliki nilai resistansi atau hambatan tertentu yang berfungsi untuk membatasi dan mengatur arus listrik dalam suatu rangkaian Elektronika (V=I R). 
    Jenis Resistor yang digunakan disini adalah Fixed Resistor, dimana merupakan resistor dengan nilai tetap terdiri dari film tipis karbon yang diendapkan subtrat isolator kemudian dipotong berbentuk spiral. Keuntungan jenis fixed resistor ini dapat menghasilkan resistor dengan toleransi yang lebih rendah.
    Cara menghitung nilai resistor:
    Tabel warna

    Contoh :
    Gelang ke 1 : Coklat = 1
    Gelang ke 2 : Hitam = 0
    Gelang ke 3 : Hijau   = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
    Gelang ke 4 : Perak  = Toleransi 10%
    Maka nilai resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.

    Spesifikasi

    4. Buzzer

    Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).

    Bagian - bagian



    5. Sensor Infrared
                
    Sensor Infrared merupakan komponen elektronika yang dapat mendeteksi benda ketika cahaya infra merah terhalangi oleh benda. Ketika tidak ada benda yang menghalangi sinar inframerah, sensor akan berada dalam logika "0". Sebaliknya, ketika ada benda yang menghalangi sinar inframerah, sensor akan beralih ke logika "1". Sensor infared terdiri dari led infrared sebagai pemancar yang akan mengirimkan sinyal inframerah. Pada bagian penerima sensor inframerah, biasanya terdapat foto transistor, fotodioda, atau modul inframerah yang berfungsi untuk menerima sinar inframerah yang dikirimkan oleh pemancar.
                Spesifikasi sensor infrared:

    Bagian - bagian



    Blok Diagram


    6.Push Button





    Spesifikasi:





    Cara-Kerja-Push-Button

    Prinsip kerja push button pada dasarnya adalah untuk menghubungkan dan memutuskan aliran listrik. Namun, tombol tekan tidak memiliki kunci dan akan kembali ke posisi semula setelah ditekan.

    Ketika tombol tekan ditekan, nilainya menjadi HIGH dan mengalirkan arus listrik. Namun, setelah dilepas, tombol akan bernilai LOW dan memutuskan arus listrik.

    Namun, bagaimana tombol tekan bekerja bisa berbeda tergantung dari jenis tombol tersebut, apakah itu NO atau NC.

    Oleh karena itu, penting untuk memahami konsep dasar dan spesifikasi dari tombol tekan yang akan digunakan pada setiap proyek.

    3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]


    Percobaan 2 merupakan sistem deteksi sederhana berbasis mikrokontroler STM32 yang bekerja dengan membaca kondisi input dari switch dan sensor infrared (IR), kemudian menghasilkan output berupa LED sebagai indikator. Pada rangkaian ini, switch berfungsi untuk mengaktifkan sistem, sedangkan sensor IR digunakan untuk mendeteksi ada atau tidaknya objek di depan sensor. Mikrokontroler secara terus-menerus membaca kedua input tersebut menggunakan fungsi pembacaan GPIO, lalu memprosesnya berdasarkan logika yang telah diprogram. Ketika switch dalam kondisi ON (HIGH) dan sensor IR tidak mendeteksi objek (LOW), maka mikrokontroler akan mengaktifkan LED merah dan hijau secara bersamaan sehingga menghasilkan warna orange sebagai indikator kondisi tersebut. Sebaliknya, jika salah satu kondisi tidak terpenuhi, maka seluruh LED akan dimatikan. Prinsip kerja sistem ini menunjukkan penerapan logika digital AND dengan kondisi NOT pada sensor, serta memperlihatkan bagaimana mikrokontroler dapat digunakan untuk mengolah input digital dan mengendalikan output secara real-time berdasarkan kondisi lingkungan.

    4. Flowchart dan LIsting Program[Kembali]

    flowchart

    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)
    {
        GPIO_PinState ir = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1);
        GPIO_PinState sw = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0);

        // IR tidak ditekan (tidak deteksi) & switch ON
        if (ir == GPIO_PIN_RESET && sw == GPIO_PIN_SET)
        {
          HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); // R
          HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // G
          HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);
        }
        else
        {
          // LED mati
          HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);
          HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
          HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);
        }

        HAL_Delay(50);
    }
    }
    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();
    }
    }
    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_PULLDOWN;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2;
    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);
    }

    void Error_Handler(void)
    {
    __disable_irq();
    while (1)
    {
      }
    }

    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




    5. Video Demo [Kembali]


    6. Kondisi[Kembali]

     kondisi ketika Infrared sensor tidak mendeteksi benda dan switch on, maka LED menyala orange


    7. Video Simulasi[Kembali]

    Mengupload: 14378699 dari 14378699 byte diupload.


    8. Download File [Kembali]

    1. Download HTML [disini]

    2. Download Rangkaian  [disini]

    3. Download Vidio Rangkaian [disini]

    4. Download Datasheet Sensor: 

    5. Download library Komponen: 

    6. Download datasheet Relay [disini]

    7. Download datasheet Motor [disini]

    8. Download datasheet Led [disini]

    9. Download listing program [disini]

    10. Download data sheet [disini]






    Tidak ada komentar:

    Posting Komentar

    M1 up&uc

    PRATIKUM UC&UP [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Per...