파이썬

[Raspberry PI 3] GPIO 사용하기

gyuho.kim 2018. 9. 27. 00:04

GPIO( General Purpose Input/Output )

장치를 특정 GPIO 핀에 연결하고 ,  소프트웨어를 통해 장치를 제어할 수 있다. 


GPIO Zero 와 PRi.GPIO 

'GPIO Zero' 는 라즈비안 이미지에 기본적으로 포함되어 있는 패키지이다. 


1. GPIO Zero

(1) Import 


1
2
3
4
5
6
from gpiozero import Button
number = 2
button = Button(number)
 
import gpiozero
button = gpiozero.Button(number)
cs 


1-3 : gpiozero 의 Button 클래스만 import하는 방법

5-6 : gpiozero 전체를 import하는 방법


(2) Pin Numbering

RPi.GPIO 라이브러리는 Board 넘버링과 BCM 방식을 지정해서 사용할 수 있지만 gpiozero는 Broadcom(BCM) 방식의 핀 넘버링만 가능하다.  

ex> GPIO 17번 핀을 사용한다면, 파이썬 코드 작성 시 핀 번호를 11이 아닌 17로 주어야 한다. 



2. RPi.GPIO

라즈베리 파이에서 GPIO를 제어하기 위한 클래스를 제공하는 라이브러리.

  • 실시간 또는 타이밍이 중요한 애플리케이션에는 부적합하다.  
=> 파이썬이 언제 쓰레기 수집을 하지 예측할 수 없기 때문에.


Garbage Collection

프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능


출처: 위키페디아