Raspberry Pi GPIO 핀에 대해 알아야 할 모든 것

Raspberry Pi GPIO 핀에 대해 알아야 할 모든 것

게임 플레이 부터 Kodi 엔터테인먼트 시스템 실행 까지 Raspberry Pi로 할 수 있는 일이 많습니다. 그러나 GPIO(범용 입출력)에 대한 방법을 알고 있다면 훨씬 더 많은 작업을 수행할 수 있습니다. Raspberry Pi GPIO 핀을 사용하여 작업하는 데 도움이 되는 가이드는 다음과 같습니다!

Raspberry Pi GPIO 핀이란 무엇입니까?

Raspberry Pi의 GPIO 핀은 HDMI 및 전원 커넥터가 있는 위치의 반대쪽, 한쪽에서 튀어나온 금속 핀입니다.

라즈베리 파이 Gpio 핀
이미지 출처: Unsplash

그러나 해당 핀이 모두 “GPIO”로 간주되는 것은 아닙니다. 이 중 26개를 입력 및 출력 로직 핀으로 설정할 수 있습니다. GPIO 핀입니다. 나머지는 전원 핀입니다.

이를 입력 또는 출력 핀에 프로그래밍하면 입력을 읽고 출력을 표시할 수 있는 논리 컴퓨터로 전환할 수 있습니다. 예를 들어 입력 핀을 푸시버튼 회로 에 연결 하고 출력 핀을 LED에 연결하여 푸시버튼을 누를 때마다 불이 들어오도록 할 수 있습니다.

라즈베리 파이 핀아웃

각 핀을 입력과 출력으로 프로그래밍하기 전에 먼저 어떤 핀이 어떤 핀인지 알아야 합니다.

라즈베리 파이 4 핀아웃

Raspberry Pi의 각 핀에는 1부터 40까지 번호가 매겨져 있습니다. USB 포트가 바닥을 향하도록 Raspberry Pi를 보면 왼쪽 상단 핀이 1번 핀이어야 합니다. 오른쪽 핀은 핀 2이며 오른쪽 하단의 핀 40에 도달할 때까지 카운트가 계속됩니다.

이제 다음 핀은 GPIO가 아닙니다. 이는 전압(3v3 및 5V)을 출력하기 위해 지속적으로 충전되거나 전압(접지)을 수신하기 위한 전원 핀입니다.

  • 1 & 17 (3대3)
  • 2 및 4(5V)
  • 6, 9, 14, 20, 25, 30, 34, 39(지상)

일반적으로 이러한 핀을 이름으로 부를 수 있습니다. 따라서 핀 7을 GPIO로 언급하는 경우 핀 7이라고 부를 수 있습니다. 이를 BOARD 번호 매기기라고 합니다 .

한편, 주변기기 프로세서 칩을 기준으로 개별 번호를 매겨 호출할 수도 있습니다. 이를 BCM 번호 매기기 라고 하며 이러한 핀을 실행하는 칩이 BCM 프로세서 제품군에 속하기 때문에 그렇게 명명되었습니다.

입력 및 출력 핀 설정

Raspberry Pi OS와 함께 제공되는 기본 Python 편집기인 Thonny를 사용하여 Raspberry Pi의 GPIO 핀을 프로그래밍할 수 있습니다.

다음 코드는 BOARD 번호 지정을 사용하여 핀 7(GPIO 4)을 출력 핀으로 설정하고 핀 8(GPIO 14)을 입력 핀으로 설정합니다.

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD) // Set BOARD numbering.
GPIO.setup(7, GPIO.OUT) // Set pin 7 as an output pin.
GPIO.setup(14, GPIO.IN) // Set pin 14 as an input pin.


GPIO.output(7, GPIO.HIGH) // Make pin 7 output 3 volts.
GPIO.input(8) // Reads whether there's electricity passing through pin 8. Returns either a True or False that you can use in an if statement.
GPIO.output(7, GPIO.LOW) // Make pin 7 stop outputting 3 volts.

코드 설명

GPIO 핀을 사용하려면 Raspberry Pi GPIO 라이브러리를 가져와야 합니다. 를 입력하면 됩니다 import RPi.GPIO as GPIO.

그런 다음 모드를 설정해야 합니다. GPIO.setmode(GPIO.BOARD)MicroPython 인터프리터가 BOARD 모드에서 읽도록 지시하는 데 사용됩니다 . 또는 GPIO.setmode(GPIO.BCM)BCM 모드에서 읽는 데 사용합니다.

핀을 설정하려면 해당 기능을 사용해야 합니다 GPIO.setup(<pin>, <GPIO.OUT or GPIO.IN>). 두 가지 인수가 필요합니다. 첫 번째는 이전에 선택한 번호 매기기 모드를 기반으로 한 핀 번호입니다. 두 번째는 를 사용하여 출력 핀으로 설정할지, 를 사용하여 GPIO.OUT입력 핀으로 설정할지 여부에 대한 상태입니다 GPIO.IN.

다음으로 출력 핀의 경우 GPIO.output(<pin>, <GPIO.LOW or GPIO.HIGH>). 출력 핀을 HIGH로 설정하면 최대 3V까지 충전됩니다. 이는 컴퓨터 논리에서 “예” 또는 “1”로 계산됩니다. LOW는 그 반대의 역할을 하며 거의 0V까지 충전합니다.

반면에 입력 핀의 값을 읽을 수 있습니다. 3V를 수신하면 HIGH로 등록되고 GPIO.input(<pin>). 부울은 True 또는 False 값입니다. while 루프와 if 문에서 이러한 값을 사용하여 더 깊은 논리적 작업을 만들 수 있습니다.

GPIO 및 전원 핀을 주변 구성 요소에 연결

Raspberry Pi의 GPIO 핀은 수 핀으로 알려져 있습니다. Arduino Uno와 같은 핀 트레이 대신 튀어나온 금속 비트가 있기 때문입니다.

대부분의 프로토타입 구성 요소에는 브레드보드에 쉽게 배치할 수 있도록 수핀이 함께 제공됩니다. 남성-여성 점퍼 와이어를 사용하여 브레드보드에 연결하거나 여성-여성 점퍼 와이어를 사용하여 구성 요소 자체에 직접 연결할 수 있습니다.

또한 대부분의 구성 요소에서 핀 바로 위에 “S”, “IN” 또는 “OUT” 표시가 있는 경우가 있습니다. 이는 바로 옆에 있는 핀이 GPIO 핀에 연결되어야 함을 의미합니다. 표시는 구성 요소에 따라 다릅니다. 많은 구성 요소에는 보드에 약 3~9개의 신호, 입력 또는 출력 핀이 있기 때문에 이와 같이 이름을 지정하지도 않습니다.

어떤 핀이 어디로 가야 하는지 알아보려면 구성 요소 사용 방법과 예상되는 동작에 대한 제조업체의 조언인 “데이터시트”를 찾아보세요. 이는 모델이나 브랜드에 따라 다르며, 특히 내부에 수많은 다른 구성 요소가 들어 있는 모듈의 경우 더욱 그렇습니다.

Raspberry Pi GPIO 핀 관리

GPIO 핀은 민감한 부분입니다. 조심하지 않으면 깨지기 쉽습니다.

우선, 3V 로직으로 작동하는 전원만 이러한 장치에 연결되는지 확인해야 합니다. GPIO 핀에 5V를 적용하는 것도 GPIO 핀을 차단하는 한 가지 방법입니다.

이를 깨뜨릴 수 있는 또 다른 방법은 사이에 저항이나 구성 요소 없이 출력 핀을 입력 핀에 직접 연결하는 것입니다. 전압은 동일하게 유지되지만 출력 핀에서 흐르는 전류로 인해 입력 핀이 손상될 수 있습니다.

이러한 기능을 올바르게 사용하는 방법을 배우면 Raspberry Pi로 많은 일을 할 수 있습니다. 우선, DC 모터를 하나에 연결하여 바퀴에서 작동하게 하거나 작은 선풍기 역할을 할 수 있습니다. 그리고 바퀴를 추가하면 보조 배터리SSH를 통해 무선으로 Raspberry Pi 로봇을 제어 할 수도 있습니다 ! 이러한 GPIO 핀은 Raspberry Pi의 기능을 GPIO 핀이 없을 때보다 훨씬 더 많은 기능으로 확장합니다.

이미지 크레디트 : Unsplash

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다