Tuesday, June 24, 2025

LED Pushbutton

 Raspberry Pi + LED Button


Peralatan yang diperlukan :

  1. Komponen Raspberry Pi

  • Raspberry Pi

Berfungsi sebagai otak dari rangkaian serta memonitoring gerak rangkaian

  • Adaptor Raspberry Pi

Berfungsi sebagai pemasok daya untuk Raspberry Pi

  • Kabel VGA

Berfungsi untuk menampilkan layar pada monitor dari Raspberry Pi




  • Extend GPIO + Cable

Berfungsi sebagai penambah Pinout pada komponen Raspberry Pi


  1. Perangkat utama

  • Monitor

Berfungsi Sebagai tampilan visual untuk melakukan setup dan coding pada Raspberry Pi

  • Keyboard dan Mouse

Berfungsi Sebagai komponen kendali untuk monitor 





  1. Komponen elektronika

  • Breadboard

Berfungsi sebagai tempat dimana komponen diletakkan dan teraliri aliran listrik

  • Resistor 10K ohm

Berfungsi sebagai penghambat arus Listrik menuju Button

  • Resistor 200 ohm

Berfungsi sebagai penghambat arus Listrik menuju LED untuk mencegah rusaknya komponen LED.

                                                        



  • Lampu LED

Berfungsi sebagai komponen indicator/output pada rangkaian

  • Button

Berfungsi sebagai tombol untuk mengaktifkan dan mematikan LED

  • Kabel Male-male

Berfungsi untuk menghubungkan Pin dari Raspberry pada komponen



Langkah Langkah :

  1. Persiapkan peralatan yang diperlukan dan pahami gambar kerja yang akan dirangkai sebelum melakukan perakitan.



  1. Lakukan perakitan dengan tahap tahap berikut ini

  • Pasang extend GPIO pada breadboard seperti di gambar, (Jangan hubungkan raspberry terlebih dahulu pada Listrik)

  • Hubungkan 3.3V pada kolom positif pada breadboard menggunakan kabel male-male

  • Setelah itu pasang komponen LED, resistor, Dan button pada breadboard seperti pada gambar

  • Hubungkan kutub positif breadboard pada kaki resistor 200 ohm dan kaki resistor 10k dan hubungkan kaki resistor 200 pada kaki positif LED, Hubungkan kaki negative LED ke GPIO 18

  • Lalu hubungkan kaki resistor 10k dengan kaki button, dan kaki button dihubungkan pada GPIO 17, dan kaki resistor 10k mendapatkan GND

  • Setelah itu hubungkan kabel daya dan ground pada raspberry, digunakan untuk menyalakan kipas

  • Pasangkan kabel warna merah pada GPIO2 (5V) di breadboard 

  • Pasangkan Kabel warna hitam pada GPIO6 (GND) di breadboard

  • Lalu hubungkan raspberry pi pada monitor dengan menancapkan kabel HDMI pada raspberry ke VGA monitor menggunakan kabel HDMI to VGA

  • Setelah itu hubungkan raspberry pi pada Listrik menggunakan adaptor

  • Lalu lakukan setup waktu dan Bahasa pada awal login di raspberry lalu akan dialihkan pada laman desktop raspberry pi


  1. Setelah selesai melakukan tahap perakitan, lanjut pada tahap pemograman untuk membuat sistem kendali pada rangkaian komponen

  • Masuklah pada file explorer dan buatlah file baru dengan nama LED_Button

  • Lalu masuklah pada file tersebut dan anda akan masuk pada text editor, tulislah program berikut di text editor tersebut

Berfungsi untuk header dan transfer pinout pada program

import RPi.GPIO as GPIO

import time

Berfungsi untuk mengatur Pinout pada lampu LED dan Button

ButtonPin = 17

LedPin = 18


Mendefinisikan status LED

led_status = True


Berfungsi untuk mencetak pesan pada output

def print_message():

    print ('|************************************|')

    print ('|       Kontrol LED dengan Button    |')

    print ('|  ------------------------------    |')

    print ('|        LED terhubung ke GPIO1      |')

    print ('|       Button terhubung ke GPIO0    |')

    print ('|  ------------------------------    |')

    print ('|************************************|\n')

    print ('Program Berjalan...')

    print ('Tekan CTRL+C untuk mengakhiri program...')

    pass    


Buatlah fungsi custom

def setup():

    GPIO.setwarnings(False)


Ubah mode GPIO ke BCM numbering

    GPIO.setmode(GPIO.BCM)


setting pinout LED pin dan setting nilai input pada 3.3V

    GPIO.setup(LedPin,GPIO.OUT,initial=GPIO.HIGH)


setting pinout Button pin dan setting nilai input pada 3.3V

    GPIO.setup(Button,GPIO.OUT,initial=GPIO.HIGH)




Buatlah fungsi callback untuk mendeteksi gagal

GPIO.add_event_detect(ButtonPin,GPIO.FALLING,callback = ButtonLed)

    pass


Buatlah fungsi main

def main():


Mendefinisikan program callback

def ButtonLed(ev=None):

    global led_status



 Ubah status LED (aktif-->mati; mati-->aktif)

    led_status = not led_status

    GPIO.output(LedPin, led_status)

    if led_status:

        print('|******************|')

        print('|  ...LED AKTIF... |')

        print('|******************|')

        print('\n')

    else:

        print('|******************|')

        print('|  ...LED MATI...  |')

        print('|******************|')

        print('\n')


Mendefinisikan fungsi main

def main():


 Mencetak pesan

    print_message()

    while True:

  

Jangan lakukan apapun.

        time.sleep(1)


Mendefinisikan fungsi destroy untuk membersihkan output 

def destroy():

LED dimatikan

    GPIO.output(LedPin, GPIO.HIGH)


Merilis sumber

    GPIO.cleanup()

    pass


Jika program dijalankan, lakukan :

if __name__ == '__main__':

    setup()

    try:

        main()


Ketika CTRL+C ditekan maka fungsi destroy akan tereksekusi 

    except KeyboardInterrupt:

        destroy()


Sebagai contoh program yang tertulis sebagai berikut  

                        


  1. Setelah selesai menulis program tersebut simpan pada file explorer




  1. Lalu masuk ke file explorer dan klik kanan file dan masuk pada laman properties, dan ubahlah “open with” menggunakan thonny app

  1. Setelah menyimpan perubahan pada property, klik kiri file tersebut maka akan langsung masuk pada software compiler thonny app

  2. Lalu jalankan program tersebut dengan klik tombol Run

  1. Program akan mengeksekusi rangkaian melalui raspberry

Output pada program dari Thonny :

Output dari rangkaian :

  • Kondisi mati



  • Kondisi Button Ditekan (LED = ON)



  • Kondisi Button Ditekan (LED = OFF)


Selesai


No comments:

Post a Comment