본문 바로가기

라즈베리파이

2. 라즈베리파이 GPIO

라즈베리파이 GPIO

GPIO란?

GPIO는 General Purpose Input Output으로 범용 입/출력 인터페이스입니다.

현재 총 40 핀의 GPIO 헤더로 구성되어 있으며 참고로 Pi 1 Model B+(2014년) 이전에는 더 작은 26 핀의 헤더로 구성되어 있었습니다. 

라즈베리파이의 GPIO 핀은 소프트웨어에서 입력 또는 출력 핀으로 지정할 수 있으며 지정된 핀은 광범위한 용도로 활용 가능합니다.


다음 그림과 같이 라즈베리파이의 핀 번호와 GPIO 번호는 서로 다르게 구성이 되어 있기 때문에 주의가 필요하다.

- 핀 번호 : 좌하 : 1번(3.3V), 좌상 : 2번(5V), 우하 : 39번(Ground), 우상 : 40번(GPIO21) 

GPIO 구성도


라즈베리파이의 GPIO 번호가 기억나지 않을 때는 터미널에서 pinout 입력 후 엔터를 치면 다음과 같이 핀 정보를 확인할 수가 있습니다.

(GPIO0과 GPIO1 핀은 특수 기능으로 사용되니 가급적 사용하지 않는 것이 좋습니다.)


 


전압

 2개의 5V 핀, 2개의 3.3V핀, 다수의 접지 핀(0V)으로 구성되어 있습니다. 나머지 핀은 모두 범용 3.3V 핀으로, 출력은 3.3V로 설정되고 입력은 3.3V가 입력됩니다.


출력

 출력 핀으로 지정된 GPIO 핀은 High(3.3V) 또는 Low(0V)으로 설정할 수 있습니다.


입력

 입력 핀으로 지정된 GPIO 핀은 High(3.3V) 또는 Low(0V)으로 읽을 수 있습니다. 

 내부 풀업 또는 풀다운 저항을 사용하면 보다 쉽게 ​​사용 가능합니다.

 ※ 참고 : GPIO2 및 GPIO3에는 고정 풀업 저항이 있지만 다른 핀의 경우 소프트웨어에서 구성 가능


추가 기능

 GPIO 핀은 간단한 입력 및 출력 장치 뿐만 아니라 다양한 대체 기능과 함께 사용할 수 있습니다. 

 

   PWM (펄스 폭 변조)

   - 소프트웨어 PWM : 모든 핀에서 설정 가능

   - 하드웨어 PWM : GPIO12, GPIO13, GPIO18, GPIO19에서 사용 가능

   SPI

   - SPI0 : MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)

   - SPI1 : MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)

   I2C

   - Data: (GPIO2); Clock(GPIO3)

   - EEPROM Data: (GPIO0); EEPROM Clock (GPIO1)

   Serial

   - TX (GPIO14); RX (GPIO15)


라즈베리파이 내부 회로도를 보면 GPIO 전체 핀이 3.3V로 출력 됩니다. 

라즈베리파이 회로도



라즈베리파이 공식 사이트를 방문하면 다음과 같은 경고문이 있습니다.

경고 : 간단한 구성 요소를 GPIO 핀에 연결하는 것은 완벽하게 안전하지만, 배선 방법에 주의하는 것이 중요합니다. 

LED에는 통과하는 전류를 제한하는 저항이 있어야 합니다. 3.3V 구성 요소에는 5V를 사용하지 마십시오. 

모터를 GPIO 핀에 직접 연결하지 말고 대신 H-브리지 회로 또는 모터 컨트롤러 보드를 사용하십시오.


GPIO0(ID_SD) 및 GPIO1(ID_SC) PINS :

이 핀은 HAT ID EEPROM 용으로 예약되어 있습니다.

부팅 시 I2C 인터페이스는 연결된 보드를 식별하고 GPIO (및 선택적으로 Linux 드라이버)의 자동 설정을 허용하는 EEPROM을 찾도록 요청됩니다.

이 핀을 I2C ID EEPROM 연결 이외의 용도로 사용하지 마십시오.

ID EEPROM이 필요하지 않은 경우 연결되지 않은 상태로 두십시오.


Raspberry Pi 3 Model B+