본문 바로가기

코딩/파이썬과 라즈베리파이

[Raspberry Pi] 라즈베리 파이 + 파이썬 코딩 020. GPIO Zero 라이브러리

GPIO Zero 라이브러리

MagPi "Simple Electronics with GPIO Zero" 서두에

 

라즈베리 파이가 지속적인 인기를 누리고 있는 이유 중의 하나는

다양한 전자부품에 연결하여 프로그램으로 해당 전자부품을 제어할 수 있는 40핀의 GPIO 해더가 제공되기 때문이라고 설명한다.

 

이에 더하여 GPIO Zero 라이브러리가 사용 가능하게 되면서, 코드는 더 간결해지고 그로 인하여 코드를 이해하기 더 쉽게 되었다고도 말한다.

 

아무래도 파이썬을 기준으로 봤을 때 아두이노와 같은 다른 보드 보다는 라즈베리 파이의 사용자 층이 더 많지 않나 생각해 본다.

 

출처 : MagPi "SIMPLE ELECTRONICS with GPIO ZERO" 2016

 

RPI 기반 코딩 vs. GPIO Zero 기반 코딩 비교

RPi 라이브러리 기반 코딩에선 GPIO 4를 입력 모드 및 핀이 풀업(pull up)되도록 설정해줘야 하나,

 

from RPi import GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(4, GPIO.IN, GPIO.PUD_UP)
while GPIO.input(4):
    pass
print("Button pushed!")

 

GPIO Zero 라이브러리를 사용하면 코드는 좀 더 간결해질 수 있다.

 

from gpiozero import Button

btn = Button(4)
while not btn.is_pressed:
    pass
print("Button pushed!")