리눅스데브코스 [3주차 - 6]<GPIO 실습해보기>

심우열·2023년 4월 22일
0

1. 현재 시간의 초를, 4개의 LED를 통해 2진표현 하기

1. 코드

import RPi.GPIO as rg
from datetime import datetime
import time

rg.setmode(rg.BCM)
rg.setwarnings(False)
LED_PINS = [27,26,22,17]
for pin in LED_PINS:
    rg.setup(pin, rg.OUT)

def set_LED(second):
    if second & 0b0001: 
        rg.output(LED_PINS[0], rg.HIGH)
    else:
        rg.output(LED_PINS[0], rg.LOW)

    if second & 0b0010:
        rg.output(LED_PINS[1], rg.HIGH)
    else:
        rg.output(LED_PINS[1], rg.LOW)
        
    if second & 0b0100:
        rg.output(LED_PINS[2], rg.HIGH)
    else:
        rg.output(LED_PINS[2], rg.LOW)

    if second & 0b1000:
        rg.output(LED_PINS[3], rg.HIGH)
    else:
        rg.output(LED_PINS[3], rg.LOW)

while True:
     second = datetime.now().second
     print(f"현재 {second}초")
     set_LED(second)
     time.sleep(1) 

2. 작동 모습

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글