ESP32-S3 DevKitC 핀아웃 레퍼런스 가이드: GPIO 설명
ESP32-S3 DevKitC는 ESP32-S3 칩이 탑재된 가장 인기 있는 개발 보드 중 하나입니다. 이 칩은 45개의 핀이 제공되며 ESP-WROOM-32 칩이 있는 보드와는 다른 핀아웃을 가지고 있습니다. 이 글에서는 ESP32-S3 DevkitC 보드 핀아웃을 살펴보고 해당 GPIO의 다양한 기능에 대해 설명합니다.
본 문서의 원본과 많은 프로젝트를 보시려면 언제나 그렇듯이 이 링크를 따라가세요.
ESP32-S3 주변 장치: ESP32-S3 주변 장치에는
- 20개의 아날로그-디지털 컨버터(ADC) 채널
- 4개 SPI 인터페이스
- 3개 UART 인터페이스
- 2개 I2C 인터페이스
- 8개 PWM 출력 채널
- 2개 I2S 인터페이스
- 14개의 정전 용량 감지 GPIO가 포함됩니다.
ESP32 칩 멀티플렉싱 기능으로 인해 거의 모든 기능을 원하는 GPIO에 할당할 수 있습니다. 하지만 기본적으로 기능이 할당된 핀이 있습니다. 이 핀아웃에서 이에 대해 살펴보겠습니다.
ESP32-S3 DevKitC-1 핀아웃
다음 그림은 S3 칩을 사용하는 가장 인기 있는 개발 보드 중 하나인 ESP32-S3 DevKitC-1 보드의 핀아웃을 보여줍니다. 핀 배치가 약간 다른 동일한 보드의 여러 버전이 있습니다. 주변기기를 연결하기 전에 항상 핀 위치와 GPIO 라벨을 다시 확인하세요. 그림을 선택하면 확대합니다.
이 보드에 대한 자세한 내용은 여기에서 공식 문서를 확인하세요.
SPI 플래시 및 PSRAM
GPIO 26~32는 통합 SPI 플래시 및 PSRAM에 연결되며 다른 용도로는 사용하지 않는 것이 좋습니다. 이 특정 보드에는 노출되어 있지 않지만 보드에 노출되어 있는 경우 사용을 피하십시오:
- GPIO 26(플래시/PSRAM SPICS1)
- GPIO 27(플래시/PSRAM SPIHD)
- GPIO 28(플래시/PSRAM SPIWP)
- GPIO 29(플래시/PSRAM SPICS0)
- GPIO 30(플래시/PSRAM SPICLK)
- GPIO 31(플래시/PSRAM SPIQ)
- GPIO 32(플래시/PSRAM SPID).
정전식 터치 GPIO
ESP32-S3에는 14개의 내부 정전식 터치 GPIO가 있습니다. 이는 사람의 피부처럼 전하를 보유하고 있는 모든 물체의 변화를 감지할 수 있습니다. 따라서 손가락으로 GPIO를 터치할 때 발생하는 변화를 감지할 수 있습니다. 이 핀은 정전식 패드에 쉽게 통합되어 기계식 버튼을 대체할 수 있습니다. 정전식 터치 핀은 ESP32를 최대 절전 모드에서 깨우는 데도 사용할 수 있습니다.
이러한 내부 터치 센서는 이러한 GPIO에 연결됩니다:
- T1 (GPIO 1)
- T2 (GPIO 2)
- T3 (GPIO 3)
- T4 (GPIO 4)
- T5 (GPIO 5)
- T6 (GPIO 6)
- T7 (GPIO 7)
- T8 (GPIO 8)
- T9 (GPIO 9)
- T10 (GPIO 10)
- T11 (GPIO 11)
- T12 (GPIO 12)
- T13 (GPIO 13)
- T14 (GPIO 14)
아날로그-디지털 컨버터(ADC)
ESP32에는 20x 12비트 ADC 입력 채널이 있습니다. 다음은 ADC와 각 채널로 사용할 수 있는 GPIO입니다:
- ADC1_CH0 (GPIO 1)
- ADC1_CH1 (GPIO 2)
- ADC1_CH2 (GPIO 3)
- ADC1_CH3 (GPIO 4)
- ADC1_CH4 (GPIO 5)
- ADC1_CH5 (GPIO 6)
- ADC1_CH6 (GPIO 7)
- ADC1_CH7 (GPIO 8)
- ADC1_CH8 (GPIO 9)
- ADC1_CH9 (GPIO 10)
- ADC2_CH0 (GPIO 11)
- ADC2_CH1 (GPIO 12)
- ADC2_CH2 (GPIO 13)
- ADC2_CH3 (GPIO 14)
- ADC2_CH4 (GPIO 15)
- ADC2_CH5 (GPIO 16)
- ADC2_CH6 (GPIO 17)
- ADC2_CH7 (GPIO 18)
- ADC2_CH8 (GPIO 19)
- ADC2_CH9 (GPIO 20)
ADC 입력 채널의 분해능은 12비트입니다. 즉, 0~4095 범위의 아날로그 판독값을 얻을 수 있으며, 0은 0V, 4095~3.3V에 해당합니다. 코드와 ADC 범위에서 채널의 분해능을 설정할 수도 있습니다.
RTC GPIO
ESP32-S3에는 RTC GPIO가 지원됩니다. RTC 저전력 서브시스템으로 라우팅되는 GPIO는 ESP32가 최대 절전 모드일 때 사용할 수 있습니다. 이러한 RTC GPIO는 ULP(초저전력) 코프로세서가 실행 중일 때 ESP32를 최대 절전 모드에서 깨우는 데 사용할 수 있습니다. 다음 GPIO를 외부 절전 해제 소스로 사용할 수 있습니다.
- RTC_GPIO0 (GPIO0)
- RTC_GPIO1 (GPIO1)
- RTC_GPIO2 (GPIO2)
- RTC_GPIO3 (GPIO3)
- RTC_GPIO4 (GPIO4)
- RTC_GPIO5 (GPIO5)
- RTC_GPIO6 (GPIO6)
- RTC_GPIO7 (GPIO7)
- RTC_GPIO8 (GPIO8)
- RTC_GPIO9 (GPIO9)
- RTC_GPIO10 (GPIO10)
- RTC_GPIO11 (GPIO11)
- RTC_GPIO12 (GPIO12)
- RTC_GPIO13 (GPIO13)
- RTC_GPIO14 (GPIO14)
- RTC_GPIO15 (GPIO15)
- RTC_GPIO16 (GPIO16)
- RTC_GPIO17 (GPIO17)
- RTC_GPIO18 (GPIO18)
- RTC_GPIO19 (GPIO19)
- RTC_GPIO20 (GPIO20)
- RTC_GPIO21 (GPIO21)
PWM
ESP32-S3에는 다양한 속성을 가진 PWM 신호를 생성하도록 구성할 수 있는 8개의 PWM 채널이 있는 LED PWM 컨트롤러가 있습니다. 출력으로 작동할 수 있는 모든 핀을 PWM 핀으로 사용할 수 있습니다.
PWM 신호를 설정하려면 코드에서
- 신호의 주파수,
- 듀티 사이클,
- PWM 채널(선택 사항),
- 신호를 출력할 GPIO 등의 파라미터를 정의해야 합니다.
I2C
ESP32-S3을 Arduino IDE와 함께 사용하는 경우, ESP32 I2C 기본 핀은
- GPIO 8 (SDA)
- GPIO 9 (SCL)
SPI
ESP32는 4개의 SPI 주변 장치를 통합하고 있습니다: SPI0, SPI1, SPI2(일반적으로 HSPI라고 함), SPI3(일반적으로 VSPI라고 함)입니다.
SP0과 SP1은 내부적으로 내장 플래시 메모리와 통신하는 데 사용되며 다른 작업에는 사용해서는 안 됩니다.
HSPI와 VSPI는 다른 장치와 통신하는 데 사용할 수 있습니다. HSPI와 VSPI에는 독립적인 버스 신호가 있습니다.
SPI | MOSI | MISO | CLK | CS |
HSPI (SPI 2) | GPIO 35 | GPIO 13 | GPIO 12 | GPIO 10 |
VSPI (SPI 3) | GPIO 35 | GPIO 37 | GPIO 36 | GPIO 39 |
인터럽트
모든 GPIO를 인터럽트로 구성할 수 있습니다.
UART 핀 - 직렬 통신
ESP32-S3는 다양한 장치와의 직렬 통신을 허용하는 여러 UART(범용 비동기식 수신기-송신기) 인터페이스를 지원합니다. ESP32는 최대 3개의 UART 인터페이스를 지원합니다:
사용 중인 ESP32 보드 모델에 따라 UART0, UART1 및 UART2입니다. I2C 및 SPI와 마찬가지로 이러한 UART는 대부분의 보드 모델에 기본 핀 할당이 있지만 모든 GPIO 핀에 매핑할 수 있습니다.
다음 표는 ESP32-S3의 기본 UART0, UART1 및 UART2 RX 및 TX 핀을 보여 줍니다:
UART Port | TX | RX | Remarks |
UART0 | GPIO 43 | GPIO 44 | Cannot be changed |
UART1 | GPIO 17 | GPIO 18 | Can be assigned to other GPIOs |
UART2 | — | — | Assign any pins of your choice |
스트래핑 핀
ESP32-S3 칩에는 다음과 같은 스트래핑 핀이 있습니다:
- GPIO 0
- GPIO 3
- GPIO 45
- GPIO 46
이 핀은 ESP32를 부트로더 또는 플래싱 모드로 전환하는 데 사용됩니다. USB/직렬이 내장된 대부분의 개발 보드에서는 이러한 핀의 상태에 대해 걱정할 필요가 없습니다. 보드가 해당 핀을 플래싱 또는 부팅 모드에 적합한 상태로 설정합니다. 그러나 프로젝트에서 이 핀을 사용하지 않는 것이 좋습니다.
활성화(EN/RST)
활성화(EN/RST)는 3.3V 레귤레이터의 활성화 핀입니다. 풀업되어 있으므로 GND에 연결하면 3.3V 레귤레이터를 비활성화할 수 있습니다. 즉, 예를 들어 푸시 버튼에 연결된 이 핀을 사용하여 ESP32를 다시 시작할 수 있습니다.
마무리
ESP32-S3 GPIO에 대한 이 레퍼런스 가이드가 도움이 되셨기를 바랍니다. ESP32-S3 GPIO에 대한 추가 팁이 있으면 아래에 댓글을 작성하여 공유해 주세요. 더 많은 ESP32 콘텐츠:
읽어 주셔서 감사합니다. 배움을 멈추지 마세요.
'ESP32' 카테고리의 다른 글
아두이노 Nano ESP32 사용 가이드 2 시작하기 (3) | 2024.10.06 |
---|---|
아두이노 Nano ESP32 사용 가이드 1 - 모든 정보 (3) | 2024.10.05 |
아두이노 Nano ESP32 사용 가이드 3 - 회로도 (2) | 2024.10.05 |
Learn ESP32 with Arduino IDE 코드 (1) | 2024.10.05 |
ESP32-S3-WROOM-1 개발보드 처음 연결 (2) | 2024.10.05 |
ESP32 아두이노 IDE 에서 사용하기 (3) | 2024.10.05 |
ESP32-C3FH4 BLE5.0/WiFi 보드 (3) | 2024.09.30 |
ESP32로 MP3 파일을 재생하는 방법 (2) | 2024.09.25 |
더욱 좋은 정보를 제공하겠습니다.~ ^^