2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

사물인터넷(IOT)/라즈베리파이

6. 라즈베리파이 디지털 입력 제어

파아란기쁨1 2023. 3. 22. 16:50
반응형

이번 시간에는 PUSH 버튼을 입력 받아서 PUSH 버튼이 눌러졌을때 LED를 켜는 프로젝트를 수행하면서 디지털 신호의 입력값을 처리하는 방법에 대해 알아보자.

 

1. 라즈베리파이 핀맵

2. 회로구성

3.3V를 10K옴 저항 값을 통해 버튼에 연결하고 그 값을 BCM18에 연결 다른 쪽은 GND에 연결함

LED의 +를 BCM23에 220옴 저항을 태워서 연결후 -를 GND에 연결

 

3. 디지털 핀값 읽어 오기

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.IN)
GPIO.setup(23,GPIO.OUT)

18번 핀은 입력 23번 핀은 출력으로 설정한다.

inputIO = GPIO.input(18)

GPIO.input() 명령으로 값을 읽어 온다.

 

4. 디지털 핀값 입력시 LED 불켜기

try:
    while True:
        inputIO = GPIO.input(18)

        # 버튼이 눌렸는지 체크
        if inputIO == False:
            # LED를 켜기
            GPIO.output(23, GPIO.HIGH)

        else:
            # LED를 끄기
            GPIO.output(23, GPIO.LOW)

# Ctrl + C키를 누르면 종료
except KeyboardInterrupt:
    # 종료시 LED를 무조건 끄기
    GPIO.output(23, GPIO.LOW)

# GPIO 클린업
finally:
    GPIO.cleanup()

 

 

 

 

반응형