본문 바로가기
robotics/raspberry pi

파이썬으로 Raspberry Pi 4의 GPIO 제어

by monotics 2021. 10. 19.

우분투가 설치된 라즈베리 파이에서 파이썬으로 간단하게 GPIO 핀을 제어하는 예제를 작성해본다.


하드웨어 구성

  • GPIO17 (pin11)에 LED 연결
  • GPIO18 (pin12)에 Switch 연결

GPIO 핀에 LED와 Switch 연결

파이썬 코드

우분투 공식 사이트의 예제를 따라 해 보려고 하였으나 'lgpio' 모듈이 설치가 되지 않아 'RPi.GPIO' 모듈을 사용하는 방식으로 파이썬 코드를 작성하였다. 예제는 1초 간격으로 LED가 켜지고 끄지는 블링크 동작을 하며 매 2초마다 스위치의 상태를 화면에 출력한다.

import time
import RPi.GPIO as GPIO

LED = 17
SWITCH = 18

# open the gpio chip
GPIO.setmode(GPIO.BCM)

# set the LED pin as output
GPIO.setup(LED, GPIO.OUT)

# set the Switch pin as input
GPIO.setup(SWITCH, GPIO.IN)

try:
    while True:
        # Turn the GPIO pin on
        GPIO.output(LED, GPIO.HIGH)
        time.sleep(1)

        # Turn the GPIO pin off
        GPIO.output(LED, GPIO.LOW)
        time.sleep(1)
        
        # Read the GPIO pin status
        print('Switch status = ', GPIO.input(SWITCH))
except KeyboardInterrupt:
    GPIO.cleanup()

참고사이트

https://ubuntu.com/tutorials/gpio-on-raspberry-pi#3-basic-gpio-example

https://www.ics.com/blog/control-raspberry-pi-gpio-pins-python

댓글