from machine import Pin
import time
# memasukan library
import PRi.GPIO as GPIO
from time import sleep as sleep
# konfigurasi PIN
R_LED = 5
G_LED = 4
B_LED = 3
Y_LED = 2
R_PB = 10
G_PB = 11
B_PB = 12
Y_PB = 13
# setting pin GPIO
GPIO.setmode (GPIO.BCM)
GPIO.setwarning (False)
# pin LED OUTPUT
GPIO.setup (R_LED5, GPIO.OUT)
GPIO.setup (G_LED4, GPIO.OUT)
GPIO.setup (B_LED3, GPIO.OUT)
GPIO.setup (Y_LED2, GPIO.OUT)
# pin push button input
GPIO.setup (R_PB10, GPIO.IN, PULL_UP_down=GPIO.PUD_UP)
GPIO.setup (G_PB11, GPIO.IN, PULL_UP_down=GPIO.PUD_UP)
GPIO.setup (B_PB12, GPIO.IN, PULL_UP_down=GPIO.PUD_UP)
GPIO.setup (Y_PB13, GPIO.IN, PULL_UP_down=GPIO.PUD_UP)
# mematikan LED
GPIO.outpu (R_LED5, GPIO.LOW)
GPIO.outpu (G_LED4, GPIO.LOW)
GPIO.outpu (B_LED3, GPIO.LOW)
GPIO.outpu (Y_LED2, GPIO.LOW)
# menyalakan LED
def led_merah():
print ("LED MERAH NYALA")
GPIO.output (R_LED5, GPIO.HIGH)
GPIO.output (G_LED4, GPIO.LOW)
GPIO.output (B_LED3, GPIO.LOW)
GPIO.output (Y_LED2, GPIO.LOW)
# menyalakan led hijau
def led_hijau():
print ("LED HIJAU NYALA")
GPIO.output (R_LED5, GPIO.LOW)
GPIO.output (G_LED4, GPIO.HIGH)
GPIO.output (B_LED3, GPIO.LOW)
GPIO.output (Y_LED2, GPIO.LOW)
# menyalakan led biru
def led_biru():
print ("LED BIRU NYALA")
GPIO.output (R_LED5, GPIO.LOW)
GPIO.output (G_LED4, GPIO.LOW)
GPIO.output (B_LED3, GPIO.HIGH)
GPIO.output (Y_LED2, GPIO.LOW)
# menyalakan led kuning
def led_kuning():
print ("LED KUNING NYALA")
GPIO.output (R_LED5, GPIO.LOW)
GPIO.output (G_LED4, GPIO.LOW)
GPIO.output (B_LED3, GPIO.LOW)
GPIO.output (Y_LED2, GPIO.HIGH)
# program terus menerus
try:
while True:
R_btnState = GPIO.input (R_PB10)
R_btnState = GPIO.input (G_PB11)
R_btnState = GPIO.input (B_PB12)
R_btnState = GPIO.input (Y_PB13)
if(R_btnState == 0):
#panggil led merah
led_merah()
else:
GPIO.output (R_LED5, GPIO.LOW)
if(G_btnState == 0):
#panggil led hijau
led_hijau()
else:
GPIO.output (G_LED4, GPIO.LOW)
if(B_btnState == 0):
#panggil led biru
led_biru()
else:
GPIO.output (B_LED3, GPIO.LOW)
if(Y_btnState == 0):
#panggil led kuning
led_kuning()
else:
GPIO.output (Y_LED2, GPIO.LOW)
sleep(1)
except keyboardunterrup:
GPIO.cleanup