Raspberry Pi GPIO 둘러보기
NS 라즈베리 파이 많은 것들이 될 수 있습니다. 그것은 그것의 호소의 일부입니다. 보드의 USB 및 HDMI 포트를 통해 주변 장치를 연결하여 일반 PC처럼 Pi를 사용할 수 있습니다. Pi의 기술적 측면에 대해 자세히 알아보려면 회로 기판 측면에 있는 핀 세트에 주의를 기울이십시오. 이 핀은 IoT, 로봇 공학 및 기타 프로젝트에서 Raspberry Pi를 사용하는 열쇠를 쥐고 있습니다. 핀은 일단 분해되고 설명되면 생각하는 것만큼 위협적이지 않습니다.

Raspberry Pi의 핀 소개
GPIO(범용 입력 출력)라는 용어는 라즈베리 파이. 입력 및 출력 핀은 Arduino, Beaglebone 등과 같은 대부분의 마이크로컨트롤러에서 찾을 수 있습니다.
Raspberry Pi가 있는 GPIO는 보드의 왼쪽 상단 모서리에 있는 긴 핀 블록입니다. 이전 모델에는 26핀이 있었고 현재 모델에는 40핀이 있습니다.
구성 요소 및 기타 하드웨어 장치를 이러한 핀에 연결하고 코드를 사용하여 구성 요소가 수행하는 작업을 제어할 수 있습니다. 이것은 Raspberry Pi의 중요한 부분이며 전자 제품에 대해 배울 수 있는 훌륭한 방법입니다.
몇 가지 소프트웨어 프로젝트를 마치면 이러한 핀을 실험하고 코드를 하드웨어와 혼합하여 실제 생활에서 일이 일어나도록 열망하는 자신을 발견하게 될 것입니다.
Pi가 처음이라면 이 과정이 겁이 날 수 있습니다. 한 번의 잘못된 움직임이 Raspberry Pi를 손상시킬 수 있다는 점을 고려하면 초보자가 탐색하기에는 불안한 영역이라는 점을 이해할 수 있습니다.
이 문서에서는 각 유형의 GPIO 핀이 수행하는 작업과 제한 사항에 대해 설명합니다.
GPIO
먼저 GPIO를 전체적으로 살펴보겠습니다. 핀은 같아 보이지만 모두 다른 기능을 가지고 있습니다. 아래 이미지는 이러한 기능을 다양한 색상으로 보여줍니다.

각 핀은 왼쪽 하단 모서리에서 시작하여 1에서 40까지 번호가 매겨져 있습니다. 이것은 물리적 핀 번호입니다. 그러나 코드를 작성할 때 사용되는 BCM과 같은 번호 지정 및 레이블 지정 규칙도 있습니다.
전원 및 접지
빨간색으로 강조 표시된 것은 3.3V 또는 5V에 대해 3 또는 5로 표시된 전원 핀입니다. 이 핀을 사용하면 코드 없이도 장치에 전원을 보낼 수 있습니다. 이것도 끌 방법이 없습니다.

3.3볼트와 5볼트의 두 가지 전원 레일이 있습니다. 3.3V 레일은 50mA 전류 소모로 제한됩니다.. 대조적으로, 5V 레일은 Pi가 필요한 것을 취한 후 전원 공급 장치에서 남은 전류 용량을 제공합니다.
갈색으로 강조 표시된 것은 접지 핀(GND)입니다. 이 접지 핀은 모든 전자 프로젝트에서 중요한 부분입니다.
5V GPIO 핀은 물리적 번호 2와 4입니다. 3.3V GPIO 핀은 물리적 번호 1과 17입니다. 접지 GPIO 핀은 물리적 번호 6, 9, 14, 20, 25, 30, 34, 39입니다.
입력/출력 핀
녹색 핀은 일반 입력/출력 핀입니다. I2C, SPI 또는 UART와 같은 다른 기능과 충돌하지 않고 쉽게 입력 또는 출력으로 사용할 수 있습니다.
이 핀은 LED, 버저 또는 기타 구성 요소에 전원을 보내거나 센서, 스위치 또는 기타 입력 장치를 읽기 위한 입력으로 사용할 수 있습니다.

이 핀의 출력 전력은 3.3V입니다. 각 핀은 싱킹 또는 소싱에 관계없이 16mA의 전류를 초과해서는 안 됩니다. 전체 GPIO 핀 세트는 한 번에 50mA를 초과해서는 안됩니다. 이것은 제한적일 수 있으므로 특정 프로젝트에서 창의력을 발휘해야 할 수도 있습니다.
일반 GPIO 핀은 물리적 번호 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38, 40입니다.
I2C 핀
I2C 핀은 노란색입니다. I2C 장치가 Raspberry Pi와 통신할 수 있도록 하는 통신 프로토콜입니다. 이 핀은 일반 GPIO 핀으로도 사용할 수 있습니다.

사용의 좋은 예 I2C 이 I2C 프로토콜을 통해 더 많은 입력/출력 핀을 제공할 수 있는 인기 있는 MCP23017 포트 확장기 칩입니다.
I2C GPIO 핀은 물리적 핀 번호 3과 5입니다.
UART(직렬) 핀
UART 핀은 회색입니다. 이 핀은 직렬 연결을 제공하고 일반 GPIO 입력/출력으로 사용할 수 있는 또 다른 통신 프로토콜입니다.

UART의 한 가지 용도는 USB를 통해 Pi에서 랩톱으로 직렬 연결을 활성화하는 것입니다. 이것은 애드온 보드나 간단한 케이블을 사용하여 달성할 수 있습니다. Pi에 액세스하기 위해 화면이나 인터넷 연결이 필요하지 않습니다.
UART GPIO 핀은 물리적 핀 번호 8과 10입니다.
SPI 핀
SPI 핀은 분홍색입니다. SPI는 Pi와 기타 하드웨어 및 주변 장치 간에 데이터를 전송하는 인터페이스 버스입니다. 그것은 일반적으로 다음과 같은 장치를 연결하는 데 사용됩니다. 주도의 매트릭스 또는 디스플레이.

다른 핀과 마찬가지로 이 핀은 일반 GPIO 입력/출력으로도 사용할 수 있습니다.
SPI GPIO 핀은 물리적 핀 번호 19, 21, 23, 24 및 26입니다.
DNC 핀
마지막은 현재 다음으로 표시된 파란색 핀 2개입니다. DNC, 연결하지 않음을 나타냅니다. 이는 향후 Raspberry Pi Foundation이 보드 또는 소프트웨어를 변경하는 경우 변경될 수 있습니다.

DNC GPIO 핀은 물리적 핀 번호 27과 28입니다.
GPIO 번호 매기기 규칙
GPIO로 코딩할 때 BCM 또는 BOARD의 두 가지 방법 중 하나로 GPIO 라이브러리를 가져올 수 있습니다.
첫 번째 옵션은 GPIO BCM. 이것은 Broadcom 번호 매기기 규칙입니다. 프로젝트 및 하드웨어 추가 기능에서 일반적으로 사용됩니다.
두 번째 옵션은 GPIO 보드. 이 방법은 대신 물리적 핀 번호를 사용하므로 핀을 계산할 때 편리합니다. 프로젝트 예제에서는 덜 사용됨을 알 수 있습니다.

GPIO 라이브러리를 가져올 때 GPIO 모드가 설정됩니다.
수입 RPi. GPIO를 GPIO로.
다음으로 가져오기 BCM:
GPIO.setmode(GPIO.BCM)
다음으로 가져오기 판자:
GPIO.setmode(GPIO.BOARD)
이 두 가지 방법은 모두 동일한 작업을 수행합니다. 번호를 선호하는 문제입니다.
다음과 같은 GPIO 라벨 보드를 사용할 수 있습니다. RasPiO 포트 플러스 (그림) 전선을 연결하는 핀을 확인합니다. 한 쪽은 BCM 번호 지정 규칙을 보여줍니다. 다른 하나는 BOARD를 보여줍니다. 따라서 찾은 모든 프로젝트에 적용됩니다.