📈
Ween's Lab
UdemyYouTubeTikTok
  • Welcome
  • 📻FPGA Tutorials
    • FPGA Boards: Getting Started
      • Getting Started with PYNQ on Kria KV260 Vision AI Starter Kit
      • Getting Started with PYNQ on Red Pitaya STEMlab 125-14
      • Getting Started with PYNQ on ZYBO
    • FPGA Ethernet Tutorial
      • FPGA Tutorial Ethernet 1: Simple TCP Server
    • PYNQ FPGA Tutorial 101
      • Part 0: Introduction
      • Part 1: GPIO
      • Part 2: Custom IP
      • Part 3: Memory
      • Part 4: ANN Processor
    • PYNQ FPGA Tutorial 102
      • Part 0: Introduction
      • Part 1: Memory Mapped
      • Part 2: Direct Memory Access
      • Part 3: AXI-Lite Multiplier
      • Part 4: AXI-Stream Multiplier with DMA
      • Part 5: AXI-Lite GCD
      • Part 6: AXI-Stream GCD with DMA
      • Part 7: Access to DDR from PL
    • ZYNQ FPGA Tutorial
      • Part 1: Gate-Level Combinational Circuit
      • Part 2: RT-Level Combinational Circuit
      • Part 3: Regular Sequential Circuit
      • Part 4: FSM Sequential Circuit
      • Part 5: ZYNQ Architecture
      • Part 6: ARM CPU and FPGA Module
      • Part 7: FPGA Memory
      • Part 8: Hardware Accelerator for Neural Networks
    • ZYNQ FPGA Linux Kernel Module
      • Cross Compiling Kernel, Kernel Module, and User Program for PYNQ
      • Configure PL to PS Interrupt in Kernel Module
      • Configure AXI DMA in Kernel Module
  • 📟Proyek Arduino
    • Kumpulan Proyek
      • Rangkaian LED
      • LED Berkedip Nyala Api
      • LED Chaser
      • LED Binary Counter
      • OLED 128x4 Bitcoin Ticker
      • Rangkaian Button
      • Button Multifungsi
      • Button Interrupt
      • Button Debouncing
    • Pelatihan Mikrokontroler Arduino ESP32
      • Bab 1 Pengenalan Mikrokontroler
      • Bab 2 Pengenalan Arduino
      • Bab 3 Pengenalan Bahasa C
      • Bab 4 Digital Output
      • Bab 5 Digital Input
      • Bab 6 Serial Communication
      • Bab 7 Analog-to-Digital Conversion
      • Bab 8 Interrupt
      • Bab 9 Timer
      • Bab 10 Pulse-Width Modulation
      • Bab 11 SPI Communication
      • Bab 12 I2C Communication
  • 💰Finance
    • Coding for Finance
      • Build a Bitcoin Price Alert with Google Cloud and Telegram
      • Build a Bitcoin Ticker with ESP32 and Arduino
      • Stock Price Forecasting with LSTM
    • Trading dan Investasi
      • Istilah Ekonomi, Keuangan, Bisnis, Trading, dan Investasi
      • Jalan Menuju Financial Abundance
      • Memahami Korelasi Emas, Oil, Dollar, BTC, Bonds, dan Saham
      • Mindset Trading dan Investasi
      • Rangkuman Buku: Rahasia Analisis Fundamental Saham
      • Rangkuman Buku: The Psychology of Money
      • Rangkuman Kuliah: Introduction to Adaptive Markets
      • Rumus Menjadi Orang Kaya
  • 📝Life
    • Life Quotes
Powered by GitBook
On this page
  • State Floating pada GPIO Input
  • Rangkaian Active-High
  • Rangkaian Active-Low
  • Menentukan Nilai Resistor
  1. Proyek Arduino
  2. Kumpulan Proyek

Rangkaian Button

PreviousOLED 128x4 Bitcoin TickerNextButton Multifungsi

Last updated 1 year ago

State Floating pada GPIO Input

Jika kita mengkonfigurasi sebuah pin GPIO di mikrokontroler sebagai input, dan pin tersebut tidak terhubung dengan apapun, maka pin tersebut berada dalam kondisi floating. Kondisi floating yaitu berarti logika yang terbaca tidak terdefinisi dengan jelas, bisa logika 0 atau 1. Ataupun bisa juga terjadi dimana level tegangannya berada di antara VIHV_{IH}VIH​ dan VILV_{IL}VIL​. Electrical noise dari mesin-mesin besar dapat menyebabkan pin floating berubah-ubah nilainya.

Oleh karena itu, kita perlu menjaga input pin tersebut pada nilai logika 0 atau 1 dengan resistor pull-down atau pull-up. Ketika kita menggunakan resistor pull-down, maka pin tersebut terhubung ke GND, maka pin tersebut memiliki nilai 0. Ketika kita menggunakan resistor pull-up, maka pin tersebut terhubung ke tegangan supply, maka pin tersebut memiliki nilai 1.

Rangkaian dengan resistor pull-down disebut juga rangkaian active-high, sedangkan dan rangkaian dengan resistor pull-up disebut juga rangkaian active-low.

Rangkaian Active-High

Pada rangkaian active-high, button dihubungkan di antara tegangan supply dan GPIO input. Berikut ini cara kerja rangkaian active-high:

  • Ketika button pada posisi open, maka tegangan terbaca pada GPIO adalah 3.3µV (logika LOW).

  • Keitka button pada posisi close, maka tegangan terbaca pada GPIO adalah 3.3V (logika HIGH).

Kondisi di dalam chip mikrokontroller ketika GPIO dikonfigurasi sebagain input dapat dimodelkan dengan resistor yang nilainya sangat besar (1 GΩ). Sehingga, untuk menghitung nilai tengangan pada GPIO input dapat menggunakan rumus pembagi tegangan.

Rangkaian Active-Low

Pada rangkaian active-low, button dihubungkan di antara GPIO input dan GND. Berikut ini cara kerja rangkaian active-low:

  • Ketika button pada posisi open, maka tegangan terbaca pada GPIO adalah 3.3V (logika HIGH).

  • Ketika button pada posisi close, maka tegangan terbaca pada GPIO adalah 0V (logika LOW).

Kondisi di dalam chip mikrokontroller ketika GPIO dikonfigurasi sebagain input dapat dimodelkan dengan resistor yang nilainya sangat besar (1 GΩ). Sehingga, untuk menghitung nilai tengangan pada GPIO input dapat menggunakan rumus pembagi tegangan.

Menentukan Nilai Resistor

Nilai resistor yang biasa digunakan yaitu 3.3kΩ−10kΩ3.3kΩ−10kΩ3.3kΩ−10kΩ. Untuk design yang membutuhkan low power, maka nilai resistor yang biasa digunakan yaitu 50kΩ−100kΩ50kΩ−100kΩ50kΩ−100kΩ. Nilai resistor yang kecil disebut dengan istilah strong pull-down/pull-up, dan nilai resistor yang besar disebut dengan istilah weak pull-down/pull-up.

📟