● online
- Motor servo MG996R TowerPro Metal Gear....
- Jasa Cetak PCB....
- Relay Module 1 Channel Modul Relay 5V 10A 1 Channe....
- Tilt Sensor SW-520D Module Modul Sensor Kemiringan....
- IIC I2C LCD 1602 16x2 2004 20x4 Backpack for LCD A....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- Kabel Jumper 20cm Dupont 20 cm Female to Female Pe....
- Dual Volt Amp Meter Digital Ampere Meter Voltmeter....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Mengendalikan LED dari Push Button Menggunakan Raspberry Pi dan Python
Push Button dan LED (Light Emitting Diode) menjadi sebuah komponen yang umum ditemukan pada piranti elektronik sehingga menjadikan kedua perangkat ini memiliki banyak kegunaan. Push Button adalah saklar yang penggunaannya dengan cara ditekan untuk menghubungkan atau memutuskan listrik. Sedangkan LED adalah lampu kecil yang terbuat dari bahan semikonduktor yang memiliki 2 kaki yaitu kaki Anode dan Katode. Pada kesempatan kali ini, saya akan menggunakan Raspberry PI 3B (bisa juga untuk Raspi 4) untuk membuat LED yang mampu dikendalikan dengan Push Button.
ALAT DAN BAHAN PERCOBAAN LED – Push Button Raspberry Pi
- Raspberry Pi 3B (sudah terinstal Raspbian OS)
- Laptop/Personal Computer (PC)
- Kabel USB yang dapat terhubung ke Raspberry Pi
- 3 buah LED (warna: merah, kuning, hijau)
- 3 buah Resistor 220 Ohm
- 3 buah Push Button
- Kabel jumper secukupnya
- Protoboard/projectboard/breadboard
PERCOBAAN 1: Kendali LED dengan Push Button di Raspberry Pi
Dari alat dan bahan percobaan di atas, buatlah gambar rangkaian seperti gambar berikut:

Kemudian buat program Python berikut ini menggunakan Thonny (IDE Python bawaan di Raspberry Pi)
'''
PROGRAM RASPBERRY PI GPIO DENGAN LED #5
BY. INDOMAKER
'''
'''
PROGRAM RASPBERRY PI GPIO DENGAN LED #5
BY. INDOMAKER
'''
# memasukan library
import RPi.GPIO as GPIO
from time import sleep as sleep
# konfigurasi PIN
R_LED = 14
Y_LED = 15
G_LED = 18
R_PB = 4
Y_PB = 17
G_PB = 27
# Setting pin GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# pin LED sebagai OUTPUT
GPIO.setup(R_LED,GPIO.OUT)
GPIO.setup(Y_LED,GPIO.OUT)
GPIO.setup(G_LED,GPIO.OUT)
# pin PushButton sebagai INPUT
GPIO.setup(R_PB,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Y_PB,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(G_PB,GPIO.IN, pull_up_down=GPIO.PUD_UP)
# instruksi mematikan LED
GPIO.output(R_LED, GPIO.LOW)
GPIO.output(Y_LED, GPIO.LOW)
GPIO.output(G_LED, GPIO.LOW)
# menyalakan LED Hijau
def led_hijau():
print("LED HIJAU NYALA") # menampilkan teks
GPIO.output(R_LED, GPIO.LOW) # instruksi mematikan LED merah
GPIO.output(Y_LED, GPIO.LOW) # instruksi mematikan LED kuning
GPIO.output(G_LED, GPIO.HIGH) # instruksi menyalakan LED hijau
# menyalakan LED Merah
def led_merah():
print("LED MERAH NYALA") # menampilkan teks
GPIO.output(R_LED, GPIO.HIGH) # instruksi menyalakan LED merah
GPIO.output(Y_LED, GPIO.LOW) # instruksi mematikan LED kuning
GPIO.output(G_LED, GPIO.LOW) # instruksi mematikan LED hijau
# menyalakan LED Kuning
def led_kuning():
print("LED KUNING NYALA") # menampilkan teks
GPIO.output(R_LED, GPIO.LOW) # instruksi mematikan LED merah
GPIO.output(Y_LED, GPIO.HIGH) # instruksi menyalakan LED kuning
GPIO.output(G_LED, GPIO.LOW) # instruksi mematikan LED hijau
# eksekusi program terus menerus
try:
while True: # perulangan While-loop
R_btnState = GPIO.input(R_PB)
Y_btnState = GPIO.input(Y_PB)
G_btnState = GPIO.input(G_PB)
if(R_btnState == 0):
# panggil fungsi merah
led_merah()
else:
GPIO.output(R_LED, GPIO.LOW)
if(Y_btnState == 0):
# panggil fungsi hijau
led_hijau()
else:
GPIO.output(G_LED, GPIO.LOW)
if(G_btnState == 0):
# pangil fungsi kuning
led_kuning()
else:
GPIO.output(Y_LED, GPIO.LOW)
sleep(1)
except KeyboardInterrupt:
GPIO.cleanup() # membersihkan pin GPIO untuk digunakan kembali
Tampilan output Shell dapat diihat sebagai berikut:

Pada saat program di eksekusi, maka ketika salah satu Push Button di tekan maka akan menyalakan salah satu LED. Misalkan, Push Button yang disetting pada pin 4 ketika di tekan akan menyalakan LED Merah. Push Button yang disetting pada pin 17 ditekan akan menyalakan LED Kuning. Sedangkan, pada push Button yang disetting pada pin 27 ditekan akan menyalakan LED Hijau. Pada program ini, LED akan menyala sesaat hanya pada saat push button ditekan saja akan tetapi ketika push button dilepas maka LED pun akan mati. Lalu, bagaimana caranya supaya LED tetap menyala meskipun push button dilepas? Simak percobaan bagian 2 berikut ini
PERCOBAAN 2 LED + Push Button Raspberry Pi
Dengan menggunakan rangkaian yang sama seperti percobaan sebelumnya, ubahlah program Python di atas (pada bagian while True) di Thonny IDE Raspberry Anda
while True:
R_btnState = GPIO.input(R_PB)
Y_btnState = GPIO.input(Y_PB)
G_btnState = GPIO.input(G_PB)
if(R_btnState == 0):
# menyalakan LED Merah
led_merah()
if(Y_btnState == 0):
# menyalakan LED Hijau
led_hijau()
if(G_btnState == 0):
# menyalakan LED Kuning
led_kuning()
Prinsip kerja program bagian 2 ini mirip dengan percobaan 1, perbedaannya hanya pada saat salah satu push button ditekan kemudian dilepas maka LED masih tetap menyala sampai push button lain ditekan. Hal Ini disebabkan karena pada kode program kita tidak lagi menambahkan else untuk mematikan LED pada saat dilepas. Nah, sudah semakin jelas kan belajarnya? 😊
Demikian sedikit tutorial pada kesempatan kali ini. Program di atas dimaksudkan untuk menyalakan dan mematikan LED dengan Push Button menggunakan Raspberry Pi 3B. Terdapat 2 percobaan, kedua percobaan tersebut membuat program yang mampu mengendalikan LED melalui push Button. Perbedaannya hanya pada saat push Button ditekan dan dilepaskan saja. Jika hasil percobaan Anda sesuai dengan hasil di atas maka percobaan Anda berhasil, Anda dapat kembangkan sesuai dengan keinginan atau kebutuhan Anda. Selamat berkreasi.
Mengendalikan LED dari Push Button Menggunakan Raspberry Pi dan Python
Setelah kemarin sudah belajar Blynk dan sensor LDR DISINI, sekarang lanjut ke sensor berikutnya yaitu sensor DHT11 untuk memonitoring... selengkapnya
Oke kali ini akan membahas seputar sensor fingerprint, dimana fungsi dari fingerprint ini adalah sebagai validasi data identitas dengan... selengkapnya
Water level merupakan sensor yang berfungsi untuk mendeteksi ketinggian air dengan output analog kemudian diolah menggunakan mikrokontroler. Cara kerja... selengkapnya
Sensor LM35 merupakan sebuah sensor yang dapat mendeteksi suhu ruangan dengan cara mengubah besaran suhu menjadi besaran listrik dalam... selengkapnya
Arduino tidak hanya bisa digunakan untuk menyalakan LED atau membaca input dari tombol, tetapi juga dapat dimanfaatkan untuk membuat simulasi... selengkapnya
Oke kali ini saatnya kita mulai running ke mesin CNC router engaraving langsung. Sebelumnya apakah anda sudah mempersiapkan bahan-bahanya?... selengkapnya
CNC router merupakan sebuah mesin yang mempunyai kegunaan untuk memotong, mengukir/grafir dan membuat marking. Semua proses itu dapat dilakukan... selengkapnya
Hallo semuanya, kali ini saya akan mendemonstrasikan penggunaan RFID RC522 untuk membaca e-KTP maupun e-Toll. Pada postingan sebelumnya sudah... selengkapnya
Sensor ultrasonik merupakan sensor yang dapat mendeteksi suatu benda yang ada di depannya dengan jarak tertentu. Prinsip kerja dari... selengkapnya
Rotary encoder adalah sebuah perangkat elektronik yang mampu mengkonversi gerakan mekanis berputar menjadi sinyal listrik, menjadi elemen kunci dalam memenuhi... selengkapnya
Fitur: -Dapat mendeteksi api atau panjang gelombang sumber cahaya dalam 760nm ~ 1100nm – Api lebih ringan mendeteksi jarak 80cm… selengkapnya
Rp 9.000Specifications: 1. supports sampling costs (KHz): 8/11.025/12/16/22.05/24/32/44.1/48 2. 24-bit DAC output, dynamic range aid: 90dB, SNR aid: 85dB 3. fully… selengkapnya
Rp 17.800Specifications: Operating voltage: DC3-5V Operating current: less than 20mA Sensor Type: Analog Detection Area: 40mmx16mm Production process: FR4 double-sided HASL… selengkapnya
Rp 3.000Features and Specs: Dual-Core, 32-bit ARM Cortex M0+ Processor Clocked at 48MHz (default), configurable max to 133MHz. Ready with USB… selengkapnya
Rp 82.900Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800This is a set of transmitter and receiver in one of the photoelectric sensor. Detection distance can be adjusted according… selengkapnya
Rp 37.500Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v – Sudah include module I2C Backpack dan tersolder… selengkapnya
Rp 30.000Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.900MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300

Saat ini belum tersedia komentar.