LA2 Percobaan 2



1. Prosedur [Kembali]

1. Persiapan

2. Pembuatan Rangkaian di Wokwi

3. Penulisan Program

4. Simulasi

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. . Touch sensor


Spesifikasi: 
  • Konsumsi daya yang rendah
  • Bisa menerima tegangan dari 2 ~ 5.5V DC
  • Dapat menggantikan fungsi saklar tradisional
  • Dilengkapi 4 lobang baut untuk memudahkan pemasangan
  • Tegangan kerja : 2v s/d 5.5v (optimal 3V)
  • Output high VOH : 0.8 VCC (typical)
  • Output low VOL : 0.3 VCC (max)
  • Arus Output Pin Sink (@ VCC 3V, VOL 0.6V) : 8 mA
  • Arus Output pin pull-up (@ VCC=3V, VOH=2.4V) : 4 mA
  • Waktu respon (low power mode): max 220 ms
  • Waktu respon (touch mode): max 60 ms
  • Ukuran: 24 mm x 24 mm x 7.2 mm

Bagian - bagian



6. Vcc / Batrey



Spesifikasi

  • Input voltage: ac 100~240v / dc 10~30v
  • Output voltage: dc 1~35v
  • Max. Input current: dc 14a
  • Charging current: 0.1~10a
  • Discharging current: 0.1~1.0a
  • Balance current: 1.5a/cell max
  • Max. Discharging power: 15w
  • Max. Charging power: ac 100w / dc 250w
  • Jenis batre yg didukung: life, lilon, lipo 1~6s, lihv 1-6s, pb 1-12s, nimh, cd 1-16s
  • Ukuran: 126x115x49mm
  • Berat: 460gr

7. 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.

3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]

Rangkaian Simulasi




Prinsip Kerja:

    Prinsip kerja sistem didasarkan pada deteksi edge positif BUTTON_REVERSE (PA0) dari kondisi HIGH (OFF) ke LOW (ON) menggunakan variabel previous state untuk mencegah trigger berulang. Ketika edge terdeteksi, sistem menjalankan urutan LED RGB secara berurutan: LED_RED (PB1) menyala 0,5 detik, diikuti LED_GREEN (PB0) 0,5 detik, kemudian BUZZER (PB2) berbunyi pendek 2 kali (100ms ON-OFF-ON). Secara bersamaan, IR_SENSOR (PA1) memonitor kondisi LOW untuk override prioritas, mematikan seluruh output kecuali LED_GREEN. Sistem menggunakan debounce 50ms dan konfigurasi GPIO pulldown pada input untuk stabilitas operasi.

4. Flowchart dan Listing Program[Kembali]




Listing program:
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_0) == GPIO_PIN_RESET)
    {
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);
    }
    else
    {
      if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1) == GPIO_PIN_RESET)
      {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);
      }
      else
      {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);
      }
    }
    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);

/* BUTTON DEFINITIONS */
#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

/* LED & BUZZER DEFINITIONS */
#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. Soal Analisa [Kembali]


7. Kondisi[Kembali]

      Buatlah rangkaian seperti pada gambar percobaan dengan kondisi ketika BUTTON_REVERSE (PA0) baru saja berubah dari OFF ke ON, seluruh warna LED RGB (LED_GREEN/PB0, LED_RED/PB1, BUZZER/PB2 sebagai biru) menyala bergantian selama 0,5 detik dan BUZZER berbunyi pendek 2 kali ("Beep-Beep"). Jika IR_SENSOR (PA1) aktif (LOW), prioritaskan mode khusus (hanya LED_GREEN menyala).

8. Video Simulasi[Kembali]




9. Download File [Kembali]

1. Download HTML [disini]

2. Download Datasheet Sensor: 

3. Download library Komponen: 

4. Download datasheet Relay [disini]

5. Download datasheet Motor [disini]

6. Download datasheet Led [disini]

7. Download listing program [disini]

8. Download data sheet [disini]







Komentar

Postingan populer dari blog ini

TUGAS ELEKTRONIKA