본문 바로가기

ESP32

ESP32 WROOM 핀아웃: ESP32 GPIO 핀 사용

반응형

 

여기 있는 한 페이지에서 ESP32 핀아웃에 대한 모든 관련 정보를 찾아서 DIY 전자 프로젝트에 이 GPIO 핀을 올바르게 사용하세요. ESP32 보드에는 다양한 변형이 있지만 핀의 기능은 동일하게 유지됩니다. 그러나 모델에 따라 일부 핀을 사용할 수 없는 경우도 있습니다.

 

시중에는 다양한 핀 배열을 갖춘 ESP32 보드가 많이 있습니다. 다음은 두 가지 다른 ESP32 보드에 대한 자세한 핀 다이어그램입니다. 각 핀의 구체적인 기능을 알아두면 도움이 될 것입니다: 

 

ESP32 WROOM Generic DevKit 

 

 

uPesy ESP32 WROOM DevKit 

 

 

주의: 반드시 분명하지 않은 두 보드의 중요한 차이점은 너비입니다. uPesy ESP32 보드는 브레드 기판에 놓을 수 있으며 브레드 기판에 사용하기에는 너무 "큰" 대부분의 다른 ESP32 보드와 달리 양쪽의 핀에 액세스할 수 있습니다 ... 

 

 

ESP32의 일부 핀의 특정 동작

 

프로젝트 중 불쾌한 일이 발생하거나 코드에서 이해할 수 없는 버그가 발생하는 것을 방지하기 위해 ESP32의 일부 GPIO 핀의 제한 사항에 대해 알려드리고자 합니다.

 

ESP32 기반 개발 보드에는 일반적으로 전원 공급 장치를 제외한 33개의 핀이 있습니다. 일부 GPIO 핀에는 약간 특별한 기능이 있습니다.

 

  • ESP32 보드에 GPIO6, GPIO7, GPIO8, GPIO9, GPIO10 및 GPIO11 핀이 있는 경우 이 핀은 ESP32의 플래시 메모리에 연결되므로 사용하지 않아야 하며, 사용하면 ESP32가 작동하지 않습니다. 

 

ESP32의 플래시 메모리에 연결된 핀

 

GPIOPossible name67891011

GPIO Possible name
6 SCK/CLK
7 SDO/SD0
8 SDI/SD1
9 SHD/SD2
10 SWP/SD3
11 CSC/CMD

 

주의: 이러한 이유로 이 핀은 uPesy ESP32 보드에서 사용할 수 없습니다. 

 

  • GPIO1(TX0) 및 GPIO3(RX0) 핀은 USB를 통해 UART의 컴퓨터와 통신하는 데 사용됩니다. 이 핀을 사용하면 USB 포트를 통해 보드에 프로그램을 업로드하거나 직렬 모니터를 사용할 수 없습니다. USB 없이 외부 프로그래머를 사용하여 보드를 프로그래밍할 때 유용하게 사용할 수 있습니다. 다행히도 다른 UART 인터페이스를 사용할 수 있습니다.

 

  • GPIO36(VP), GPIO39(VN), GPIO34 및 GPIO35 핀은 입력으로만 사용할 수 있습니다. 또한 내부 풀업 및 풀다운 저항이 없습니다(핀모드(36, INPUT_PULLUP) 또는 핀모드(36, INPUT_PULLDOWN) 사용 불가).

 

  • 일부 핀은 ESP32를 시작할 때 고유한 기능을 가지고 있습니다. 이를 ESP32 스트래핑 핀이라고 합니다. 

 

 

이 핀은 ESP32를 부팅 모드(플래시 메모리에 작성된 프로그램 실행) 또는 플래시 모드(플래시 메모리에 프로그램 업로드)로 전환하는 데 사용됩니다. 이 핀에서 사용 가능한 전압에 따라 ESP32는 부팅 모드 또는 플래시 모드에서 시작됩니다.

 

스트래핑 핀은 GPIO0, GPIO2, GPIO12(MTDI) 및 GPIO15(MTDO)입니다. 이 핀들을 사용할 수 있지만 외부 풀업 또는 풀다운 저항을 사용하여 로직 상태(3.3V 또는 0V)를 설정할 때는 주의해야 합니다. 

 

팁: ESP32 보드가 올바르게 작동하지만 센서를 추가하면 더 이상 아무것도 작동하지 않는 경우(프로그램 업로드 또는 실행이 불가능함), 이 유명한 스트래핑 핀과 관련이 있을 가능성이 큽니다. 

 

  • ESP32를 부팅할 때 짧은 시간 동안 일부 핀의 로직 상태가 빠르게 변경됩니다(0V → 3.3V). 이러한 핀에는 일시적으로 활성화되는 릴레이와 같은 이상한 버그가 있을 수 있습니다. 결함이 있는 핀은 다음과 같습니다.

 

GPIO 1 : UART를 통해 ESP32 부팅 로그를 전송합니다.

GPIO 3 : 부팅 시 3.3V 전압을 전송합니다.

GPIO 5 : 부팅 시 PWM 신호를 전송합니다.

GPIO 14 : 부팅 시 PWM 신호를 전송합니다.

GPIO 15 : UART를 통해 ESP32 부팅 로그를 전송합니다. 

 

주의: 이 핀을 사용할 수 있다는 점에 유의하세요. 이러한 핀 중 하나를 사용하여 ESP32를 시작할 때 이상한 동작이 발생하면 다른 핀을 선택해야 할 것입니다. 

 

  • EN 핀은 외부 와이어를 통해 ESP32를 활성화 또는 비활성화할 수 있습니다. 이 핀은 보드의 EN 버튼에 연결됩니다. ESP32가 켜져 있으면 3.3V에 있습니다. 이 핀을 접지에 놓으면 ESP32가 꺼집니다. ESP32가 박스 안에 있고 스위치로 켜고 끄려는 경우 이 핀을 사용할 수 있습니다.

 

  • ESP32-WROVER 모듈을 사용하여 더 많은 RAM을 사용하는 보드(예: uPesy ESP32 Wrover 개발자 키트 보드)에서는 GPIO16 및 GPIO17 핀이 PSRAM에서 내부적으로 사용되므로 사용할 수 없습니다.

 

  • 다른 GPIO 핀에는 특별한 제한이 없습니다. 

 

모든 ESP32 GPIO 핀 요약 

 

GPIOINPUTOUTPUTComments01 (TX0)23 (RX0)456789101112 (MTDI)131415 (MTDO)161718192122232526273233343536 (VP)39 (VN)EN

GPIO INPUT OUTPUT Comment
0 YES (Internal pull-up) YES Must be at 0V during the FLASH
1(TXD) NO YES UART communication with the PC
2 YES (Internal pull-down) YES Must be at 0V during the FLASH
3(RXD) YES NO UART communication with the PC
4 YES YES  
5 YES YES  
6 NO NO Connected to the internal flash
7 NO NO Connected to the internal flash
8 NO NO Connected to the internal flash
9 NO NO Connected to the internal flash
10 NO NO Connected to the internal flash
11 NO NO Connected to the internal flash
12(MTDI) YES (Internal pull-down) YES Must be at 0V during the BOOT
13 YES YES  
14 YES YES  
15(MTDO) YES (Internal pull-up) YES Startup log if at 3.3V
16 YES YES Not available on WROVER
17 YES YES Not available on WROVER
18 YES YES  
19 YES YES  
21 YES YES  
22 YES YES  
23 YES YES  
24 YES YES  
26 YES YES  
27 YES YES  
32 YES YES  
33 YES YES  
34 YES NO No internal pull-up/pull-down
35 YES NO No internal pull-up/pull-down
36(VP) YES NO No internal pull-up/pull-down
39(VN) YES NO No internal pull-up/pull-down
EN NO NO Connected to the EN button (ESP32 Reset)

 

 

ESP32 주변 장치

 

모듈, 센서 또는 전자 회로와 상호 작용하기 위해 다른 마이크로 컨트롤러와 마찬가지로 ESP32에는 다양한 주변 장치가 있습니다. 기존 Arduino Uno 보드보다 훨씬 더 많은 수의 주변 장치가 있습니다. ESP32에는 다음과 같은 주변 장치가 있습니다: 

 

ESP32는 필수 작동에 이미 일부 주변 장치를 사용합니다. 따라서 실제로는 각 장치에 대해 가능한 인터페이스가 더 적습니다.

 

팁: ESP32의 핀은 아두이노의 핀보다 훨씬 더 모듈화되어 있습니다: 원하는 핀에 UART, I2C, SPI 및 PWM 주변 장치를 "연결"할 수 있습니다. SPI, I2C, UART, PWM 및 DAC는 더 이상 특정 핀과 연결되지 않습니다. 예를 들어 아두이노 우노에서는 10번, 11번, 12번, 13번 핀에만 SPI를 사용할 수 있었습니다. ESP32를 사용하면 원하는 핀을 선택할 수 있습니다. ADC와 정전식 센서만 고정 핀에 할당됩니다. 인터넷에서 제공되는 ESP32 핀아웃에는 기본 연결이 표시되어 있습니다(사용되는 핀을 지정하지 않은 경우). 전선 연결에 제한이 없는 한 외부 라이브러리와의 호환성을 유지하기 위해 기본 핀을 사용하는 것이 좋습니다. 

 

이하 원본 문서 참고 

 

UART on ESP32 부터 시작할 것

 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^